高速缓存一致性控制方法、系统和程序技术方案

技术编号:8983325 阅读:214 留言:0更新日期:2013-08-01 02:05
本发明专利技术实现了高速缓存一致性控制,其中共享存储器类型多处理器系统的可缩放性得到提高,并且成本性能通过抑制硬件和软件的成本而得到改善。在一种用于控制多处理器系统的高速缓存一致性的系统中,在该多处理器系统中,包括高速缓存和TLB的多个处理器共享系统存储器,多个处理器中的每个处理器包括TLB控制单元,该TLB控制单元进一步包括:执行TLB搜索的TLB搜索单元;以及在无命中获得于TLB搜索中并且产生TLB中断时执行TLB注册信息处理的一致性处置器。一致性处置器包括:用于执行对系统存储器的页面表的搜索并且对TLB注册信息执行替换的TLB替换处置器;用于处置TLB未命中中断的TLB未命中异常处置单元,该TLB中断是在TLB中断不是由页面错误引起、但是匹配地址的注册信息未存在于TLB中时发生;以及用于处置存储中断的存储异常处置单元,该存储中断是在匹配地址的注册信息存在于TLB中、但是访问授权被违反时发生。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及高速缓存一致性控制,并且具体地涉及一种用于控制共享存储器多处理器的高速缓存一致性的方法、系统和程序。
技术介绍
多处理器系统同时执行多个任务或者过程(下文称为“过程”)。该多个过程中的每个过程通常具有用于在执行该过程时使用的虚拟地址空间。在这样的虚拟地址空间中的位置包含映射到系统存储器中的物理地址的地址。对于系统存储器中的单个空间来说,被映射到多处理器中的多个虚拟地址并不罕见。在多个过程中的每个过程使用虚拟地址时,这些地址被转译成系统存储器中的物理地址,并且如果无恰当指令或者数据存在于处理器中的高速缓存中以用于执行每个过程,则它们被从系统存储器提取并且存储在高速缓存中。为了将多处理器系统中的虚拟地址快速转译成系统存储器中的物理地址并且获得恰当指令或者数据,使用与高速缓存有关的所谓转译旁视缓冲器(translationlook-aside buffer, 下文称为“TLB”)。TLB是如下缓冲器,该缓冲器包含使用转译算法生成的物理地址与虚拟地址之间的转译关系。TLB的使用能够实现很高效的地址转译;然而,如果在对称多处理(下文称为“SMP”)系统中使用这样的缓冲器,则会产生不一致问题。对于其中多个处理器可以从共享系统存储器读取信息和向共享系统存储器写入信息的数据处理系统,必须谨慎保证存储器系统以一致的方式操作。也就是说,不允许由于多个处理器执行的过程而造成存储器系统的不一致。在这样的多处理器系统中的每个处理器通常包含用于在与高速缓存有关的地址转译中使用的TLB。为了维持一致性,在这样的系统中的共享存储器模式必须谨慎地并且无任何不一致地将多处理器中的单个处理器的TLB上的改变映射到其它处理器的TLB。对于多处理器,可以例如通过在对所有TLB的修改中使用处理器间中断和软件同步来维持TLB的一致性。这一技术可以保证在整个多处理器系统内的存储器一致性。在典型的页面存储器系统中,多处理器系统中的每个TLB的内容反映与在系统存储器中保持的页面表的内容的高速缓存有关的分节。页面表一般是如下存储器映射表,该存储器映射表包含虚拟地址或者其分段和与它们关联的物理地址。这样的页面表通常还包含其它各种类型的管理数据,包括页面保护比特、有效条目比特和各种访问比特。例如,可以将显式地指示一致性的必要性(存储器一致性必需属性)的比特定义为管理数据以静态地配置页面是否真正地需要一致性。然而,仅在被允许可重写以软件控制高速缓存的一些特殊程序中高效使用这一静态配置方法,因为除了静态配置上述比特的必要性之外,还必须在整个系统存储器中静态配置这样的比特。近年来,具有多个中央处理单兀(CPU)和SMP-Linux (Linux是Linus Torvalds在美国和其它国家的商标)的台式个人计算机(PC)已经变得流行,并且许多应用程序已经支持共享存储器多处理器、也就是SMP系统。因此,在系统中的处理器数目增加提高应用程序的吞吐量而无需重写软件。促进支持SMP的通用操作系统(OS)、例如SMP-Linux已经被升级成可以控制不少于1024个处理器的OS。可以通过增加处理器数目来提高吞吐量而不需要重写软件的特征是在不共享存储器的多处理器系统、诸如使用消息传递编程的群集中不存在的优点。因而,SMP是适合于保护软件资产的多处理器系统。然而,SMP系统的可缩放性低于基于消息传递的群集的可缩放性。这是因为支持高速缓存一致性的硬件的成本随着SMP系统的处理器数目增加而明显增加以提高可缩放性。用于SMP系统的高速缓存一致性的硬件支持的示例可以包括在台式PC的共享总线中使用并且由便宜硬件实现的修改的、排他的、共享的、无效的(MESI)窥探(snoop)协议和在大规模分布式共享存储器(DSM)中的高速缓存一致、非均匀存储器访问(下文称为“CC-NUMA”)中使用并且由将特殊节点间连接与例如协议处理器和目录存储器集成的昂贵硬件实现的基于目录的协议。使用CC-NUMA的处理器的数目增加造成硬件成本增加,因此多处理器的成本性能随着处理器数目增加而减少。也就是说,CC-NUMA的经济可缩放性低。与这一点相反,由于群集可以由标准部件制成,所以用于群集的每处理器的硬件成本比用于需要专用部件的CC-NUMA的每处理器的硬件成本更便宜。具体而言,如果具有每处理器的恒定硬件成本的群集使用消息传递接口来重写具有高并行性的复杂并行应用程序,则该群集可以执行大规模并行处理。非专利文献I描述一种基于虚拟存储器(VM)的共享存储器技术,该技术利用包括在处理器中的存储器管理单元(下文称为“MMU”)中的硬件来提高SMP系统的可缩放性和成本性能。这一技术应用于在非专利文献2中描述的可以使用与群集的硬件一样便宜的硬件的非高速缓存一致NUMA (下文称为“NCC-NUMA” )。基于VM的共享存储器技术处理在相同过程中的高速缓存一致性,但是它不能处理不同过程之间的高速缓存一致性。具体而言,由于对于支持虚拟地址并且使用在写入时复制的技术来管理存储器的通用OS而言将相同物理页面映射到多个过程是常见的,所以基于VM的共享存储器技术所适用的数据限于保证应用程序不被不同过程共享的数据,并且不能实施对应用程序透明的高速缓存一致性。换而言之,显式地指示多个处理器共享的相同虚拟地址空间的数据的必要性发生,并且为了将该技术应用于现有软件,有必要重写应用程序,因此造成与它有关的附加软件成本。因而,基于VM的共享存储器技术不能应用于通用计算机,并且该技术的适用性限于允许重新设计程序的具体使用和科学计算。专利文献I描述一种主存储器共享型多处理器,其中通过提供物理页面映射表来添加少量硬件可以消除或者显著减少对广播TLB清除事务以在重写页面表时控制TLB—致性的需要,并且可以消除或者显著减少网络和节点中的总线以及与TLB清除关联的处理器的流水线栈中的业务。专利文献2描述例如实现响应于数据传送指令、诸如MOV指令而访问内容可寻址存储器、诸如高速缓存存储器(CACHE-M)或者地址转译缓冲器(TLB)并且使条目无效的操作。专利文献3描述引入一对软件指令以通过软件、即页面错误处置器来实现直接插入转译信息、诸如地址转译对,该页面错误处置器能够向页面目录中插入转译信息并且向TLB中插入该信息,而且保证在完成页面错误 处置器例程的执行之后,在下次提供相同虚拟地址时发生TLB命中(hit)而不是TLB未命中(miss)。日本待审专利申请公开号2000-67009日本待审专利申请公开号8-320829日本待审专利申请公开号62-3357 Karin Petersen and Kai Li, " Cache Coherence for Shared MemoryMultiprocessors Based on Virtual Memory Support, " In Proceedings of theSeventh International Parallel Processing Symposium, Newport Beach, CA, 1993 年 4月,pp.1-18Leonidas Kontothanassis, et al., " Shared Memory Computingon Clusters wi本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:上田真
申请(专利权)人:国际商业机器公司
类型:
国别省市:

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

1