專利名稱:用于對固定等待時間互連進(jìn)行鎖步處理的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及冗余處理。尤其是,本發(fā)明涉及保持冗余處理器與以鎖步操作的其它設(shè)備之間的同步。
背景技術(shù):
計算機(jī)系統(tǒng)常常在不友好的環(huán)境中執(zhí)行臨界控制、分析、通信及其他功能。當(dāng)這些系統(tǒng)在物理上難于或不可能達(dá)到的時候,提供充分的冗余以便對故障和偽錯誤進(jìn)行檢測和自動恢復(fù)是很重要的。保護(hù)計算機(jī)系統(tǒng)不出現(xiàn)錯誤的一種常見的方法是采用雙模塊冗余度或三模塊冗余度以鎖步模式來操作兩個或三個(或更多)系統(tǒng)模塊并比較它們的行為。如果幾個相同的模塊執(zhí)行相同的操作,那么理論上,該模塊的行為之間的任何差異都可能表示一個或多個模塊出現(xiàn)了故障。理論上僅僅通過對系統(tǒng)中某個關(guān)鍵點處(例如在地址和數(shù)據(jù)總線)存在的信號進(jìn)行比較并且無論何時檢測到不匹配都啟動錯誤恢復(fù)程序,從而再次檢測差異。
實踐中,時鐘脈沖相位差和類似的影響會引起信號不匹配,即使當(dāng)該模塊是處于適當(dāng)操作時也是如此。由于錯誤恢復(fù)可能是計算代價很大的處理,所以錯誤鎖步失敗信號會嚴(yán)重地降低系統(tǒng)性能。同樣地,錯誤恢復(fù)可包含每個模塊上的不同操作,以及可以沒有有效的冗余系統(tǒng)來保護(hù)所述恢復(fù)防止隨后發(fā)生錯誤。此外,傳統(tǒng)的鎖步冗余系統(tǒng)包含專門的硬件電路以執(zhí)行信號比較。這些電路降低了系統(tǒng)在不需要冗余處理時作為普通多處理器系統(tǒng)來操作的靈活性。
用附圖中的圖形以舉例說明的方式說明了本發(fā)明的實施例,本發(fā)明的實施例不限制于附圖中的圖形,其中相同的參考標(biāo)記表示類似的元件。應(yīng)當(dāng)注意在說明書中提到“一”或“一個”實施例不必然是同一個實施例,這些說法意味著“至少一個”。
圖1顯示了實現(xiàn)本發(fā)明實施例的系統(tǒng)的邏輯概觀圖。
圖2是兩個鎖步處理器可執(zhí)行以確保它們發(fā)出的請求是正確的程序的流程圖。
圖3是允許兩個鎖步處理器接收消息并且開始同時處理其內(nèi)容的程序的流程圖。
圖4是一個由以鎖步運行的“從屬”設(shè)備所進(jìn)行的類似程序的流程圖。
圖5是從屬鎖步設(shè)備的另一個程序的流程圖。
圖6顯示了一個示例系統(tǒng),其包括實現(xiàn)采用本發(fā)明實施例的使用功能的邏輯模塊。
具體實施例方式
本發(fā)明的實施例把處理器、存儲器和其它設(shè)備放在圍繞著固定等待時間、環(huán)形互連網(wǎng)絡(luò)的位置上。網(wǎng)絡(luò)的每個節(jié)點可向任一其它節(jié)點發(fā)送消息,并且網(wǎng)絡(luò)的固定等待時間性能允許發(fā)送者確定要用多長時間把這個消息送達(dá)目的節(jié)點。系統(tǒng)部件的這種結(jié)構(gòu)支持可操作的范例,所述范例包括普通多處理以及冗余、鎖步處理。在鎖步模式中,系統(tǒng)自動地過濾出由于時鐘脈沖相位差所引起的許多無害的計時誤差。大多數(shù)發(fā)出信號的錯誤表示真正的數(shù)據(jù)差異。
圖1顯示了結(jié)合本發(fā)明實施例的系統(tǒng)的圖。環(huán)100表示固定等待時間、無緩沖、環(huán)形的通信網(wǎng)絡(luò)。連接于該網(wǎng)絡(luò)的設(shè)備可把消息放到環(huán)上或者從環(huán)上移除消息。例如170和180這樣的消息以順時針方向在環(huán)上前進(jìn),從發(fā)送節(jié)點到目的節(jié)點。如果目的節(jié)點不能接受該消息(例如,因為它正忙或者因為它沒有空閑的緩沖空間),則該消息繼續(xù)在環(huán)上繞行直到目的節(jié)點變?yōu)槟軌蚪邮芩V灰獩]有消息正在由該節(jié)點進(jìn)行傳遞,該節(jié)點就可以在環(huán)上放置一個消息。環(huán)同步地進(jìn)行操作,同時消息以規(guī)則的間隔從一個節(jié)點移動到下一個節(jié)點。因而,知道它的目標(biāo)位于環(huán)上多遠(yuǎn)的發(fā)送者可確定把消息送到那里要花多少時間。(當(dāng)然,當(dāng)消息到達(dá)時目標(biāo)可能不能接受該消息;發(fā)送者必須計算這種可能性)。盡管這個圖顯示了等于節(jié)點數(shù)目的多個消息和空消息位置,但是實際的設(shè)備可允許在環(huán)上放更多的消息。然而,網(wǎng)絡(luò)是無緩沖的,所以其容量是沒有彈性的。
與本發(fā)明的實施例有關(guān)的通信網(wǎng)絡(luò)的特征在于發(fā)送者可以確定消息傳播到接收者要花多少時間。被顯示為元件100的固定等待時間的無緩沖環(huán)形網(wǎng)絡(luò)具有這種特征,并且提供了一種易于理解的結(jié)構(gòu)以供以下的說明所用。然而,實施例并不限制于環(huán)拓?fù)渚W(wǎng)絡(luò),或者甚至不限制于固定等待時間互連,只要該網(wǎng)絡(luò)允許用已知等待時間來傳送確認(rèn)信號。
可以把一系列設(shè)備放在環(huán)100的節(jié)點上。在圖1中,顯示了三個中央處理單元(CPU)110、120和130。兩個存儲模塊140和150以及存儲設(shè)備160也圍繞著環(huán)而設(shè)置。通信網(wǎng)絡(luò)的說明和描述指的是網(wǎng)絡(luò)的邏輯結(jié)構(gòu),而不是它的物理結(jié)構(gòu)。實際的設(shè)備可能會把環(huán)形通信網(wǎng)絡(luò)全部放在單個微電子電路內(nèi)或者把它分配給兩個或多個電路,只要所描述的通信能力是可用的。
在一些系統(tǒng)中,通信網(wǎng)絡(luò)可以是雙向的,其中消息可以繞著環(huán)順時針或逆時針進(jìn)行傳播。(這種系統(tǒng)可被分析成雙疊加無向環(huán))。為了簡要和易于理解起見,然而,以下大部分例子會假定單個、無向、固定等待時間、無緩沖通信結(jié)構(gòu)。
具有這兩種情況的環(huán)上部件的系統(tǒng)可以以鎖步、冗余模式來操作部件,并且如果部件把不同的消息放在環(huán)上,盡管接收相同消息,則仍發(fā)出可能鎖步錯誤信號。因而,例如,存儲器140和150可以以鎖步模式來操作,并且如果該存儲器響應(yīng)不同,則檢測僅影響一個存儲器的偽錯誤。
具有三種或更多種環(huán)上部件的系統(tǒng)可執(zhí)行相同的鎖步處理,但是也能夠通過采用投票協(xié)議來確定哪個部件失敗了或者經(jīng)歷了錯誤如果三種情況中的兩種一致(或者,更一般地,如果多種情況一致),那么該系統(tǒng)如大部分消息表示的那樣來進(jìn)行。
圖2的流程圖顯示了以鎖步模式運行的兩個CPU怎樣發(fā)送請求到固定等待時間通信網(wǎng)絡(luò)上的另一個設(shè)備。把該CPU指定為“較近”和“較遠(yuǎn)”以表示相對于目的設(shè)備而言它們在環(huán)上的位置。這兩個CPU都產(chǎn)生到該設(shè)備的訪問請求(210a、210b),所述CPU以接近同步(但是有可能不精確)的方式來執(zhí)行相同的指令。如果CPU獨立地操作,則每個CPU會簡單地把消息放在環(huán)上并且把它發(fā)送給該設(shè)備,該設(shè)備將通過把適當(dāng)?shù)卮饛?fù)放在環(huán)上來響應(yīng)每個消息。然而,在鎖步模式中,“較遠(yuǎn)”CPU把請求發(fā)送給“較近”CPU(220)。消息繞著環(huán)傳播到較近CPU(230),同時較近CPU等候該消息(240)。最終,較近CPU接收到請求(250)并且將其與它本身的本地產(chǎn)生請求相比較(260)。如果請求匹配,則較近CPU向該設(shè)備發(fā)送單個合并請求(270)。如果請求不匹配,則較近處理器發(fā)出鎖步錯誤信號(280)以初始化鎖步恢復(fù)程序。這個請求本身可以將從存儲器或者其它設(shè)備中獲得數(shù)據(jù),或者在存儲器中存儲數(shù)據(jù)或者把數(shù)據(jù)發(fā)送給該設(shè)備。在這方面,請求可以對應(yīng)于普通的存儲器讀或?qū)懼芷?,或者對?yīng)于I/O端口“IN”和“OUT”操作。
這個程序相對于計時誤差是有彈性的如果較遠(yuǎn)處理器在較近處理器之前產(chǎn)生并發(fā)送請求,那么該請求只是在環(huán)上傳播直到較近處理器發(fā)現(xiàn)并準(zhǔn)備接收和比較該請求。如果較近處理器在前,那么它會等候直到較遠(yuǎn)處理器發(fā)現(xiàn)并發(fā)送請求。在每一種情況中,如果看門狗計時器邏輯電路檢測到任一個處理器花費太久來等待另一個處理器發(fā)現(xiàn),則看門狗計時器邏輯電路能產(chǎn)生鎖步錯誤信號。
用于接收指向兩個或更多鎖步部件的消息的程序稍微更復(fù)雜一些,因為希望該部件同時開始處理消息。圖3顯示了如何實現(xiàn)這一點。
向鎖步部件發(fā)送消息的設(shè)備把消息放在環(huán)上,發(fā)送到部件之一(310)。例如,如果該設(shè)備響應(yīng)合并消息,它的傳送已經(jīng)參考圖2進(jìn)行了描述,則可以將答復(fù)發(fā)送給那個圖中標(biāo)記為“較遠(yuǎn)”的處理器,因為在無向環(huán)上,“較遠(yuǎn)”處理器實際上是與該設(shè)備比較近的。較遠(yuǎn)和較近處理器都等待答復(fù)(315a、315b)。
較遠(yuǎn)處理器接收該消息(320)但是不立即開始對消息進(jìn)行處理。而是它分配緩沖區(qū)以保存確認(rèn)(330)并且把該消息重新傳送給它的鎖步配對,“較近”處理器(340)。較近處理器接收該消息(350)并且向較遠(yuǎn)處理器傳送確認(rèn)(360)。一旦它在環(huán)上傳遞,較遠(yuǎn)處理器就能夠接收到該確認(rèn)(370),因為它已經(jīng)預(yù)先分配了緩沖區(qū)來保存該確認(rèn)。兩個處理器都開始處理消息(380a、380b)。例如,該消息可包含處理器正在執(zhí)行的計算所需的數(shù)據(jù),或者可包含用于處理器執(zhí)行的指令。處理同時開始,因為較近處理器能夠根據(jù)固定等待時間網(wǎng)絡(luò)的速度和較近處理器與較遠(yuǎn)處理器之間的節(jié)點數(shù)來計算出適當(dāng)?shù)牡却龝r間(390)?;叵胍幌拢景l(fā)明的實施例可采用非環(huán)形和/或可變等待時間網(wǎng)絡(luò),只要發(fā)送者能夠計算出確認(rèn)消息的等待時間。那個等待時間是該適當(dāng)?shù)牡群驎r間390,并且對它的確認(rèn)就是允許較近和較遠(yuǎn)處理器同時開始處理消息。
雖然前面描述的流程圖集中于具有兩個鎖步CPU的本發(fā)明的實施例的操作,所述CPU發(fā)送請求或者從單個設(shè)備中接收響應(yīng),但是也可以對協(xié)議進(jìn)行操作以允許處理器(或者一組鎖步處理器)與冗余鎖步設(shè)備進(jìn)行交互作用。例如,為了在存儲器中獲得或存儲數(shù)據(jù),自一個處理器的請求、或者來自兩個或更多鎖步處理器的合并請求可以被指向兩個或更多鎖步存儲器。通過按照圖3的流程圖,兩個存儲器可設(shè)置來同時執(zhí)行取出或存儲操作,如圖4所描述的那樣。
首先,處理器(或較近處理器)向較近存儲器發(fā)送存儲器請求(410)。較近存儲器接收該請求(420),分配確認(rèn)緩沖區(qū)(430),以及向其鎖步配對存儲器重新傳送該請求(440)。該鎖步配對接收請求(450)并且返回確認(rèn)(460)。較近存儲器接收確認(rèn)(470),并且兩個存儲器都同時開始取出或存儲操作(480a、480b)。鎖步配對能夠根據(jù)固定等待時間網(wǎng)絡(luò)的速度和確認(rèn)要到達(dá)其目的地所必須經(jīng)過的節(jié)點數(shù)來計算出適當(dāng)?shù)牡却龝r間(490)。
此外,這兩個存儲器可遵循類似于關(guān)于圖2所描述的協(xié)議以把驗證答復(fù)發(fā)送給請求處理器(一個或多個)。這是在圖5中顯示兩個存儲器都準(zhǔn)備響應(yīng)(510a、510b)。因為兩個存儲器都以鎖步模式來操作,并且如上所述它們同時開始取出或存儲操作,所以基本上同時產(chǎn)生響應(yīng)。較遠(yuǎn)存儲器把它的響應(yīng)發(fā)送給較近的(520),并且在較近存儲器等候(540)的同時,該響應(yīng)繞著環(huán)傳播(530)。較近存儲器接收響應(yīng)(550)并且把它與其本身的響應(yīng)相比較以確定它們是否匹配(560)。如果響應(yīng)匹配,則向請求處理器發(fā)送合并響應(yīng)(570)。如果存在差別,則產(chǎn)生鎖步錯誤信號(580)以觸發(fā)錯誤恢復(fù)程序。
前面的討論把在網(wǎng)絡(luò)上傳送和接收的消息指定了例如“請求”、“響應(yīng)”、“確認(rèn)”之類的語義名稱。然而應(yīng)當(dāng)清楚,“請求”消息不同于“響應(yīng)”消息僅僅在于請求發(fā)生在響應(yīng)之前,并且引起一些設(shè)備或鎖步設(shè)備組通過發(fā)送響應(yīng)來答復(fù)。對于就所涉及的網(wǎng)絡(luò)而言,請求、響應(yīng)、以及確認(rèn)都僅僅是從源節(jié)點到目的節(jié)點的消息。
圖6顯示了實現(xiàn)本發(fā)明實施例的多處理器系統(tǒng)的一些邏輯部件。CPU內(nèi)核610和620可以是獨立的物理設(shè)備或者可以是單個“多核”處理的全部自主或部分自主的部分。一些系統(tǒng)可能具有不止兩個物理CPU,在單個處理器中不止兩個核、或者不止一個多核處理器。CPU作為網(wǎng)絡(luò)630的節(jié)點那樣安裝。網(wǎng)絡(luò)可以在單獨的電路中實現(xiàn),或者可以多核處理器的子部件或者另一個處理器支持電路存在。消息繞著網(wǎng)絡(luò)傳播并且可由目的節(jié)點處的設(shè)備來移除。節(jié)點能夠計算至少一些消息的等待時間。這個系統(tǒng)僅包含一個存儲器680和一個I/O設(shè)備690,并且CPU內(nèi)核與存儲器或設(shè)備之間的通信是經(jīng)由橋接器670來路由的,但是根據(jù)本發(fā)明的實施例的方法可以由其包含多個存儲器和/或設(shè)備、具有或不具有橋接設(shè)備的系統(tǒng)來使用。
系統(tǒng)包含映射邏輯電路640以確定網(wǎng)絡(luò)630上節(jié)點的相對位置,以及識別兩個節(jié)點中的哪一個離第三節(jié)點比較近。每個處理器610和620都包括請求邏輯電路612、622以在處理器以鎖步模式運行時協(xié)調(diào)從處理器到存儲器680或I/O設(shè)備690的請求。請求邏輯電路612、622通過從較遠(yuǎn)處理器向較近處理器發(fā)送請求、把該請求與較近處理器產(chǎn)生的請求相比較、以及向目的地發(fā)送合并請求來實現(xiàn)參考圖2所說明的程序。在包含多個鎖步存儲器或I/O設(shè)備的系統(tǒng)中,那些設(shè)備將包含對應(yīng)于請求邏輯電路612、622的邏輯電路以實現(xiàn)圖5的程序,并且允許鎖步存儲器或I/O設(shè)備協(xié)調(diào)對該處理器(一個或多個)的響應(yīng)。
處理器610和620還包括響應(yīng)邏輯電路615、625以協(xié)調(diào)處理器對來自存儲器或I/O設(shè)備的響應(yīng)的處理。響應(yīng)邏輯電路實現(xiàn)參考圖3所描述的程序。對應(yīng)于響應(yīng)邏輯電路615、625的邏輯電路也處于系統(tǒng)的存儲器和I/O設(shè)備中,所述系統(tǒng)具有這些部件的多種冗余例子。
請求驗證邏輯電路618、628把從另一個處理器中接收的消息與本地產(chǎn)生消息相比較,并且如果消息不匹配則發(fā)出鎖步錯誤信號;以及鎖步恢復(fù)邏輯電路650允許處理器(或者適當(dāng)?shù)南到y(tǒng)中其它鎖步設(shè)備)從鎖步錯誤中恢復(fù)。
所示的各種邏輯模塊可被實現(xiàn)成硬件實現(xiàn)的電路單元、微代碼或類似的固件或軟件,或者實現(xiàn)成硬件與軟件的組合。圖6所示系統(tǒng)還包括鎖步禁止邏輯電路660以禁止鎖步失敗信號和其他有利于鎖步的邏輯特征。這允許處理器、存儲器以及I/O設(shè)備作為普通的多處理器系統(tǒng)來操作,其中每個處理器獨立地執(zhí)行它自己的指令流,并且不執(zhí)行冗余檢驗。
如圖6所示,CPU內(nèi)核610和620以及網(wǎng)絡(luò)630和各個邏輯元件,例示于單個、單片、多核CPU設(shè)備(參見短劃線666)中。在這樣的實施例中,多核CPU可直接替換系統(tǒng)中的普通(非鎖步)多核CPU。這種替換允許系統(tǒng)以冗余處理模式進(jìn)行操作以便提高可靠性,或者(當(dāng)禁止鎖步邏輯時)作為正常的多處理器系統(tǒng)。存儲器680可以采用糾錯碼(“ECC”)電路或者其他類似的技術(shù)而不是多個冗余單元來實現(xiàn)可比較的可靠性。
本發(fā)明的實施例可以是一種機(jī)器可讀介質(zhì),其上存儲了使處理器執(zhí)行如上所述操作的指令。在其他實施例中,該操作可以由包含硬件邏輯電路的特定硬件部件來執(zhí)行。那些操作可以替換地由可編程計算機(jī)元件和常規(guī)硬件元件的任意組合來執(zhí)行。
機(jī)器可讀介質(zhì)包含用于以機(jī)器(例如計算機(jī))可讀的形式來存儲或傳送信息的任何機(jī)構(gòu),包括但不限于光盤只讀存儲器(CD-ROM)、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、可擦除可編程只讀存儲器(EPROM)、以及互聯(lián)網(wǎng)上的傳輸。
主要通過參考特定實施例并且根據(jù)分配給某些硬件和/或軟件部件的功能已描述了本發(fā)明的應(yīng)用。然而本領(lǐng)域技術(shù)人員應(yīng)當(dāng)承認(rèn)在可確定等待時間網(wǎng)絡(luò)上建立的鎖步電路操作還可以通過軟件和硬件來產(chǎn)生,所述軟件和硬件可不同于此處所描述那樣來分配本發(fā)明實施例的功能。這種改變和實現(xiàn)應(yīng)當(dāng)理解為落入以下權(quán)利要求之中。
權(quán)利要求
1.一種方法,包括產(chǎn)生第一請求;接收第二請求;把該第一請求與該第二請求進(jìn)行比較;以及如果該第一請求與該第二請求相匹配,則發(fā)送合并請求。
2.權(quán)利要求1的方法,進(jìn)一步包括如果該第一請求不同于該第二請求,則發(fā)出鎖步失敗信號。
3.權(quán)利要求1的方法,其中接收該第二請求包括經(jīng)由固定等待時間互連來接收該第二請求。
4.權(quán)利要求1的方法,其中發(fā)送合并請求包括經(jīng)由固定等待時間互連來發(fā)送該合并請求。
5.權(quán)利要求1的方法,其中該第一請求和該第二請求是為了從存儲器中獲得數(shù)據(jù)。
6.權(quán)利要求1的方法,其中該第一請求和該第二請求是為了與一部件交換數(shù)據(jù);以及其中該部件不同于以鎖步進(jìn)行操作的多個設(shè)備。
7.一種方法,包括從通信網(wǎng)絡(luò)上的節(jié)點接收消息;分配緩沖區(qū)以保存確認(rèn);向多個設(shè)備中的一個發(fā)送該消息;從多個設(shè)備中的一個中接收確認(rèn);以及對該消息進(jìn)行處理。
8.權(quán)利要求7的方法,其中分配操作發(fā)生在發(fā)送操作之前,以及處理操作發(fā)生在接收確認(rèn)之后。
9.權(quán)利要求7的方法,其中對該消息進(jìn)行處理包括至少以下之一執(zhí)行指令;對數(shù)據(jù)值進(jìn)行操作;以及存儲數(shù)據(jù)值。
10.一種方法,包括從多個設(shè)備中的一個接收消息;經(jīng)由已知等待時間通信介質(zhì)向多個設(shè)備中的一個發(fā)送確認(rèn);等候預(yù)定的時間周期;以及對該消息進(jìn)行處理。
11.權(quán)利要求10的方法,其中,該預(yù)定的時間周期等于已知等待時間通信介質(zhì)的等待時間。
12.權(quán)利要求10的方法,其中該消息包括來自不同于該多個設(shè)備的一個部件的數(shù)據(jù)。
13.權(quán)利要求10的方法,其中對該消息進(jìn)行處理包括至少以下之一執(zhí)行指令;對數(shù)據(jù)值進(jìn)行操作;以及存儲數(shù)據(jù)值。
14.一種處理器,包括互連網(wǎng)絡(luò);連接于該網(wǎng)絡(luò)的多個處理器內(nèi)核,其中第一內(nèi)核以與第二內(nèi)核鎖步的模式進(jìn)行操作;連接于該網(wǎng)絡(luò)的設(shè)備;映射邏輯電路,確定該第一內(nèi)核、該第二內(nèi)核及該設(shè)備在網(wǎng)絡(luò)上的相對位置,以及識別該第一內(nèi)核與第二內(nèi)核中哪一個離內(nèi)該設(shè)備較近以及哪一個離該設(shè)備較遠(yuǎn);請求邏輯電路,對從該第一內(nèi)核和第二內(nèi)核到該設(shè)備的請求進(jìn)行協(xié)調(diào);以及響應(yīng)邏輯電路,對從該設(shè)備到該第一內(nèi)核和第二內(nèi)核的響應(yīng)進(jìn)行協(xié)調(diào)。
15.權(quán)利要求14的處理器,進(jìn)一步包括請求驗證邏輯電路,將來自該第一內(nèi)核的第一請求與來自該第二內(nèi)核的第二請求進(jìn)行比較;其中如果該第一請求不與該第二請求相匹配,則該請求驗證邏輯電路將發(fā)出鎖步失敗信號。
16.權(quán)利要求15的處理器,進(jìn)一步包括鎖步禁止邏輯電路,用于禁止鎖步邏輯元件。
17.權(quán)利要求14的處理器,進(jìn)一步包括鎖步恢復(fù)邏輯電路,用于使該第一內(nèi)核與該第二內(nèi)核同步。
18.權(quán)利要求14的處理器,其中請求邏輯電路用于從該較遠(yuǎn)的內(nèi)核向該較近的內(nèi)核發(fā)送第一請求;把該第一請求與該較近內(nèi)核的第二請求進(jìn)行比較;以及從該較近內(nèi)核向該設(shè)備發(fā)送合并請求。
19.權(quán)利要求14的處理器,其中響應(yīng)邏輯電路將在該較近內(nèi)核接收響應(yīng);在該較近內(nèi)核分配確認(rèn)緩沖區(qū);向該較遠(yuǎn)內(nèi)核發(fā)送該響應(yīng);以及延遲響應(yīng)處理直到從該較遠(yuǎn)內(nèi)核接收到確認(rèn)。
20.一種系統(tǒng),包括多個中央處理單元(CPU);存儲器;以及用于在CPU與存儲器之間承載數(shù)據(jù)的網(wǎng)絡(luò);其中來自該存儲器的消息經(jīng)由網(wǎng)絡(luò)到達(dá)第一CPU;該第一CPU經(jīng)由網(wǎng)絡(luò)向第二CPU發(fā)送該消息;該第二CPU經(jīng)由網(wǎng)絡(luò)向該第一CPU發(fā)送確認(rèn);以及該第二CPU在發(fā)送該確認(rèn)之后的預(yù)定時間周期開始對該消息進(jìn)行處理。
21.權(quán)利要求20的系統(tǒng),其中該第一CPU在收到該確認(rèn)之后開始對該消息進(jìn)行處理。
22.權(quán)利要求20的系統(tǒng),其中該預(yù)定的時間周期等于該確認(rèn)經(jīng)由網(wǎng)絡(luò)從該第二CPU傳到該第一CPU的等待時間。
全文摘要
描述并請求保護(hù)通過在每個設(shè)備上產(chǎn)生請求、比較這些請求、并向服務(wù)節(jié)點提交匹配的請求來以鎖步的模式運行兩個或多個設(shè)備的方法。還描述并請求保護(hù)了采用所述方法的冗余執(zhí)行系統(tǒng)。
文檔編號H04L29/06GK1971548SQ20061017193
公開日2007年5月30日 申請日期2006年11月17日 優(yōu)先權(quán)日2005年11月18日
發(fā)明者P·B·拉庫納斯, M·馬蒂娜, G·Z·克里索斯, S·S·穆克赫吉 申請人:英特爾公司