利用转换后备缓冲器选中的多处理器系统和方法技术方案

技术编号:2856091 阅读:161 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种多处理器系统(AP1,AP2)和方法,其中多个存储单元(TS1-TS3)用于分别为多个处理器(p1-p3)存储TLB选中数据。与其中单个存储区域用于所有处理器的TLB选中数据的系统相对比,不同的处理器可以描述它们想要并发地释放的存储器。从而,并发TLB选中请求就不怎么可能导致性能限制的TLB选中争用,所述TLB选中争用以前约束了多处理器系统的可扩展性。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及把TLB(translation look-asidebuffer,转换后备缓冲器)选中(shootdown)作为存储器管理模式的一部分而使用的多处理器系统。本专利技术的主要目的是提供一种能够随着多处理器系统中大量处理器而很好地扩展的TLB选中方法。
技术介绍
许多现代计算机系统使用虚拟存储器模式来把在这些系统上运行的计算机程序的存储器需求与可用存储器资源相匹配。典型地,操作系统把虚拟存储器地址“页面”分配给每个程序,并且把这些虚拟存储器页面分配给物理存储器页面,优选是在固态随机存取存储器(RAM)中的物理存储器页面,当超出RAM容量时根据某种优先级来把额外的虚拟存储器页面分配给硬盘单元。把虚拟存储器分配存储在页表中,典型情况下是在RAM的页表中。因此,每当需要读取虚拟存储器分配时,处理器不必对主存储器执行费时的访问,可以把最近使用的页表分配的拷贝高速缓存到转换后备缓冲器TLB。典型地,当程序终止时,可以使被分配给所述程序的一些虚拟存储器用于其它程序。操作系统可以命令运行所述程序的处理器解除分配在页表中不再需要的虚拟存储器页面。然后必须清除该处理器和多处理器系统中的任何其它处理器的任何相应的TLB条目,以便所有的TLB与所述页表是相一致的。为此,处理器可以把它的TLB选中写入主存储器中的专用单元,并且向其它处理器发送中断,然后所述其它处理器读取TLB选中数据,相应地清除它们的TLB,并且当完成清除时报告。然后可以释放所解除分配的虚拟存储器以便再分配。可以使用各种封锁(lockout)机制以便防止处理器在另一处理器使用TLB选中存储单元时,把TLB选中数据写入所述TLB选中存储单元。封锁的处理器在其开始自己的TLB清除之前要等到第一TLB清除完成。“等待”实际上可能包括大量的再检查,这可能消耗系统带宽。随着处理器数目增加,频率竞争、等待周期和带宽消耗都增加,这限制了可扩展性。所需要的是一种能随着多处理器系统中处理器数目而很好地扩展的TLB选中方法。
技术实现思路
本专利技术提供了一种多处理器系统和方法,其中多个存储单元存储分别用于多个处理器的TLB选中数据。本专利技术的主要优点是处理器不必“轮流”写入它们的TLB选中列表。与其中单个存储区域用于所有处理器的TLB选中数据的系统相对比,不同的处理器可以描述它们想要并发地释放的存储器。这在具有许多处理器的多处理器系统中变得更为重要,这是因为并发TLB选中的可能性的随处理器的数目增加而快速增加。参考下列附图通过描述本专利技术的这些及其它特征和优点将变得显而易见。附图说明在下图中举例说明了本专利技术的具体实施例,所述附图并非是本专利技术本身的描绘。图1描述了依照本专利技术的多处理器计算机系统。图2是在图1的系统环境中实施的本专利技术方法的流程图。图3是示出显式并行性的图2的一部分方法的流程图。图4描述了依照本专利技术的另一多处理器计算机系统。具体实施例方式多处理器计算机系统AP1包括三个处理器节点N1、N2和N3,易失性物理存储器11、硬盘13和信号路由器15。系统AP1包括三个节点,这足以解释本专利技术。然而,对于具有更多节点(例如48或更多)的实施例,本专利技术的临界优点更大。节点N1包括处理器P1、TLB T1和高速缓存器C1。同样,节点N2包括处理器P2、TLB T2和高速缓存器C2。此外,节点N3包括处理器P3、TLB T3和高速缓存器C3。在处理器P1-P3之间和在处理器和存储器11之间的数据通信经由信号路由器15进行;另外,经由信号路由器15发送中断。硬盘13向系统AP1提供非易失性的长期储存。所述硬盘可以存储操作系统OS、包括程序PR1-PR4的程序、非易失性数据DN和上溢虚拟存储器页面VMO(overflow virtual-memory page)(发生在物理存储器太小而不能适合所有请求的虚拟存储器时)。当启动系统AP1时,操作系统OS的一部分驻留在物理存储器11的操作系统空间OSS中。操作系统OS还为进程存储器表21、页表23和TLB选中列表TS1、TS2和TS3保留存储空间。列表TS1、TS2和TS3用于为节点N1、N2和N3存储各自的选中数据;这些列表提供标志F12、F13、F21、F23、F31和F32,所述标志表明对于每个请求节点和响应节点的组合是否已经完成所请求的选中。存储器11的大部分是可分配给程序PR1-PR4使用的物理存储器25。在此例子中,在节点N1上启动程序PR1。操作系统OS请求为程序PR1保留虚拟存储器块,把此虚拟存储器到程序分配存储在进程存储器表21中。操作系统OS检查物理页表23以便发现可分配的物理存储空间25的空闲区域,相应地向空闲的物理存储空间PS1分配所请求的虚拟存储器页面;然后处理器P1把空间PS1标记为不可用的且为处理器P1所占有。然后在节点N2上启动程序PR2。操作系统OS检查虚拟页表21中的空闲虚拟存储器页面,并且将其中的一些分配给程序PR2。在处理器P2上运行的操作系统OS的实例检查物理页表23中空闲的物理存储器页面;由于空间PS1被标记为不可用的,所以处理器P2选择空闲空间PS2,然后所述空闲空间PS2被标记为由处理器P2所占有。在节点N3上启动程序PR3;不能将其所要求的虚拟存储器空间分配给空间PS1或PS2,因此将其分配空间PS3,然后把所述空间PS3标记为不可用的且为处理器P3所占有。剩余可分配的存储空间25保持可用于将来分配。所分配的空间可以用于驻留于存储器的程序代码和临时数据。在此,依照本专利技术的方法M1适于所述示例;在图2中用流程图表示方法M1。在步骤S1,程序PR1终止。操作系统OS根据进程存储器表21确定能够使一些虚拟存储器页面变为可用,原因在于所述程序PR1已不再需要它们。(可能有一些由程序PR1使用的虚拟存储器页面不能被释放,这是因为与另一程序共享这些页面)。操作系统OS命令节点N1释放虚拟存储器以便再分配。相应地,节点N1解除分配物理页表23中的虚拟存储器空间,但是通过相应的条目来保持所有权。然后在步骤S3操作系统OS命令节点N1清除与所解除分配的虚拟存储器空间有关的任何条目的TLB T1。然后在步骤S4节点N1把要清除的地址写入选中存储空间TS1。在步骤S5,节点N1通过激活中断并且置对应于存储空间TS1的向量为有效,来广播对TLB选中的请求。在步骤S6,节点N2和N3通过从空间TS1读取选中说明并且执行所表明的清除来响应所述请求。在步骤S7,每个接收处理器N2、N3通过设置专用标志F12和F13(如图1中所示)来报告成功完成所述清除。节点N1可以重复检查标志F12和F13。在步骤S8,一旦设置所有标志,节点N1可以通过读取标志F12和F13来检测已经满足选中请求。作为响应,在步骤S9,节点N1释放所指定虚拟地址的所有权,以便所述虚拟地址可用于再分配。在图2中,步骤S5、S6和S7具有在括号中所描述的附加动作。目的在于示出所举例说明的实施例怎样处理并发TLB选中请求。例如,节点N2可以请求与步骤S5并发的TLB选中。当节点N1等待对其TLB选中请求的响应时,可以由所述节点N1接收此请求。在没有来自节点N2的请求的情况下,节点N1会定期检查存储空间TS1的标志状态,以便确定响应于本文档来自技高网
...

