当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于范围保护的系统、方法和装置制造方法及图纸

技术编号:18609892 阅读:71 留言:0更新日期:2018-08-04 22:54
用于范围保护的系统、方法和装置。在一些实施例中,一种装置包括:至少一个监测电路,用于监测对地址空间的存储器访问并且在对所述地址空间的违例时采取动作,其中,所述动作是以下各项之一:向请求了所述监测的节点生成通知;生成所述错误请求;在所述归属节点的特定上下文中生成通知;以及在具有所述地址空间的所有权的节点中生成通知;至少一个保护表,用于存储所述地址空间的标识符;以及至少一个硬件核,用于执行用于启用所述监测电路的指令。

【技术实现步骤摘要】
【国外来华专利技术】用于范围保护的系统、方法和装置
本专利技术的领域总体上涉及计算机处理器架构,并且更具体地,涉及当被执行时引起特定结果的指令。
技术介绍
指令集架构(ISA)的扩展为软件提供了与事务存储器(TM)支持一起工作的接口。基本目标是通过提供硬件方案来加速多线程工作负载,所述硬件方案使这些工作负载通过锁省略执行某组操作。TM的商业示例是硬件锁省略(HardwareLockElision,HLE)和受限事务存储器(RestrictedTransactionalMemory,RTM)。HLE扩展添加了两个新的指令前缀XACQUIRE和XRELEASE。基本概念是:线程执行XACQUIRE、任意指令流加上XRELEASE。逻辑上,此段可以被看作“lock();Instructions();unlock()(锁定();指令();解锁())”。即使一个线程可能正在执行此段,其他线程也将此段视为是空闲的。如果处理器检测到违例(意味着其他线程进入临界段),则正在进行的事务被中止,并且线程重新启动来自XACQUIRE的指令流。在未检测到违例的情况下执行XRELEASE之后,所有指令被提交。TSX是用于改进大量线程访问较小但频繁共享的地址和代码流的软件系统的一种良好的基于硬件的解决方案。然而,这种机制应用于一致性域(即,通过UPI连接的多套接字系统)内。随着数据集的量增大,诸如数据库等事务软件需要能够通过诸如结构(fabric)等高速互连对若干共享存储器系统进行操作。可能存在数十个经由互连连接的这些系统,并且这些系统将跨越不同的一致性域(域可以是单个系统或一组系统)。附图说明本专利技术是通过示例说明的,并且不局限于各个附图的图示,在附图中,相同的参考标号表示类似的元件并且其中:图1展示了支持远程监测的系统的实施例;图2展示了标签目录的实施例;图3展示了对保护范围的使用的示例性实施例;图4展示了用于处置远程监测违例的两个实施例;图5展示了在接收侧使用保护范围的示例性实施例;图6展示了在接收侧使用解除保护范围的示例性实施例;图7展示了使用保护范围和解除保护范围进行的初始化和最终化流程的示例;图8展示了用于由未请求监测的核(非始发核)处置冲突的方法的实施例;图9展示了处置冲突的示例。在本示例中,设置(保护范围)已经发生;图10展示了可能潜在地在软件可靠性和可调试性方面引起巨大问题的情况的示例;图11展示了具有范围违例的情况的示例;图12是根据本专利技术一个实施例的寄存器架构的框图;图13A是展示根据本专利技术的各实施例的示例性有序流水线和示例性的寄存器重命名的乱序发布/执行流水线的框图;图13B是示出根据本专利技术的各实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核的框图;图14A至图14B展示更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块(包括相同类型和/或不同类型的其他核)中的一个逻辑块;图15是根据本专利技术的实施例的可具有多于一个的核、可具有集成存储器控制器、以及可具有集成图形器件的处理器的框图;图16至图19是示例性计算机架构的框图;以及图20是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式在下面的描述中,阐述了许多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实践本专利技术的实施例。在其他实例中,没有详细示出众所周知的电路、结构和技术,以避免模糊对本说明书的理解。在说明书中提到“一个实施例”、“实施例”、“示例实施例”等表明所描述的实施例可以包括特定特征、结构、或特性,但每一个实施例可能不一定包括所述特定特征、结构、或特性。而且,此类短语不一定指相同的实施例。另外,当结合实施例来描述特定特征、结构或特性时,应理解,无论是否予以显式地描述,结合其他实施例来实行此特征、结构或特性在本领域的技术人员的知识范围内。在改进存储器、存储设备、结构和互连技术方面的大量投资已经产生了分布式共享存储器系统(DSM)满足企业和大数据应用的需求的可能性。在结构等待时间预计达到约存储器等待时间内的情况下,分布式共享存储器系统可以为结构上的服务器集群提供大型的、单一地址空间;从而为“纵向扩展(scale-up)”节点控制器系统提供可伸缩的、具有成本效益的替代方案。这些节点控制器将提供对如NVM或NBOD等存储和存储器技术和协议的访问。然而,DSM的缺点之一是应用的存储器引用的高速缓存一致性问题。对于企业或大数据应用,诸如在系统上运行的每进程栈和临时存储设备等几种类型的存储器引用无需是一致的。另一方面,通常存在其中应用需要确保一致性的代码段(例如:用于事务处理的临界段)。为了实施一致性,由下一代数据中心提供基于硬件方案的新软件方案。因此,使用某些硬件功能的软件栈将向应用提供在数据中心中运行的不同进程和线程之中实施一致性或相容性的方式。企业应用趋于高度复杂。因此,这些应用依赖于使用数百万代码行来编码的许多不同组件。这些应用通常是多线程的。在许多情况下,这些应用同时与数千个线程一起运行并且与DSM一起运行,所有这些线程将可能跨数十个服务器共享同一个地址空间。在这种环境中,相对于当前架构,(应用或函数库中)具有与对错误存储器区域进行访问的线程相关的软件错误的概率将高得多。因此,用于保护和检测这种存储器访问的暴露机制将是软件采用和未来DSM架构成功的基础。在不具有硬件支持的情况下,在跨数十个节点的数千个线程之中仲裁或检测DSM中的存储器损坏将是一项单调乏味或不可能完成的任务。本文中详述了用于防止使用DSM的不同线程之间的存储器损坏的实施例。可以在违例将要发生时经由页错误通知执行违例的线程,并且所述线程可以使所述违例不会发生。在许多实例中,这有助于防止如迷途(stray)指针或缓冲器溢出等软件错误生成DSM中的存储器损坏。这允许在一个节点中运行的线程使用指定访问模式来保护归属于另一节点的给定存储器区域。由集群中的任何其他线程完成的任何访问都应当生成错误并且将信息传播至系统。图10展示了可能潜在地在软件可靠性和可调试性方面引起巨大问题的情况的示例。数据库具有在节点01001、节点11003和节点21005中运行的线程。节点11003将存储器暴露于节点01001和节点21005。节点01001和节点21005具有访问远程存储器的两个线程1009、1011和1013、1015。数据库软件栈向线程01009分配对[a,b]的访问,向线程11011分配对[b+1,c]的访问,并且向线程21013和线程31015分配对[e,f]的访问。由于软件错误实现(例如,损坏指针或缓冲器溢出),线程21013意外地生成结束了旨在(理论上)由线程01109专用的地址空间的存储器引用。这会导致存储器损坏。通过本文中详述的实施例,硬件将允许数据库保护线程0、1、2和3正在访问的不同存储器区域中的每一个。图11展示了具有范围违例的情况的示例。在本示例中,线程2在线程1的地址空间中进行的放置(put)将表示违例。在本实例中,页错误将被表示。本文中详述了允许软件线程指定给定指令集被绑定至对某个存储器范围的特定类型访问的接口(指令)。由(一致性域中或外部的)任何其他线程在本文档来自技高网...

