專利名稱:非均勻存儲器存取系統(tǒng)的近似的單調時間同步方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明一般涉及數據處理系統(tǒng),詳細地說,涉及多處理器數據處理系統(tǒng)。更詳細地說,本發(fā)明涉及可伸縮的共享存儲器多處理器數據處理系統(tǒng)。
對稱多處理(SMP)和非均勻存儲器存取(NUMA)體系結構為可伸縮的數據處理技術,該技術利用多處理器和共享存儲器,來同時處理較大的應用程序或多個應用程序。通常通過互連對稱共享存儲器多處理器系統(tǒng)與各系統(tǒng)較少數目的處理器,構造可伸縮的共享存儲器多處理器,其中互連保持高速緩沖的相關性。這樣作會很好地利用其他現有產品或常見的高容量產品,來創(chuàng)建更大的系統(tǒng)。其結果是產生與高速緩沖相關的非均勻存儲器存取多處理器(ccNUMA或簡稱為NUMA)。此外,諸如PowerPCTM(紐約Armonk的IBM公司的產品)之類的某些體系結構,提供單獨處理器時間寄存器,該寄存器以處理器本身頻率的某一除數遞增,在PowerPC中,該寄存器稱為“時基寄存器”。PowerPC體系結構要求多處理器系統(tǒng)上的時基的程序易見值單調增加,這意味著如果某個程序讀取了時基,然后再次讀取它,則第二次的值必須大于等于第一次的值。
多處理器上時基寄存器的值必須彼此充分接近,從而如果某個程序首先在某個處理器上運行,然后在另一個上運行,則該程序讀取的第二時基值大于等于第一時基值。將一個程序從一個處理器移到另一個處理器需要的時間大于103個處理器周期,而時基除數的數量級為該周期的幾十倍,這會強制多節(jié)點NUMA系統(tǒng),將該系統(tǒng)內所有處理器的時基寄存器,互相同步到大約102個時基滴答內。在本公開中,將以時基周期或時基值為單位表示時間,并且可交替使用術語“周期”和“滴答”。
NUMA系統(tǒng)中通常沒有公用振蕩器,并且隨著時間的推移,時基寄存器彼此漂移,因此必須周期地再同步時基寄存器。盡管某些硬件互連機制的確具有用于此目的的公用振蕩器,并且其他硬件具有特定的數據包格式,但并不是總存在此類硬件,其中包格式在其負載中攜帶一個時間值,并在通過網絡傳輸時增加該值。因此,需要使用標準硬件和合適邏輯的某些機制。盡管時基同步是重要的,但它在網絡負載或專用硬件方面不能太昂貴。然而,仍然需要維護所需同步水平的時基同步機制。
因此,最好提供用于多節(jié)點NUMA多處理器系統(tǒng)的時基同步系統(tǒng)。此外,最好在不需要專用硬件功能的情況下,與當前互連實現一起使用同步系統(tǒng)。同時,最好在不對系統(tǒng)內的互連或處理器強加顯著系統(tǒng)開銷的情況下,提供同步系統(tǒng)。
因此,本發(fā)明的目的在于,提供一種用于多節(jié)點NUMA多處理器系統(tǒng)的時基同步系統(tǒng),該系統(tǒng)將利用可用的互連實施,而無需專用硬件功能。
本發(fā)明的另一目的在于,提供一種用于多節(jié)點NUMA多處理器系統(tǒng)的時基同步系統(tǒng),該系統(tǒng)不會對系統(tǒng)內的互連或處理器強加顯著的運行開銷。
現在說明上述目的的實現。在多節(jié)點非均勻存儲器存取(NUMA)多處理器系統(tǒng)中,同步各節(jié)點上指定節(jié)點的同步處理器。各節(jié)點利用公知技術實現該節(jié)點上其他處理器的內部同步。因此,同步各節(jié)點上的一個處理器就足夠了。作為同步管理器的指定系統(tǒng)節(jié)點,即節(jié)點零,估計以包格式將信息傳輸到系統(tǒng)中的特定遠程節(jié)點所需要的時間。所以,將時間值從遠程節(jié)點傳輸到節(jié)點零。根據傳輸時間估計,節(jié)點零將當前時間投影到遠程節(jié)點上,并且與其固有時間進行比較,然后或者更新其固有時鐘,以趕上領先的遠程節(jié)點,或者將新時間值發(fā)送到其他節(jié)點,從而要求遠程節(jié)點提前其固有時間,以趕上節(jié)點零上的時間。剩余節(jié)點上的代碼通常是被動的,當請求時,響應來自節(jié)點零的數據包,并設置時基值。通過總是提前兩個時基中的最落后者,以趕上較早者,保持時基的單調性。
在以下詳細說明中,本發(fā)明的上述目的、以及附加目的、特征和優(yōu)點將更加顯而易見。
權利要求書闡明認為是本發(fā)明特征的獨創(chuàng)特征。然而,通過連同附圖參照以下詳細說明,會充分了解本發(fā)明、使用的最佳模式、其他目的以及其優(yōu)點,其中附圖為
圖1是一個高級框圖,表示能夠實現本發(fā)明最佳實施方式的數據處理系統(tǒng)的多節(jié)點配置的三個節(jié)點;圖2是一個流程圖,用于同步根據本發(fā)明之某一實施方式的多節(jié)點NUMA系統(tǒng)中的節(jié)點。
現在參照附圖,特別參照圖1,該圖是一個高級框圖,表示能夠實現本發(fā)明最佳實施方式的數據處理系統(tǒng)的多節(jié)點配置的三個節(jié)點。數據處理系統(tǒng)100由多個節(jié)點組成,其中描述了三個節(jié)點100a、100b和100c。利用互連130將上述節(jié)點連接在一起。各節(jié)點具有局部總線110、111和112;一個或多個處理器(CPU)以及連接到各局部總線110、111和112的存儲器121、123和125。同時,將高速緩沖和目錄控制器(CDC)連接到到局部總線110、111和112以及互連130。一般技術人員可以理解圖1所示的數據處理系統(tǒng)的一般操作。
數據處理系統(tǒng)100僅描述了三個節(jié)點100a、100b和100c。各節(jié)點利用各節(jié)點的多處理器,并且典型NUMA系統(tǒng)將利用多個節(jié)點。可以理解,在任一局部總線上可以有兩個、三個或更多個微處理器,并且在互連130上可以有兩個、三個或更多個節(jié)點。也可以采用從典型背面板總線到全交叉接線器或其他任意可靠連接模式的許多不同方式,實現系統(tǒng)總線。
NUMA數據處理系統(tǒng)的主要特性在于,將組合存儲器121、123和125看作一個單一地址空間。存儲器1121可以保留從0到4000的地址(地址存儲單元數僅用于說明目的,不一定代表實際存儲地址),而存儲器2123可以保留從4000到10000的地址。例如,當CPU2102需要存取存儲單元5000時,節(jié)點102a上的CDC122將該請求路由到互連130,然后節(jié)點100b上的CDC124從互連130接收該請求,并將其路由到存儲器2123。NUMA系統(tǒng)上的任意存儲器對任意節(jié)點均是可用的,并且節(jié)點100a也可以存取節(jié)點100c。將和CPU處于相同的節(jié)點上的存儲器稱為“局部存儲器”,而將不同節(jié)點上的存儲器稱為“遠程存儲器”。所有節(jié)點無需全部具有相同的存儲量或相同數目的CPU。
參照表1,該表表示用于同步根據本發(fā)明之某一實施方式的多節(jié)點NUMA系統(tǒng)中之節(jié)點的算法。本發(fā)明是下文所提供算法的修改和擴展,“萬網連接的小群集器中的性能監(jiān)視(Performance Monitoringin a Myrinet-Connected Shrimp Cluster)”,Cheng Liao,MargaretMartonosi,& Douglas W.Clark,ACM Sigmetrics Symposium onParallel and Distributed Tools(SPDT),1998年8月。正如表1所示,該算法表示本發(fā)明的兩面一面在NUMA系統(tǒng)之各節(jié)點上的指定節(jié)點,即節(jié)點零的同步處理器(NSP)上執(zhí)行,一面在NUMA系統(tǒng)中各其他節(jié)點的NSP上執(zhí)行。節(jié)點零智能地估計該節(jié)點以包格式將信息傳輸到系統(tǒng)中的其他特定節(jié)點所需要的時間。巧合的是,這會提供從指定節(jié)點到節(jié)點零的時間值。根據此傳輸時間估計,節(jié)點零將當前時間投影到其他節(jié)點上,與其固有時間進行比較,然后或者更新其固有時鐘,以趕上領先的遠程節(jié)點,或者將新時間值發(fā)送到其他節(jié)點,從而通知該節(jié)點提前其固有時間,以趕上節(jié)點零上的時間。其他節(jié)點上的代碼大部分是被動的,當請求時,響應來自節(jié)點零的數據包,并設置時基值。
在表1所示的算法中,令n為系統(tǒng)中的節(jié)點數,Ertt為互連上從某個節(jié)點到另一節(jié)點然后回到原處的期望往返時間值,STDrtt為標準偏差,而MINrtt為往返時間值的絕對最小值。上述各值為基于互連機制設計的設計時間值。作為觀察值的Di,為節(jié)點i上的NSP的漂移,其中Di的符號表示相對于節(jié)點零的NSP的漂移方向。負號表示節(jié)點i上的NSP的時基滯后或落后于節(jié)點零的時基,而正號表示該時基領先于節(jié)點零的時基,即在其前面。
再同步總是由節(jié)點零發(fā)起的,并且其目標為系統(tǒng)中的特定非零節(jié)點。根據節(jié)點零以及目標節(jié)點彼此之間的漂移,調整再同步間隔。令Xi為節(jié)點i的交叉節(jié)點再同步間隔,其中未定義X0。Xi的初始值為設計時間參數,并且反映所有節(jié)點上NSP之時基的期望漂移值。
為了進一步降低同步的系統(tǒng)開銷,該算法能夠在適當時候降低再同步的頻率,并在需要時增加頻率。該自適應在節(jié)點零和單一目標節(jié)點之間是雙向的。相對于節(jié)點零漂移很快的節(jié)點,其再同步頻率比漂移較慢的節(jié)點的再同步頻率要高。UTHRES為上閾值,該值表示節(jié)點零和目標節(jié)點之間的誤差太大,應提高再同步頻率。LTHRES為下閾值,該值表示節(jié)點零和目標節(jié)點之間的誤差足夠小,以至應降低再同步頻率。XNMORE為用于增加交叉節(jié)點同步頻率的因子,而XNLESS為用于減少交叉節(jié)點同步頻率的因子。
現在參照表2,該圖表示在用于同步根據本發(fā)明之某一實施方式的多節(jié)點NUMA系統(tǒng)中之節(jié)點的過程中,從節(jié)點零到節(jié)點k然后回到原處的往返時間的計算。必須確定用于估計到節(jié)點k之往返時間(RTTk)的當前值的節(jié)點零和節(jié)點k上的機制。在每個節(jié)點再同步時估計此RTT值。
本質上,該偽碼通過使節(jié)點零保存TS(發(fā)送的時間),并發(fā)送到目標節(jié)點(此時為節(jié)點k),確定平均時間。節(jié)點零從節(jié)點k接收包括節(jié)點k之時間值Tk的應答數據包,然后將RTT設置為節(jié)點k的數據包的到達時間減去TS。如果RTT無效,例如,時間為負,則節(jié)點零放棄此再同步,并且重新開始等待節(jié)點k的同步到期。將RTT與標準偏差STDrtt的3倍以及往返時間值的絕對最小值MINrtt進行比較,以進一步確定其有效性。如果RTT有效,則將RTTk增加RTT。將此過程重復n次,其中n是設計互連時確定的固定次數。在第n遍結束時,將RTTk的值設置為計算值的n分之一。
在本發(fā)明中,同步是在數據處理系統(tǒng)的內部進行的。在一個相對小的范圍內,保留時基寄存器的時間值,而沒有調整節(jié)點所參照的外部時間源。不需要特定的數字設置,因此,可以以時基周期或時基值為單位來表示時間。單調性要求時基寄存器的調整只能增加其值,而不能降低其值。硬件一般允許在時基寄存器中設置任意值。尤其是,改變時基寄存器并不會將其強行復位到零。然而,存在不遵守此假設的處理器(如,加利福尼亞州San Jose的英特爾公司的IA-32處理器)。
NUMA系統(tǒng)由許多互連節(jié)點組成。該互連具有將一個數據包從一個節(jié)點發(fā)送到另一節(jié)點然后回到發(fā)起節(jié)點所需往返時間之期望值的明確定義的、由設計確定的數值,以及往返時間的標準偏差。同時還有一個明確定義的往返時間的絕對最小值。此外,假設該互連大致是對稱的,從而如果往返時間是RTT,則從發(fā)送節(jié)點到目標節(jié)點的傳輸時間為RTT/2。
各NUMA節(jié)點可以是一個SMP系統(tǒng),并且該NUMA系統(tǒng)中有一個指定的節(jié)點零,作為同步算法中的管理器。本發(fā)明可同步系統(tǒng)中的NSP,并且假定某些現有機制可參照該節(jié)點的NSP,同步節(jié)點中的剩余處理器。NUMA系統(tǒng)的各節(jié)點具有一個指定的NSP處理器,后者參與同步。各NSP可以具有其特有的振蕩器,并且NSP時基寄存器可以相對于其他寄存器進行正向漂移或反向漂移。通常,振蕩器是精確的,并且漂移率很小。
現在參照圖2,該圖示出一種方法,用于同步根據本發(fā)明之某一實施方式的多節(jié)點NUMA系統(tǒng)中的節(jié)點。有關本發(fā)明的偽碼結構,請參照表1。該過程從步驟402開始,步驟402說明交叉節(jié)點間隔的初始化。然后,該過程進行到步驟404,后者說明等待特定的交叉節(jié)點間隔到期。此時,交叉節(jié)點間隔k首先到期。過程進行到步驟406,該步驟表示估計節(jié)點零和節(jié)點k之間的往返時間(RTTk)。利用表2所示方法完成此估計。
接著,過程進行到步驟408,該步驟確定步驟406生成的RTTk是否有效。同步依賴于以下時間的精確估計,即攜帶時間信息的數據包到達其目的所需要的時間。由于此時間受各種網絡條件的影響,所以使用最近的數據包往返時間來估計下一數據包的傳送時間。如果該數據包往返時間在設計期望值周圍呈正態(tài)分布,則幾乎所有往返時間將在設計期望值的三個標準偏差內。為了確保RTTk的值是預測下次發(fā)送的數據包之行為的值,使用多個有效估計數據包是很重要的。
如果確定RTTk無效,則過程進行到步驟410,該步驟表示重新開始等待交叉節(jié)點間隔k(Xk)。如果確定RTTk有效,則過程轉到步驟412,該過程表示系統(tǒng)確定節(jié)點k上的當前時間。接著,過程進行到步驟414,該步驟確定T0是否小于等于節(jié)點k的當前時間(CTk)。如果節(jié)點零上的時間T0小于等于節(jié)點k的當前時間,則過程進行到步驟416,該步驟將節(jié)點零的時基設置為節(jié)點k的當前時間。如果在步驟414中確定節(jié)點零上的時間大于節(jié)點k的當前時間,則過程轉到步驟418,該步驟從節(jié)點零上的時基寄存器中,重新讀取時間值。過程繼續(xù)到步驟420,該步驟將新的時基值發(fā)送到節(jié)點k,從而實現了節(jié)點k與節(jié)點零的再同步。
接著,過程進行到步驟422,該步驟確定各節(jié)點時基的漂移速率。如果節(jié)點時基漂移很快,則過程進行到步驟424,該步驟降低再同步間隔,這是由于節(jié)點零和目標節(jié)最之間的誤差太大的緣故。然后,過程進行到步驟410。
如果節(jié)點時基漂移較慢,則過程轉到步驟426,該步驟增加再同步間隔,這是由于節(jié)點零和目標節(jié)點之間的誤差很小,所以應降低再同步頻率。然后,過程進行到步驟410,該步驟重新開始節(jié)點k的交叉節(jié)點同步間隔Xk的等待周期。過程繼續(xù)到步驟404,該步驟等待交叉節(jié)點間隔到期,并重復再同步過程。
本發(fā)明依賴于以下時間的精確估計,即攜帶時間信息的數據包到達其目的所需要的時間。由于此時間受各種網絡條件的影響,所以使用最近的數據包往返時間來估計下一數據包的傳送時間。通過在檢測到嚴重過載時省略再同步,本發(fā)明避免了在嚴重過載期間進行再同步。如果數據包往返時間在設計期望值周圍呈正態(tài)分布,則大部分數據包會處在該值的三個標準偏差內。由于漂移較小,所以對于出現的有效漂移,互連必然嚴重過載。為了確保RTTk的值預測下次發(fā)送的數據包的行為,使用少數估計數據包是很重要的。
通過總是提前兩個時基中的落后者以趕上較早者,本發(fā)明保持了時基的單調性。調整節(jié)點零會導致其他節(jié)點上之時基的臨時漂移,但是會在下次再同步時改正。如果漂移較小,則時基值中的調整也會較小??梢詫Ρ景l(fā)明添加一種功能,以允許一個節(jié)點預測它相對于節(jié)點零的漂移。
重要的是要注意到,盡管在功能完整的數據處理系統(tǒng)范圍內說明了本發(fā)明,但熟練技術人員可以理解,能夠以多種形式的指令的計算機可讀介質的方式,分發(fā)本發(fā)明的機制,并且本發(fā)明同樣適用,而無需考慮用于實際執(zhí)行分發(fā)的特定類型的信號承載介質。計算機可讀介質的示例包括諸如只讀存儲器(ROM)或電可擦除可編程只讀存儲器(EEPROM)之類的非易失、硬編碼類型的介質,諸如軟盤、硬盤或CD-ROM之類的可記錄類型的介質,以及諸如數字和模擬通信鏈路之類的傳輸類型介質。
表1等待下一個交叉節(jié)點間隔Xi,i=1,…,n到期假設Xk首先到期計算RTTk,使用圖3中的算法計算節(jié)點k的當前往返時間If沒有生成有效的RTTk,則重新開始等待Xk并返回到開始以等待下一個Xi到期根據接收到的最后的往返數據包,獲得Tk,即k的當前時間k的當前時間CTk,為Tk+RTTk/2If T0CTk重新讀取T0的值將節(jié)點k的新時基T0+RTTk/2發(fā)送到節(jié)點kelse將節(jié)點0的時基值設置為CTkDIFF=|T0-CTk|If(DIFF<LTHRES)Xk=Xk*XNLESSIf(DIFF>UTHRES)Xk=Xk/XNMORE重新開始等待Xk,并且循環(huán)等待下一個Xi到期其中節(jié)點k不同于節(jié)點零作為對RTT估計數據包的應答,在返回之前,在各數據包中放入當前Tk。當接收到設置時間的數據包時,將Tk設置為其中包含的值。
表2將RTTk設置為0重復n次將TS設置為發(fā)送時間向節(jié)點k發(fā)送估計數據包等待返回數據包到達將RTT設置為到達時間-TSIf RTT無效返回指示不能估計RTTkRTTk=RTTk+RTT設置RTTk=RTTk/n為了檢查RTT是否有效If(RTT<MINrtt)返回RTT無效If(RTT<Ertt+3*STDrtt)返回RTT無效If(RTT>Ertt+3*STDrtt)返回RTT無效返回RTT有效為了應答節(jié)點k的估計數據包一旦收到估計數據包,就將Tk放入到數據包中,并回送到節(jié)點0盡管參照最佳實施方式具體展示并說明了本發(fā)明,然而熟練技術人員可以理解,可以在形式和細節(jié)方面對其進行各種更改,而并不背離本發(fā)明的精神和范圍。
權利要求
1.一種用于多節(jié)點數據處理系統(tǒng)內之單調時間同步的方法,該方法包括以下步驟將n個節(jié)點中的一個節(jié)點指定為節(jié)點零;初始化再同步;估計將數據從所述節(jié)點零傳輸到所述多節(jié)點數據處理系統(tǒng)中的某個目標節(jié)點所需要的時間周期;如果所述目標節(jié)點的時間領先于所述節(jié)點零的時間,則更新所述節(jié)點零的時間;如果所述節(jié)點零的時間領先于所述目標節(jié)點的時間,則更新所述目標節(jié)點的時間;對所述多節(jié)點數據處理系統(tǒng)中的所有其他節(jié)點,重復上面所述步驟。
2.權利要求1的方法,其中估計將數據從所述節(jié)點零傳輸到所述多節(jié)點數據處理系統(tǒng)中的某個目標節(jié)點所需要的時間周期,還包括記錄所述節(jié)點零的時間,并從所述節(jié)點零向所述目標節(jié)點發(fā)送一個數據包;在所述節(jié)點零,記錄所述數據包到達所述目標節(jié)點的時間;通過從所述數據包到達所述目標節(jié)點的時間中,減去發(fā)送所述數據包的時間,計算數據包的傳輸時間;確定所述傳輸時間的有效性;將傳輸時間計算循環(huán)預定次數;以及求所述傳輸時間計算結果的平均值。
3.權利要求2的方法,其中確定傳輸時間計算的有效性,還包括將各往返時間估計值與已知的最小值、期望值減去標準偏差的3倍的值,以及期望值加標準偏差的3倍的值進行比較,其中可根據設計信息獲得所述最小值、標準偏差以及期望值。
4.權利要求2的方法,還包括從所述目標節(jié)點接收一個時基值;除最后的所述應答數據包之外,拋棄所有應答數據包;以及根據時間值與從所述目標節(jié)點接收的所述時間值的比較結果,調整所述節(jié)點零或所述目標節(jié)點上的所述時基。
5.權利要求4的方法,還包括根據所述目標節(jié)點時基相對于節(jié)點零時基的漂移速度的確定,調整再同步間隔。
6.權利要求5的方法,還包括當所述目標節(jié)點的時基相對于所述節(jié)點零的時基快速漂移時,提高再同步節(jié)點的頻率;以及當所述目標節(jié)點的時基相對于所述節(jié)點零的時基慢速漂移時,降低再同步節(jié)點的頻率。
7.一種計算機可讀介質內的計算機程序產品,該介質具有用于多節(jié)點數據處理系統(tǒng)內之單調時間同步的指令,包括以下指令用于將n個節(jié)點中的一個節(jié)點指定為節(jié)點零的所述計算機程序產品內的指令;用于初始化再同步的所述計算機程序產品內的指令;用于以下估計的所述計算機程序產品內的指令,即估計將數據從所述節(jié)點零傳輸到所述多節(jié)點數據處理系統(tǒng)中的某個目標節(jié)點所需要的時間周期;用于以下處理的所述計算機程序產品內的指令,即如果所述目標節(jié)點的時間領先于所述節(jié)點零的時間,則更新所述節(jié)點零的時間;用于以下處理的所述計算機程序產品內的指令,即如果所述節(jié)點零的時間領先于所述目標節(jié)點的時間,則更新所述目標節(jié)點的時間;用于以下處理的所述計算機程序產品內的指令,即對所述多節(jié)點數據處理系統(tǒng)中的所有其他節(jié)點,重復上面所述步驟。
8.權利要求7的計算機程序產品,其中用于估計將數據從所述節(jié)點零傳輸到所述多節(jié)點數據處理系統(tǒng)中的某個目標節(jié)點所需要的時間周期的指令,還包括用于以下處理的所述計算機程序產品內的指令,即記錄所述節(jié)點零的時間,并從所述節(jié)點零向所述目標節(jié)點發(fā)送一個數據包;用于以下處理的所述計算機程序產品內的指令,即在所述節(jié)點零,記錄所述數據包到達所述目標節(jié)點的時間;用于以下處理的所述計算機程序產品內的指令,即通過從所述數據包到達所述目標節(jié)點的時間中,減去發(fā)送所述數據包的時間,計算數據包的傳輸時間;用于確定所述傳輸時間的有效性的所述計算機程序產品內的指令;用于將傳輸時間的計算循環(huán)預定次數的所述計算機程序產品內的指令;以及用于求所述傳輸時間計算結果的平均值的所述計算機程序產品內的指令。
9.權利要求7的計算機程序產品,其中用于確定有效性的指令還包括用于以下處理的所述計算機程序產品內的指令,即將各往返時間估計值與已知的最小值、期望值減去標準偏差的3倍的值,以及期望值加標準偏差的3倍的值進行比較,其中可根據設計信息獲得所述最小值、標準偏差以及期望值。
10.權利要求8的計算機程序產品,還包括用于從所述目標節(jié)點接收一個時基值的所述計算機程序產品內的指令;用于以下處理的所述計算機程序產品內的指令,即除最后的所述應答數據包之外,拋棄所有應答數據包;以及用于以下處理的所述計算機程序產品內的指令,即根據時間值與從所述目標節(jié)點接收的所述時間值的比較結果,調整所述節(jié)點零或所述目標節(jié)點上的所述時基值。
11.權利要求8的計算機程序產品,還包括用于以下處理的所述計算機程序產品內的指令,即根據所述目標節(jié)點之時基相對于節(jié)點零之時基的漂移速度的確定,調整再同步間隔。
12.權利要求11的計算機程序產品,還包括用于以下處理的所述計算機程序產品內的指令,即當所述目標節(jié)點的時基相對于所述節(jié)點零的時基快速漂移時,提高再同步節(jié)點的頻率;以及用于以下處理的所述計算機程序產品內的指令,即當所述目標節(jié)點的時基相對于所述節(jié)點零的時基慢速漂移時,降低再同步節(jié)點的頻率。
13.一種多節(jié)點數據處理系統(tǒng),該系統(tǒng)包括一個用于傳輸數據的系統(tǒng)互連;n個節(jié)點,其中各節(jié)點包括多個連接到局部總線的處理器;至少一個連接到所述局部總線的用于存儲所述數據的存儲器;以及一個連接到所述局部總線的用于控制所述存儲器的控制器,其中所述控制器還連接到所述系統(tǒng)互連;所述多個處理器中之每個處理器內的一個寄存器,該寄存器用于記錄并報告所述多個節(jié)點中之各節(jié)點內的時間值;一個指定的節(jié)點零;以及用于同步所述n個節(jié)點之間的時間值的邏輯裝置。
14.權利要求13的多節(jié)點數據處理系統(tǒng),其中用于同步在所述n個節(jié)點之間的時間值的所述邏輯裝置,還包括用于將n個節(jié)點的中一個節(jié)點指定為節(jié)點零的鑒別裝置;用于初始化再同步的裝置;用于以下估計的計算裝置,即估計將數據從所述節(jié)點零傳輸到所述多節(jié)點數據處理系統(tǒng)中的某個目標節(jié)點所需要的時間周期;用于確定所述傳輸時間的有效性的確認裝置;更新裝置,用于如果所述目標節(jié)點的時間領先于所述節(jié)點零的時間,則更新所述節(jié)點零的時間;更新裝置,用于如果所述節(jié)點零的時間領先于所述目標節(jié)點的時間,則更新所述目標節(jié)點的時間;以及邏輯裝置,用于在所述多節(jié)點數據處理系統(tǒng)中的所有其他節(jié)點上,設置時基值。
15.權利要求14的多節(jié)點數據處理系統(tǒng),其中于確定有效性的確認裝置,還包括用于比較各個往返時間估計值與計算值的鑒別裝置,其中所述計算值包括一個已知的最小值、期望值減去標準偏差的3倍的值,以及期望值加標準偏差的3倍的值,其中可根據設計信息獲得所述最小值、標準偏差以及期望值。
16.權利要求14的多節(jié)點數據處理系統(tǒng),其中用于估計將數據從所述節(jié)點零傳輸到所述多節(jié)點數據處理系統(tǒng)中的某個目標節(jié)點所需要的時間周期的所述估計裝置,還包括用于從所述節(jié)點零向所述目標節(jié)點發(fā)送數據包的傳輸裝置;用于在所述節(jié)點零從所述目標節(jié)點接收時間值的裝置;以及用于比較所述目標節(jié)點的時間與所述節(jié)點零的時間的判別裝置。
17.權利要求14的多節(jié)點數據處理系統(tǒng),還包括用于根據從所述目標節(jié)點接收的所述時間值,調整所述節(jié)點零或所述目標節(jié)點上的時基值的邏輯裝置。
18.權利要求17的多節(jié)點數據處理系統(tǒng),還包括用于根據確定的所述目標節(jié)點之時基相對于節(jié)點零之時基的漂移速度,調整再同步間隔的邏輯裝置。
19.權利要求18的多節(jié)點數據處理系統(tǒng),還包括用于當所述目標節(jié)點的時基相對于所述節(jié)點零的時基快速漂移時,提高再同步節(jié)點的頻率的同步裝置;以及用于當所述目標節(jié)點的時基相對于所述節(jié)點零的時基慢速漂移時,降低再同步節(jié)點的頻率的同步裝置。
全文摘要
一種用于多節(jié)點數據處理系統(tǒng)內之單調時間同步的方法,該方法包括以下步驟:將n個節(jié)點中的一個節(jié)點指定為節(jié)點零;初始化再同步;估計將數據從所述節(jié)點零傳輸到所述多節(jié)點數據處理系統(tǒng)中的某個目標節(jié)點所需要的時間周期;如果所述目標節(jié)點的時間領先于所述節(jié)點零的時間,則更新所述節(jié)點零的時間;如果所述節(jié)點零的時間領先于所述目標節(jié)點的時間,則更新所述目標節(jié)點的時間;對所述多節(jié)點數據處理系統(tǒng)中的所有其他節(jié)點,重復上面所述步驟。
文檔編號G06F1/12GK1314643SQ0013525
公開日2001年9月26日 申請日期2000年12月12日 優(yōu)先權日1999年12月14日
發(fā)明者弗里曼·利·勞森三世 申請人:國際商業(yè)機器公司