一种用于多节点数据处理系统内之单调时间同步的方法,该方法包括以下步骤:将n个节点中的一个节点指定为节点零;初始化再同步;估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期;如果所述目标节点的时间领先于所述节点零的时间,则更新所述节点零的时间;如果所述节点零的时间领先于所述目标节点的时间,则更新所述目标节点的时间;对所述多节点数据处理系统中的所有其他节点,重复上面所述步骤。(*该技术在2020年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术一般涉及数据处理系统,详细地说,涉及多处理器数据处理系统。更详细地说,本专利技术涉及可伸缩的共享存储器多处理器数据处理系统。对称多处理(SMP)和非均匀存储器存取(NUMA)体系结构为可伸缩的数据处理技术,该技术利用多处理器和共享存储器,来同时处理较大的应用程序或多个应用程序。通常通过互连对称共享存储器多处理器系统与各系统较少数目的处理器,构造可伸缩的共享存储器多处理器,其中互连保持高速缓冲的相关性。这样作会很好地利用其他现有产品或常见的高容量产品,来创建更大的系统。其结果是产生与高速缓冲相关的非均匀存储器存取多处理器(ccNUMA或简称为NUMA)。此外,诸如PowerPCTM(纽约Armonk的IBM公司的产品)之类的某些体系结构,提供单独处理器时间寄存器,该寄存器以处理器本身频率的某一除数递增,在PowerPC中,该寄存器称为“时基寄存器”。PowerPC体系结构要求多处理器系统上的时基的程序易见值单调增加,这意味着如果某个程序读取了时基,然后再次读取它,则第二次的值必须大于等于第一次的值。多处理器上时基寄存器的值必须彼此充分接近,从而如果某个程序首先在某个处理器上运行,然后在另一个上运行,则该程序读取的第二时基值大于等于第一时基值。将一个程序从一个处理器移到另一个处理器需要的时间大于103个处理器周期,而时基除数的数量级为该周期的几十倍,这会强制多节点NUMA系统,将该系统内所有处理器的时基寄存器,互相同步到大约102个时基滴答内。在本公开中,将以时基周期或时基值为单位表示时间,并且可交替使用术语“周期”和“滴答”。NUMA系统中通常没有公用振荡器,并且随着时间的推移,时基寄存器彼此漂移,因此必须周期地再同步时基寄存器。尽管某些硬件互连机制的确具有用于此目的的公用振荡器,并且其他硬件具有特定的数据包格式,但并不是总存在此类硬件,其中包格式在其负载中携带一个时间值,并在通过网络传输时增加该值。因此,需要使用标准硬件和合适逻辑的某些机制。尽管时基同步是重要的,但它在网络负载或专用硬件方面不能太昂贵。然而,仍然需要维护所需同步水平的时基同步机制。因此,最好提供用于多节点NUMA多处理器系统的时基同步系统。此外,最好在不需要专用硬件功能的情况下,与当前互连实现一起使用同步系统。同时,最好在不对系统内的互连或处理器强加显著系统开销的情况下,提供同步系统。因此,本专利技术的目的在于,提供一种用于多节点NUMA多处理器系统的时基同步系统,该系统将利用可用的互连实施,而无需专用硬件功能。本专利技术的另一目的在于,提供一种用于多节点NUMA多处理器系统的时基同步系统,该系统不会对系统内的互连或处理器强加显著的运行开销。现在说明上述目的的实现。在多节点非均匀存储器存取(NUMA)多处理器系统中,同步各节点上指定节点的同步处理器。各节点利用公知技术实现该节点上其他处理器的内部同步。因此,同步各节点上的一个处理器就足够了。作为同步管理器的指定系统节点,即节点零,估计以包格式将信息传输到系统中的特定远程节点所需要的时间。所以,将时间值从远程节点传输到节点零。根据传输时间估计,节点零将当前时间投影到远程节点上,并且与其固有时间进行比较,然后或者更新其固有时钟,以赶上领先的远程节点,或者将新时间值发送到其他节点,从而要求远程节点提前其固有时间,以赶上节点零上的时间。剩余节点上的代码通常是被动的,当请求时,响应来自节点零的数据包,并设置时基值。通过总是提前两个时基中的最落后者,以赶上较早者,保持时基的单调性。在以下详细说明中,本专利技术的上述目的、以及附加目的、特征和优点将更加显而易见。权利要求书阐明认为是本专利技术特征的独创特征。然而,通过连同附图参照以下详细说明,会充分了解本专利技术、使用的最佳模式、其他目的以及其优点,其中附图为附图说明图1是一个高级框图,表示能够实现本专利技术最佳实施方式的数据处理系统的多节点配置的三个节点;图2是一个流程图,用于同步根据本专利技术之某一实施方式的多节点NUMA系统中的节点。现在参照附图,特别参照图1,该图是一个高级框图,表示能够实现本专利技术最佳实施方式的数据处理系统的多节点配置的三个节点。数据处理系统100由多个节点组成,其中描述了三个节点100a、100b和100c。利用互连130将上述节点连接在一起。各节点具有局部总线110、111和112;一个或多个处理器(CPU)以及连接到各局部总线110、111和112的存储器121、123和125。同时,将高速缓冲和目录控制器(CDC)连接到到局部总线110、111和112以及互连130。一般技术人员可以理解图1所示的数据处理系统的一般操作。数据处理系统100仅描述了三个节点100a、100b和100c。各节点利用各节点的多处理器,并且典型NUMA系统将利用多个节点。可以理解,在任一局部总线上可以有两个、三个或更多个微处理器,并且在互连130上可以有两个、三个或更多个节点。也可以采用从典型背面板总线到全交叉接线器或其他任意可靠连接模式的许多不同方式,实现系统总线。NUMA数据处理系统的主要特性在于,将组合存储器121、123和125看作一个单一地址空间。存储器1121可以保留从0到4000的地址(地址存储单元数仅用于说明目的,不一定代表实际存储地址),而存储器2123可以保留从4000到10000的地址。例如,当CPU2102需要存取存储单元5000时,节点102a上的CDC122将该请求路由到互连130,然后节点100b上的CDC124从互连130接收该请求,并将其路由到存储器2123。NUMA系统上的任意存储器对任意节点均是可用的,并且节点100a也可以存取节点100c。将和CPU处于相同的节点上的存储器称为“局部存储器”,而将不同节点上的存储器称为“远程存储器”。所有节点无需全部具有相同的存储量或相同数目的CPU。参照表1,该表表示用于同步根据本专利技术之某一实施方式的多节点NUMA系统中之节点的算法。本专利技术是下文所提供算法的修改和扩展,“万网连接的小群集器中的性能监视(Performance Monitoringin a Myrinet-Connected Shrimp Cluster)”,Cheng Liao,MargaretMartonosi,& Douglas W.Clark,ACM Sigmetrics Symposium onParallel and Distributed Tools(SPDT),1998年8月。正如表1所示,该算法表示本专利技术的两面一面在NUMA系统之各节点上的指定节点,即节点零的同步处理器(NSP)上执行,一面在NUMA系统中各其他节点的NSP上执行。节点零智能地估计该节点以包格式将信息传输到系统中的其他特定节点所需要的时间。巧合的是,这会提供从指定节点到节点零的时间值。根据此传输时间估计,节点零将当前时间投影到其他节点上,与其固有时间进行比较,然后或者更新其固有时钟,以赶上领先的远程节点,或者将新时间值发送到其他节点,从而通知该节点提前其固有时间,以赶上节点零上的时间。其他节点上的代码大部分是被动的,当请求时,响应来自节点零的数据包,并设置时基值。在表1所示的算法中,令n为系统中的节点数,E本文档来自技高网...
【技术保护点】
一种用于多节点数据处理系统内之单调时间同步的方法,该方法包括以下步骤: 将n个节点中的一个节点指定为节点零; 初始化再同步; 估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期; 如果所述目标节点的时间领先于所述节点零的时间,则更新所述节点零的时间; 如果所述节点零的时间领先于所述目标节点的时间,则更新所述目标节点的时间; 对所述多节点数据处理系统中的所有其他节点,重复上面所述步骤。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:弗里曼利劳森三世,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。