CN1314643A - 非均匀存储器存取系统的近似的单调时间同步方法和系统 - Google Patents

非均匀存储器存取系统的近似的单调时间同步方法和系统 Download PDF

Info

Publication number
CN1314643A
CN1314643A CN00135253A CN00135253A CN1314643A CN 1314643 A CN1314643 A CN 1314643A CN 00135253 A CN00135253 A CN 00135253A CN 00135253 A CN00135253 A CN 00135253A CN 1314643 A CN1314643 A CN 1314643A
Authority
CN
China
Prior art keywords
node
time
zero
value
destination node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN00135253A
Other languages
English (en)
Other versions
CN1151437C (zh
Inventor
弗里曼·利·劳森三世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1314643A publication Critical patent/CN1314643A/zh
Application granted granted Critical
Publication of CN1151437C publication Critical patent/CN1151437C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种用于多节点数据处理系统内之单调时间同步的方法,该方法包括以下步骤:将n个节点中的一个节点指定为节点零;初始化再同步;估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期;如果所述目标节点的时间领先于所述节点零的时间,则更新所述节点零的时间;如果所述节点零的时间领先于所述目标节点的时间,则更新所述目标节点的时间;对所述多节点数据处理系统中的所有其他节点,重复上面所述步骤。

Description

非均匀存储器存取系统的 近似的单调时间同步方法和系统
本发明一般涉及数据处理系统,详细地说,涉及多处理器数据处理系统。更详细地说,本发明涉及可伸缩的共享存储器多处理器数据处理系统。
对称多处理(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为系统中的节点数,Ertt为互连上从某个节点到另一节点然后回到原处的期望往返时间值,STDrtt为标准偏差,而MINrtt为往返时间值的绝对最小值。上述各值为基于互连机制设计的设计时间值。作为观察值的Di,为节点i上的NSP的漂移,其中Di的符号表示相对于节点零的NSP的漂移方向。负号表示节点i上的NSP的时基滞后或落后于节点零的时基,而正号表示该时基领先于节点零的时基,即在其前面。
再同步总是由节点零发起的,并且其目标为系统中的特定非零节点。根据节点零以及目标节点彼此之间的漂移,调整再同步间隔。令Xi为节点i的交叉节点再同步间隔,其中未定义X0。Xi的初始值为设计时间参数,并且反映所有节点上NSP之时基的期望漂移值。
为了进一步降低同步的系统开销,该算法能够在适当时候降低再同步的频率,并在需要时增加频率。该自适应在节点零和单一目标节点之间是双向的。相对于节点零漂移很快的节点,其再同步频率比漂移较慢的节点的再同步频率要高。UTHRES为上阈值,该值表示节点零和目标节点之间的误差太大,应提高再同步频率。LTHRES为下阈值,该值表示节点零和目标节点之间的误差足够小,以至应降低再同步频率。XNMORE为用于增加交叉节点同步频率的因子,而XNLESS为用于减少交叉节点同步频率的因子。
现在参照表2,该图表示在用于同步根据本发明之某一实施方式的多节点NUMA系统中之节点的过程中,从节点零到节点k然后回到原处的往返时间的计算。必须确定用于估计到节点k之往返时间(RTTk)的当前值的节点零和节点k上的机制。在每个节点再同步时估计此RTT值。
本质上,该伪码通过使节点零保存TS(发送的时间),并发送到目标节点(此时为节点k),确定平均时间。节点零从节点k接收包括节点k之时间值Tk的应答数据包,然后将RTT设置为节点k的数据包的到达时间减去TS。如果RTT无效,例如,时间为负,则节点零放弃此再同步,并且重新开始等待节点k的同步到期。将RTT与标准偏差STDrtt的3倍以及往返时间值的绝对最小值MINrtt进行比较,以进一步确定其有效性。如果RTT有效,则将RTTk增加RTT。将此过程重复n次,其中n是设计互连时确定的固定次数。在第n遍结束时,将RTTk的值设置为计算值的n分之一。
在本发明中,同步是在数据处理系统的内部进行的。在一个相对小的范围内,保留时基寄存器的时间值,而没有调整节点所参照的外部时间源。不需要特定的数字设置,因此,可以以时基周期或时基值为单位来表示时间。单调性要求时基寄存器的调整只能增加其值,而不能降低其值。硬件一般允许在时基寄存器中设置任意值。尤其是,改变时基寄存器并不会将其强行复位到零。然而,存在不遵守此假设的处理器(如,加利福尼亚州San Jose的英特尔公司的IA-32处理器)。
NUMA系统由许多互连节点组成。该互连具有将一个数据包从一个节点发送到另一节点然后回到发起节点所需往返时间之期望值的明确定义的、由设计确定的数值,以及往返时间的标准偏差。同时还有一个明确定义的往返时间的绝对最小值。此外,假设该互连大致是对称的,从而如果往返时间是RTT,则从发送节点到目标节点的传输时间为RTT/2。
各NUMA节点可以是一个SMP系统,并且该NUMA系统中有一个指定的节点零,作为同步算法中的管理器。本发明可同步系统中的NSP,并且假定某些现有机制可参照该节点的NSP,同步节点中的剩余处理器。NUMA系统的各节点具有一个指定的NSP处理器,后者参与同步。各NSP可以具有其特有的振荡器,并且NSP时基寄存器可以相对于其他寄存器进行正向漂移或反向漂移。通常,振荡器是精确的,并且漂移率很小。
现在参照图2,该图示出一种方法,用于同步根据本发明之某一实施方式的多节点NUMA系统中的节点。有关本发明的伪码结构,请参照表1。该过程从步骤402开始,步骤402说明交叉节点间隔的初始化。然后,该过程进行到步骤404,后者说明等待特定的交叉节点间隔到期。此时,交叉节点间隔k首先到期。过程进行到步骤406,该步骤表示估计节点零和节点k之间的往返时间(RTTk)。利用表2所示方法完成此估计。
接着,过程进行到步骤408,该步骤确定步骤406生成的RTTk是否有效。同步依赖于以下时间的精确估计,即携带时间信息的数据包到达其目的所需要的时间。由于此时间受各种网络条件的影响,所以使用最近的数据包往返时间来估计下一数据包的传送时间。如果该数据包往返时间在设计期望值周围呈正态分布,则几乎所有往返时间将在设计期望值的三个标准偏差内。为了确保RTTk的值是预测下次发送的数据包之行为的值,使用多个有效估计数据包是很重要的。
如果确定RTTk无效,则过程进行到步骤410,该步骤表示重新开始等待交叉节点间隔k(Xk)。如果确定RTTk有效,则过程转到步骤412,该过程表示系统确定节点k上的当前时间。接着,过程进行到步骤414,该步骤确定T0是否小于等于节点k的当前时间(CTk)。如果节点零上的时间T0小于等于节点k的当前时间,则过程进行到步骤416,该步骤将节点零的时基设置为节点k的当前时间。如果在步骤414中确定节点零上的时间大于节点k的当前时间,则过程转到步骤418,该步骤从节点零上的时基寄存器中,重新读取时间值。过程继续到步骤420,该步骤将新的时基值发送到节点k,从而实现了节点k与节点零的再同步。
接着,过程进行到步骤422,该步骤确定各节点时基的漂移速率。如果节点时基漂移很快,则过程进行到步骤424,该步骤降低再同步间隔,这是由于节点零和目标节最之间的误差太大的缘故。然后,过程进行到步骤410。
如果节点时基漂移较慢,则过程转到步骤426,该步骤增加再同步间隔,这是由于节点零和目标节点之间的误差很小,所以应降低再同步频率。然后,过程进行到步骤410,该步骤重新开始节点k的交叉节点同步间隔Xk的等待周期。过程继续到步骤404,该步骤等待交叉节点间隔到期,并重复再同步过程。
本发明依赖于以下时间的精确估计,即携带时间信息的数据包到达其目的所需要的时间。由于此时间受各种网络条件的影响,所以使用最近的数据包往返时间来估计下一数据包的传送时间。通过在检测到严重过载时省略再同步,本发明避免了在严重过载期间进行再同步。如果数据包往返时间在设计期望值周围呈正态分布,则大部分数据包会处在该值的三个标准偏差内。由于漂移较小,所以对于出现的有效漂移,互连必然严重过载。为了确保RTTk的值预测下次发送的数据包的行为,使用少数估计数据包是很重要的。
通过总是提前两个时基中的落后者以赶上较早者,本发明保持了时基的单调性。调整节点零会导致其他节点上之时基的临时漂移,但是会在下次再同步时改正。如果漂移较小,则时基值中的调整也会较小。可以对本发明添加一种功能,以允许一个节点预测它相对于节点零的漂移。
重要的是要注意到,尽管在功能完整的数据处理系统范围内说明了本发明,但熟练技术人员可以理解,能够以多种形式的指令的计算机可读介质的方式,分发本发明的机制,并且本发明同样适用,而无需考虑用于实际执行分发的特定类型的信号承载介质。计算机可读介质的示例包括:诸如只读存储器(ROM)或电可擦除可编程只读存储器(EEPROM)之类的非易失、硬编码类型的介质,诸如软盘、硬盘或CD-ROM之类的可记录类型的介质,以及诸如数字和模拟通信链路之类的传输类型介质。
                          表1等待下一个交叉节点间隔Xi,i=1,…,n到期假设Xk首先到期计算RTTk,使用图3中的算法计算节点k的当前往返时间If没有生成有效的RTTk,则重新开始等待Xk
并返回到开始以等待下一个Xi到期根据接收到的最后的往返数据包,获得Tk,即k的当前时间
k的当前时间CTk,为Tk+RTTk/2If T0CTk
重新读取T0的值
将节点k的新时基T0+RTTk/2发送到节点kelse
将节点0的时基值设置为CTkDIFF=|T0-CTk|If(DIFF<LTHRES)
Xk=Xk*XNLESSIf(DIFF>UTHRES)
Xk=Xk/XNMORE重新开始等待Xk,并且循环等待下一个Xi到期
其中节点k不同于节点零:作为对RTT估计数据包的应答,
在返回之前,在各数据包中放入当前Tk。当接收到设置时间的数据包时,将Tk设置为其中包含的值。
                          表2
将RTTk设置为0
重复n次
将TS设置为发送时间
向节点k发送估计数据包
等待返回数据包到达
将RTT设置为到达时间-TS
If RTT无效
返回指示不能估计RTTk
RTTk=RTTk+RTT
设置RTTk=RTTk/n
为了检查RTT是否有效:
If(RTT<MINrtt)
返回RTT无效
If(RTT<Ertt+3*STDrtt)
返回RTT无效
If(RTT>Ertt+3*STDrtt)
返回RTT无效
返回RTT有效
为了应答节点k的估计数据包:
一旦收到估计数据包,就将Tk放入到数据包中,并回送到节点0
尽管参照最佳实施方式具体展示并说明了本发明,然而熟练技术人员可以理解,可以在形式和细节方面对其进行各种更改,而并不背离本发明的精神和范围。

Claims (19)

1.一种用于多节点数据处理系统内之单调时间同步的方法,该方法包括以下步骤:
将n个节点中的一个节点指定为节点零;
初始化再同步;
估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期;
如果所述目标节点的时间领先于所述节点零的时间,则更新所述节点零的时间;
如果所述节点零的时间领先于所述目标节点的时间,则更新所述目标节点的时间;
对所述多节点数据处理系统中的所有其他节点,重复上面所述步骤。
2.权利要求1的方法,其中估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期,还包括:
记录所述节点零的时间,并从所述节点零向所述目标节点发送一个数据包;
在所述节点零,记录所述数据包到达所述目标节点的时间;
通过从所述数据包到达所述目标节点的时间中,减去发送所述数据包的时间,计算数据包的传输时间;
确定所述传输时间的有效性;
将传输时间计算循环预定次数;以及
求所述传输时间计算结果的平均值。
3.权利要求2的方法,其中确定传输时间计算的有效性,还包括:
将各往返时间估计值与已知的最小值、期望值减去标准偏差的3倍的值,以及期望值加标准偏差的3倍的值进行比较,其中可根据设计信息获得所述最小值、标准偏差以及期望值。
4.权利要求2的方法,还包括:
从所述目标节点接收一个时基值;
除最后的所述应答数据包之外,抛弃所有应答数据包;以及
根据时间值与从所述目标节点接收的所述时间值的比较结果,调整所述节点零或所述目标节点上的所述时基。
5.权利要求4的方法,还包括:
根据所述目标节点时基相对于节点零时基的漂移速度的确定,调整再同步间隔。
6.权利要求5的方法,还包括:
当所述目标节点的时基相对于所述节点零的时基快速漂移时,提高再同步节点的频率;以及
当所述目标节点的时基相对于所述节点零的时基慢速漂移时,降低再同步节点的频率。
7.一种计算机可读介质内的计算机程序产品,该介质具有用于多节点数据处理系统内之单调时间同步的指令,包括以下指令:
用于将n个节点中的一个节点指定为节点零的所述计算机程序产品内的指令;
用于初始化再同步的所述计算机程序产品内的指令;
用于以下估计的所述计算机程序产品内的指令,即估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期;
用于以下处理的所述计算机程序产品内的指令,即如果所述目标节点的时间领先于所述节点零的时间,则更新所述节点零的时间;
用于以下处理的所述计算机程序产品内的指令,即如果所述节点零的时间领先于所述目标节点的时间,则更新所述目标节点的时间;
用于以下处理的所述计算机程序产品内的指令,即对所述多节点数据处理系统中的所有其他节点,重复上面所述步骤。
8.权利要求7的计算机程序产品,其中用于估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期的指令,还包括:
用于以下处理的所述计算机程序产品内的指令,即记录所述节点零的时间,并从所述节点零向所述目标节点发送一个数据包;
用于以下处理的所述计算机程序产品内的指令,即在所述节点零,记录所述数据包到达所述目标节点的时间;
用于以下处理的所述计算机程序产品内的指令,即通过从所述数据包到达所述目标节点的时间中,减去发送所述数据包的时间,计算数据包的传输时间;
用于确定所述传输时间的有效性的所述计算机程序产品内的指令;
用于将传输时间的计算循环预定次数的所述计算机程序产品内的指令;以及
用于求所述传输时间计算结果的平均值的所述计算机程序产品内的指令。
9.权利要求7的计算机程序产品,其中用于确定有效性的指令还包括:
用于以下处理的所述计算机程序产品内的指令,即将各往返时间估计值与已知的最小值、期望值减去标准偏差的3倍的值,以及期望值加标准偏差的3倍的值进行比较,其中可根据设计信息获得所述最小值、标准偏差以及期望值。
10.权利要求8的计算机程序产品,还包括:
用于从所述目标节点接收一个时基值的所述计算机程序产品内的指令;
用于以下处理的所述计算机程序产品内的指令,即除最后的所述应答数据包之外,抛弃所有应答数据包;以及
用于以下处理的所述计算机程序产品内的指令,即根据时间值与从所述目标节点接收的所述时间值的比较结果,调整所述节点零或所述目标节点上的所述时基值。
11.权利要求8的计算机程序产品,还包括:
用于以下处理的所述计算机程序产品内的指令,即根据所述目标节点之时基相对于节点零之时基的漂移速度的确定,调整再同步间隔。
12.权利要求11的计算机程序产品,还包括:
用于以下处理的所述计算机程序产品内的指令,即当所述目标节点的时基相对于所述节点零的时基快速漂移时,提高再同步节点的频率;以及
用于以下处理的所述计算机程序产品内的指令,即当所述目标节点的时基相对于所述节点零的时基慢速漂移时,降低再同步节点的频率。
13.一种多节点数据处理系统,该系统包括:
一个用于传输数据的系统互连;
n个节点,其中各节点包括:
多个连接到局部总线的处理器;
至少一个连接到所述局部总线的用于存储所述数据的存储器;以及
一个连接到所述局部总线的用于控制所述存储器的控制器,其中所述控制器还连接到所述系统互连;
所述多个处理器中之每个处理器内的一个寄存器,该寄存器用于记录并报告所述多个节点中之各节点内的时间值;
一个指定的节点零;以及
用于同步所述n个节点之间的时间值的逻辑装置。
14.权利要求13的多节点数据处理系统,其中用于同步在所述n个节点之间的时间值的所述逻辑装置,还包括:
用于将n个节点的中一个节点指定为节点零的鉴别装置;
用于初始化再同步的装置;
用于以下估计的计算装置,即估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期;
用于确定所述传输时间的有效性的确认装置;
更新装置,用于如果所述目标节点的时间领先于所述节点零的时间,则更新所述节点零的时间;
更新装置,用于如果所述节点零的时间领先于所述目标节点的时间,则更新所述目标节点的时间;以及
逻辑装置,用于在所述多节点数据处理系统中的所有其他节点上,设置时基值。
15.权利要求14的多节点数据处理系统,其中于确定有效性的确认装置,还包括:
用于比较各个往返时间估计值与计算值的鉴别装置,其中所述计算值包括:
一个已知的最小值、期望值减去标准偏差的3倍的值,以及期望值加标准偏差的3倍的值,其中可根据设计信息获得所述最小值、标准偏差以及期望值。
16.权利要求14的多节点数据处理系统,其中用于估计将数据从所述节点零传输到所述多节点数据处理系统中的某个目标节点所需要的时间周期的所述估计装置,还包括:
用于从所述节点零向所述目标节点发送数据包的传输装置;
用于在所述节点零从所述目标节点接收时间值的装置;以及
用于比较所述目标节点的时间与所述节点零的时间的判别装置。
17.权利要求14的多节点数据处理系统,还包括:
用于根据从所述目标节点接收的所述时间值,调整所述节点零或所述目标节点上的时基值的逻辑装置。
18.权利要求17的多节点数据处理系统,还包括:
用于根据确定的所述目标节点之时基相对于节点零之时基的漂移速度,调整再同步间隔的逻辑装置。
19.权利要求18的多节点数据处理系统,还包括:
用于当所述目标节点的时基相对于所述节点零的时基快速漂移时,提高再同步节点的频率的同步装置;以及
用于当所述目标节点的时基相对于所述节点零的时基慢速漂移时,降低再同步节点的频率的同步装置。
CNB001352539A 1999-12-14 2000-12-12 非均匀存储器存取系统的近似的单调时间同步方法和系统 Expired - Fee Related CN1151437C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/461,679 1999-12-14
US09/461,679 US6502141B1 (en) 1999-12-14 1999-12-14 Method and system for approximate, monotonic time synchronization for a multiple node NUMA system

Publications (2)

Publication Number Publication Date
CN1314643A true CN1314643A (zh) 2001-09-26
CN1151437C CN1151437C (zh) 2004-05-26

Family

ID=23833520

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001352539A Expired - Fee Related CN1151437C (zh) 1999-12-14 2000-12-12 非均匀存储器存取系统的近似的单调时间同步方法和系统

Country Status (5)

Country Link
US (1) US6502141B1 (zh)
CN (1) CN1151437C (zh)
HK (1) HK1037044A1 (zh)
ID (1) ID28597A (zh)
MY (1) MY119546A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109521804A (zh) * 2018-11-05 2019-03-26 上海新时达电气股份有限公司 一种机器人的运动控制方法、伺服控制器和可读存储介质
CN114633777A (zh) * 2022-03-11 2022-06-17 南京理工大学 基于双控制平台的轨道交通列车能耗数据监测系统及方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049605A (ja) * 2000-08-02 2002-02-15 Fujitsu Ltd タイマ調整システム
US7047435B2 (en) * 2000-12-19 2006-05-16 Siemens Corporate Research, Inc. System and method for clock-synchronization in distributed systems
US7219121B2 (en) * 2002-03-29 2007-05-15 Microsoft Corporation Symmetrical multiprocessing in multiprocessor systems
GB2394628B (en) * 2002-10-25 2005-10-19 Siemens Plc A method of determining a timing offset between a first clock and a second clock in a communications network
US7340630B2 (en) * 2003-08-08 2008-03-04 Hewlett-Packard Development Company, L.P. Multiprocessor system with interactive synchronization of local clocks
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7681199B2 (en) * 2004-08-31 2010-03-16 Hewlett-Packard Development Company, L.P. Time measurement using a context switch count, an offset, and a scale factor, received from the operating system
US20060090092A1 (en) * 2004-10-25 2006-04-27 Verhulst Anton H Clock timing adjustment
US7437587B2 (en) * 2005-01-21 2008-10-14 Hewlett-Packard Development Company, L.P. Method and system for updating a value of a slow register to a value of a fast register
US7765405B2 (en) * 2005-02-25 2010-07-27 Microsoft Corporation Receive side scaling with cryptographically secure hashing
US7904695B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7904615B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US20090132792A1 (en) * 2007-11-15 2009-05-21 Dennis Arthur Ruffer Method of generating internode timing diagrams for a multiprocessor array
US8073976B2 (en) * 2008-03-27 2011-12-06 Microsoft Corporation Synchronizing clocks in an asynchronous distributed system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0253096B1 (en) * 1986-05-20 1995-10-25 Mitsubishi Denki Kabushiki Kaisha Time synchronization method in a data transmission system
US4816989A (en) * 1987-04-15 1989-03-28 Allied-Signal Inc. Synchronizer for a fault tolerant multiple node processing system
US5689688A (en) * 1993-11-16 1997-11-18 International Business Machines Corporation Probabilistic anonymous clock synchronization method and apparatus for synchronizing a local time scale with a reference time scale
US5535217A (en) * 1994-12-20 1996-07-09 International Business Machines Corporation Method and apparatus for probabilistic clock synchronization with interval arithmetic
US5907685A (en) * 1995-08-04 1999-05-25 Microsoft Corporation System and method for synchronizing clocks in distributed computer nodes
JP3463460B2 (ja) * 1996-05-20 2003-11-05 ヤマハ株式会社 データ伝送方式
US6157957A (en) * 1998-01-22 2000-12-05 Cisco Technology, Inc. Clock synchronization system and method using a continuous conversion function for a communication network
US6324586B1 (en) * 1998-09-17 2001-11-27 Jennifer Wallace System for synchronizing multiple computers with a common timing reference

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109521804A (zh) * 2018-11-05 2019-03-26 上海新时达电气股份有限公司 一种机器人的运动控制方法、伺服控制器和可读存储介质
CN109521804B (zh) * 2018-11-05 2022-01-18 上海新时达电气股份有限公司 一种机器人的运动控制方法、伺服控制器和可读存储介质
CN114633777A (zh) * 2022-03-11 2022-06-17 南京理工大学 基于双控制平台的轨道交通列车能耗数据监测系统及方法

Also Published As

Publication number Publication date
ID28597A (id) 2001-06-14
MY119546A (en) 2005-06-30
US6502141B1 (en) 2002-12-31
CN1151437C (zh) 2004-05-26
HK1037044A1 (en) 2002-01-25

Similar Documents

Publication Publication Date Title
CN1151437C (zh) 非均匀存储器存取系统的近似的单调时间同步方法和系统
US7340630B2 (en) Multiprocessor system with interactive synchronization of local clocks
US7779148B2 (en) Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
US7921316B2 (en) Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7827428B2 (en) System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture
Cao et al. Mutable checkpoints: a new checkpointing approach for mobile computing systems
US20090198957A1 (en) System and Method for Performing Dynamic Request Routing Based on Broadcast Queue Depths
US6842808B2 (en) Data exchange between users connected by a bus system and having separate time bases
US7058838B2 (en) System and method for synchronizing a plurality of processors in a multiprocessor computer platform employing a global clock counter
TWI608326B (zh) 用以測量介於具有獨立矽時脈的裝置之間的時間偏置之設備、方法及系統
EP3672162B1 (en) Distributed time synchronization protocol for an asynchronous communication system
CN103248471B (zh) 基于ptp协议与反射内存网的时钟同步方法
US5617561A (en) Message sequence number control in a virtual time system
JP2004529544A (ja) バスシステムの少なくとも1つの加入者の同期化方法,その装置及びバスシステム
KR20190074026A (ko) 이더캣 기반의 슬레이브 시스템에 포함된 복수의 마이크로 프로세서간 동기화 방법 및 시스템
JP6614403B1 (ja) 通信装置、通信システムおよび同期制御方法
KR101771612B1 (ko) 이더캣 기반의 동기화 오차 보상 시스템 및 그 방법
JP2607696B2 (ja) マルチプロセッサシステム及びその利用方法
JP3600533B2 (ja) ノード間で時刻(tod)イベントを同期させる方法および装置
WO2006129269A2 (en) Method to synchronize locally provided clocks of different communication nodes of a time-triggered communication system
US20150103668A1 (en) Low overhead and highly robust flow control apparatus and method
CN103631752A (zh) 一种众核处理器片上网络实时通信时间戳方法及系统
JP2510750B2 (ja) フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器
JP5239752B2 (ja) 同期メッセージ発行システム、同期メッセージ発行方法および同期メッセージ発行プログラム
Chakravarthi et al. A fine-grain clock synchronization mechanism for QoS based communication on myrinet

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040526

Termination date: 20100112