【技术保护点】
1.一种设备,包括:至少一个监测装置,用于监测对地址空间的存储器访问,并且在对所述地址空间的违例时采取动作,其中,所述动作是以下各项之一:向请求了所述监测的节点生成通知;在归属节点的特定上下文中生成通知;以及在具有所述地址空间的所有权的节点中生成通知;至少一个保护表,用于存储所述地址空间的标识符;以及至少一个硬件核,用于执行用于启用所述监测电路的指令。

【技术特征摘要】
【国外来华专利技术】2015.12.29 US 14/983,0871.一种设备,包括:至少一个监测装置,用于监测对地址空间的存储器访问,并且在对所述地址空间的违例时采取动作,其中,所述动作是以下各项之一:向请求了所述监测的节点生成通知;在归属节点的特定上下文中生成通知;以及在具有所述地址空间的所有权的节点中生成通知;至少一个保护表,用于存储所述地址空间的标识符;以及至少一个硬件核,用于执行用于启用所述监测电路的指令。2.如权利要求1所述的设备,其中,所述指令包括基址、存储器大小粒度、跟踪粒度、模式、所述地址空间的作为所述粒度的倍数的大小、以及所述动作。3.如权利要求2所述的设备,其中,所述存储器大小粒度是高速缓存行、页、大页、或巨大页之一。4.如权利要求2所述的设备,其中,所述跟踪粒度取决于节点组的数量。5.如权利要求2所述的设备,其中,所述模式是读取和写入之一。6.如权利要求1至5中任一项所述的设备,其中所述装置包括:高速缓存代理装置,用于处理来自所述多个硬件核中的至少一个的存储器请求;以及归属代理装置,用于处理来自所述高速缓存代理的存储器请求并且作为所述设备的存储器空间的一部分的归属。7.如权利要求1至6中任一项所述的设备,进一步包括:缓冲器,用于存储作为通过执行所述指令发起的事务的一部分的远程存储请求。8.一种方法,包括:在核中执行指令以引起:向第一代理连接发送用于监测对地址空间的访问的监测请求,其中,所述请求包括基址、存储器大小粒度、跟踪粒度、模式、所述地址空间的作为所述粒度的倍数的大小、以及动作,其中,所述动作是以下各项之一:向请求了所述监测的节点生成通知;生成错误请求;在所述归属节点的特定上下文中生成通知;以及在具有所述地址空间的所有权的节点中生成通知;向第二代理连接发送所述监测请求供所述第二代理连接将所述监测请求作为多播消息而广播至所述第二代理连接的套接字中的所有核以发起监测,从所述第二代理连接接收对...

【专利技术属性】
技术研发人员:F·圭姆伯纳特K·库马T·威尔豪姆R·K·拉马努金R·G·布朗肯希普
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1