【技术保护点】
一种多处理器计算机系统,包括:多个节点,包括第一和第二节点,每个节点具有处理器和TLB的至少一个组合;和用于存储TLB选中数据的多个存储单元,所述单元包括第一和第二单元,如果所述第二节点同时或在所述第一节点发布对TLB选中的 第一请求之后但是在完成所述第一请求之前发布对TLB选中的第二请求,那么所述第一单元存储由所述第一节点指定的TLB选中数据,而所述第二单元存储由所述第二节点指定的TLB选中数据。

【技术特征摘要】
US 2004-7-30 10/9032001.一种多处理器计算机系统,包括多个节点,包括第一和第二节点,每个节点具有处理器和TLB的至少一个组合;和用于存储TLB选中数据的多个存储单元,所述单元包括第一和第二单元,如果所述第二节点同时或在所述第一节点发布对TLB选中的第一请求之后但是在完成所述第一请求之前发布对TLB选中的第二请求,那么所述第一单元存储由所述第一节点指定的TLB选中数据,而所述第二单元存储由所述第二节点指定的TLB选中数据。2.如权利要求1所述的系统,其中所述第一和第二处理器以各自第一和第二中断的形式发布TLB请求,所述第一和第二中断各伴随分别表示所述第一和第二存储单元的第一和第二向量。3.如权利要求1和2所述的系统,其中所述第一节点只发布具有指向所述第一存储单元的向量的TLB选中请求。4.如权利要求1、2和3所述的系统,其中所述...

【专利技术属性】
技术研发人员:JK罗斯D莫里斯
申请(专利权)人:惠普开发有限公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利