專利名稱:多處理器集群系統(tǒng)中微處理器通信的方法和數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
一般地說,本發(fā)明涉及數(shù)據(jù)處理,特別是在數(shù)據(jù)處理系統(tǒng)中各處理器之間的通信。更具體地說,本發(fā)明涉及多處理器數(shù)據(jù)處理系統(tǒng)中處理器通信和協(xié)調(diào)的方法、處理單元和系統(tǒng)。
背景技術(shù):
在計算機(jī)技術(shù)領(lǐng)域,大家都知道通過利用多個單處理器聯(lián)合的處理能力能達(dá)到更強(qiáng)的計算機(jī)系統(tǒng)性能。多處理器(MP)計算機(jī)系統(tǒng)能以若干不同的體系結(jié)構(gòu)設(shè)計出來,其中,根據(jù)預(yù)期的設(shè)計目的、系統(tǒng)的性能要求以及每個應(yīng)用的軟件環(huán)境,可有各種設(shè)計更好地適用于特定的應(yīng)用。已知的MP體系結(jié)構(gòu)包括例如對稱多處理器(SMP)和非均衡存儲器訪問(NUMA)體系結(jié)構(gòu)。
在共享存儲器的多處理器數(shù)據(jù)處理系統(tǒng)中,系統(tǒng)中多個處理器每個都可以訪問和修改共享存儲器中存儲的數(shù)據(jù)。為了在多處理器之間同步對存儲器特定區(qū)組(例如高速緩存線)的訪問,程序設(shè)計模型往往要求一個處理器在修改該區(qū)組之前獲取與該區(qū)組關(guān)聯(lián)的鎖并在修改之后釋放該鎖。
在SMP體系結(jié)構(gòu)中,多處理器利用進(jìn)、出共享存儲器內(nèi)可高速緩存的存儲器單元的“加載”和“存儲”,在互聯(lián)總線上實現(xiàn)彼此通信。當(dāng)同步多處理器系統(tǒng)以實現(xiàn)流水線或并行處理時,在各處理器之間不斷地傳送通信信息,以允許每個處理器與執(zhí)行該進(jìn)程的其他處理器協(xié)調(diào)。處理器通過高速緩存子系統(tǒng)內(nèi)的加載和存儲,傳送特定的處理器信息,如處理器的狀態(tài)或進(jìn)程的狀態(tài)。當(dāng)一個處理器達(dá)到需要更新它的狀態(tài)信息并將其告知其他處理器的狀態(tài)時,該處理器通過獲取對數(shù)據(jù)的鎖來取得對該信息的排他控制以便對其進(jìn)行修改。這使得持有這一信息的其他處理器使它們的副本無效,并在前述處理器已存儲了其對信息的更新之后再次從存儲器中加載該狀態(tài)信息。這種處理器通信機(jī)制的效率是低的,因為它需要處理器不斷地爭奪對信息的控制,它需要從其他處理器中清空那個信息,只在已發(fā)生改變之后再重新加載,并且每當(dāng)一個處理器存儲該信息而其他處理器停住以等待信息更新時,它使流水線或并行處理減慢。
本發(fā)明認(rèn)識到,相對于互連耦合的處理器之間進(jìn)行的小百分比和小數(shù)量的處理間通信及其他事務(wù)而言,這些低效行為消耗大量互連帶寬并且使得通信延遲太高。例如,一個8路SMP系統(tǒng)中兩個節(jié)點每個中存在的四個處理器由較高級總線耦合,而這兩個節(jié)點本身由較低級總線耦合,即使對于這樣一個比較簡單的系統(tǒng),在不同節(jié)點中的處理器之間的一個數(shù)據(jù)請求的傳送將在這三條總線的每一個中產(chǎn)生與總線獲取及其他事務(wù)有關(guān)的延遲。即使在同一節(jié)點中處理器之間進(jìn)行的處理器間通信,也必須消耗較高級總線帶寬并造成總線延遲。因為這種延遲只是由于增大互連層次結(jié)構(gòu)的深度造成的,所以本發(fā)明認(rèn)識到,提供一種改善的數(shù)據(jù)處理系統(tǒng)體系結(jié)構(gòu)是人們所希望的和有益的,這一系統(tǒng)減小了物理上遠(yuǎn)離的處理器間通信的延遲并減小了總線帶寬消耗,從而釋放了總線帶寬,以用于各處理器及分級存儲器系統(tǒng)之間的一般數(shù)據(jù)傳送。
發(fā)明內(nèi)容
根據(jù)一個優(yōu)選實施例,提供了處理器通信的方法、處理器和多處理器系統(tǒng),其中這多個處理器中有至少一個處理器包含一個處理器通信寄存器(PCR),它向該處理器提供對其中所存儲的信息的連續(xù)訪問。一個處理器從這多個處理器的一個處理器中包含的PCR的一個或多個區(qū)(sector)提取信息,其中這些區(qū)之一被分配只供該多個處理器中的相關(guān)聯(lián)的一個處理器進(jìn)行存儲;以及把來自該相關(guān)聯(lián)的處理器的信息存入該多個處理器中的每個PCR中與其關(guān)聯(lián)的區(qū)。
在另一個實施例中,該多個處理器中至少兩個處理器同時從它們各自的PCR提取信息。在又一個優(yōu)選實施例中,在該多個處理器中包含的各個PCR中含有相同的信息。在又一個優(yōu)選實施例中,該信息對于該多個處理器協(xié)調(diào)流水線或并行多重處理是有用的。在又一個優(yōu)選實施例中,這一個或多個區(qū)的每個區(qū)被排他地分配給只供該多個處理器中的一個相關(guān)的處理器進(jìn)行存儲。在又一個實施例中,該一個或多個區(qū)的每個區(qū)為4字節(jié)。在又一個優(yōu)選實施例中,該處理器不斷地更新每個PCR中的每個區(qū),從而使該多個處理器中的每個處理器訪問它自己的PCR中存儲的信息,無需從系統(tǒng)存儲器加載這一信息。
在所附權(quán)利要求中陳述了相信能表征本發(fā)明的新特性。然而,結(jié)合附圖參考下文中對實施示例的詳細(xì)描述,將能最好地理解發(fā)明本身以及它的優(yōu)選使用方式,進(jìn)一步的目的和優(yōu)點,其中圖1描繪根據(jù)本發(fā)明優(yōu)選實施例的一個支持微處理器通信的多處理器數(shù)據(jù)處理系統(tǒng)的高級方框圖;圖2A顯示根據(jù)本發(fā)明一個優(yōu)選實施例的數(shù)據(jù)處理系統(tǒng)的一個簡圖中互連每個PCR的星型總線結(jié)構(gòu);圖2B顯示根據(jù)本發(fā)明優(yōu)選實施例的數(shù)據(jù)處理系統(tǒng)的一個簡圖中互連每個PCR的環(huán)型總線結(jié)構(gòu);圖3A和3B描繪根據(jù)本發(fā)明的一個優(yōu)選實施例,使用PCR以便于在多處理器系統(tǒng)中分別進(jìn)行流水線處理和并行處理的舉例;圖4A描繪根據(jù)本發(fā)明的優(yōu)選實施例,具有改進(jìn)的處理器通信的基于集群的數(shù)據(jù)處理網(wǎng)絡(luò);圖4B顯示根據(jù)本發(fā)明的一個優(yōu)選實施例,在集群C1-C3中所有處理器單元內(nèi)包含的處理器通信寄存器使用的數(shù)據(jù)格式;以及圖5描繪根據(jù)本發(fā)明的一個優(yōu)選實施例,利用獨立的無線網(wǎng)絡(luò)提供改進(jìn)的處理器通信的數(shù)據(jù)處理系統(tǒng)。
具體實施例方式
現(xiàn)在參考附圖,特別是參考圖1,圖中顯示根據(jù)本發(fā)明的一個實施例,支持微處理器通信的多處理器(MP)數(shù)據(jù)處理系統(tǒng)的高級方框圖。如圖中所示,數(shù)據(jù)處理系統(tǒng)8包括若干個(例如64個)處理單元10,它們通過系統(tǒng)互連12耦合以進(jìn)行通信。如圖1的實施例中所示,處理單元10包含四個處理器單元1-4作為舉例;然而,該優(yōu)選實施例不受處理器單元數(shù)量的限制,本發(fā)明將支持任何數(shù)量或類型的處理器單元。本發(fā)明能在具有任何數(shù)量的處理器單元的數(shù)據(jù)處理系統(tǒng)中實現(xiàn),例如在該多處理器系統(tǒng)中包括2、4、8、16、32等數(shù)量的處理器。每個處理單元10是一個包括一個或多個處理器核心14的集成電路。除了寄存器、指令流程邏輯和用于執(zhí)行程序指令的執(zhí)行單元外,每個處理器核心14還包括相關(guān)聯(lián)的一級(L1)指令和數(shù)據(jù)高速緩存16和18,它們分別暫時緩存可能由相關(guān)聯(lián)的處理器核心14訪問的指令和操作數(shù)數(shù)據(jù)。
如圖1中進(jìn)一步顯示的那樣,數(shù)據(jù)處理系統(tǒng)8的存儲器分層結(jié)構(gòu)還包括物理存儲器22,包含一個或多個存儲器模塊(圖中示為存儲器模塊36、38和40),它們構(gòu)成該存儲器分層結(jié)構(gòu)中最低級易失性數(shù)據(jù)存儲器,以及一個或多個較低級高速緩沖存儲器,如芯片上二級(L2)高速緩存20,它們用于中間集結(jié)從物理存儲器22到處理器核心14的指令和操作數(shù)數(shù)據(jù)。如本領(lǐng)域技術(shù)人員理解的那樣,存儲器分層結(jié)構(gòu)的每個相繼的較低級通常能比較高級存儲更大量數(shù)據(jù),但是具有更高的訪問延遲。如圖所示,物理存儲器22通過存儲器控制器30、32和34與互連12接口,可存儲操作數(shù)數(shù)據(jù)以及一個或多個操作系統(tǒng)的一些部分以及一個或多個應(yīng)用程序。存儲器控制器30、32和34分別與相應(yīng)的存儲器模塊36、38和40耦合并控制它們。
圖中還顯示了輸入/輸出連接器52,當(dāng)執(zhí)行對存儲器系統(tǒng)的直接存儲器訪問操作時,連接器52以與處理單元10相似的方式操作。如將理解的那樣,該系統(tǒng)可有附加的輸入/輸出連接器,與輸入/輸出連接器52等同,連接于互連12。由于各種輸入/輸出設(shè)備,如盤驅(qū)動器和視頻監(jiān)視器,被添加到PCI總線58(或其他類似的附加總線)上或從該總線上去掉,輸入/輸出連接器52用于通過橋54在PCI總線58和互連12之間傳送數(shù)據(jù)。
本領(lǐng)域技術(shù)人員將會理解,數(shù)據(jù)處理系統(tǒng)8可包括許多額外的圖中未示出的部件,如I/O適配器、互連橋、非易失性存儲器、連接到網(wǎng)絡(luò)或附加設(shè)備的端口等。因為這些附加部件對理解本發(fā)明不是必須的,故沒有顯示在圖1中且不在這里進(jìn)一步討論。然而,還應(yīng)該理解,由本發(fā)明提供的增強(qiáng)特性可應(yīng)用于任何體系結(jié)構(gòu)的數(shù)據(jù)處理系統(tǒng)并且決不限于圖1所示一般化MP體系結(jié)構(gòu)。
根據(jù)一個優(yōu)選實施例,處理器單元1-4每個分別包含一個處理器通信寄存器(PCR)22、24、26和28。每個PCR22-28存儲完全相同的信息,它對多處理器系統(tǒng)中的處理器有用,如用于協(xié)調(diào)流水線或并行多重處理的處理器通信信息。每個PCR22-28是一個四字節(jié)寄存器,它能由其相關(guān)聯(lián)的處理器單元讀出,但這里的四個字節(jié)每個被排他地分配只供四個處理器單元1-4中與其關(guān)聯(lián)的一個進(jìn)行存儲(在另一個實施例中,該PCR有32個區(qū),每個區(qū)有四字節(jié)寬)。在操作時,每個處理器單元1-4對其自己的PCR內(nèi)容連續(xù)地訪問,并能遍存(store-through)到它自己的以及每個其他PCR內(nèi)的它的專用區(qū)。換言之,在數(shù)據(jù)處理系統(tǒng)內(nèi)的每個處理器單元寫每個處理器單元中包含的每個PCR,但只寫這些PCR的它的被指定部分。通過處理器單元的操作,由每個處理器更新所有PCR內(nèi)該處理器的區(qū),每個PCR22-28被持續(xù)地更新,從而立即允許每個處理器單元1-4看到PCR數(shù)據(jù)中的改變。例如,在本發(fā)明的一個實施例中,處理器單元1將通過改變它自己的PCR22內(nèi)包含的數(shù)據(jù),然后通過互連12傳送指向處理器單元2-4的每個中的PCR的“遍存”命令,但越過整個高速緩存子系統(tǒng)(包括L1和L2高速緩存),來改變這些PCR內(nèi)它的區(qū)。處理器單元1的遍存命令將只尋址分配給它的區(qū),其是每個PCR22-28的四個字節(jié)內(nèi)的第一個字節(jié)。例如,處理器單元3將向每個其他處理器單元1、2及4發(fā)送一個遍存命令,它尋址每個PCR內(nèi)的第三個字節(jié)。將會理解,PCR22-28不限于寄存器中持有的任何特定字節(jié)數(shù)或分配給特定處理器的任何特定寄存器字節(jié)數(shù),而且在另一些實施例中它們可以持有任何數(shù)量的字節(jié)或向特定的處理器分配任何數(shù)量的寄存器字節(jié)。
如將會理解的那樣,本發(fā)明通過允許將處理器通信信息立即傳送到所有處理器而無需暫時地限制對該信息的訪問或迫使所有處理器持續(xù)的爭奪同一高速緩存線,以致以無休止的“加載”、“存儲”和“使無效”命令流淹沒互連和存儲器系統(tǒng),從而顯著地提高了多處理器系統(tǒng)內(nèi)的效率。
本優(yōu)選實施例在多處理系統(tǒng)進(jìn)行流水線或并行處理的那些應(yīng)用中特別有用。例如,在現(xiàn)有技術(shù)中,當(dāng)一個處理器完成一個流水線處理的它的那一部分時,它把處理器通信信息存儲在它外部的高速緩存子系統(tǒng)中,表明它已完成了該處理的它那一階段。在該流水線中的下一個微處理器持續(xù)地輪詢它的高速緩存子系統(tǒng),等待更新的狀態(tài)信息。當(dāng)前一個處理器得到獨占訪問并使高速緩存中的狀態(tài)信息無效時,該下一個處理器從存儲器或前一處理器高速緩存中提取更新后的狀態(tài)信息并檢驗適當(dāng)?shù)臉?biāo)志以確定該處理是否已準(zhǔn)備好進(jìn)入它的階段。如將會理解的那樣,有大量的互連帶寬被處理器間通信耗掉,因為所有的多處理器都在高速緩存內(nèi)加載和存儲關(guān)于該流水線的處理器通信信息的相同字節(jié),以便互通和協(xié)調(diào)它們的處理。
現(xiàn)在參考圖2A,圖中顯示根據(jù)本發(fā)明的優(yōu)選實施例在數(shù)據(jù)處理系統(tǒng)8的一個簡圖中互連每個PCR的星型總線結(jié)構(gòu)。在一個優(yōu)選實施例中,每個PCR22-28被分成四個區(qū),每個區(qū)被指定用于數(shù)據(jù)處理系統(tǒng)8中的四個處理器之一,而且每個區(qū)含有一個信息字節(jié)。如將會理解的那樣,PCR22-28能被分成任何數(shù)量的區(qū),包括其數(shù)量等于該數(shù)據(jù)處理系統(tǒng)中處理器單元的數(shù)量(例如2、4、8、16、32、64等)。再有,在PCR22-28內(nèi)分配給每個區(qū)的字節(jié)數(shù)也不限于如該優(yōu)選實施例中所示僅為一個字節(jié),而是設(shè)置成認(rèn)為是在給定體系結(jié)構(gòu)中為提供處理器通信所必須的字節(jié)數(shù)。
如圖2A中所示,處理器單元1能在任何時候讀整個PCR 22,從而能立即訪問來自該系統(tǒng)內(nèi)所有處理器的處理器通信信息。類似地,處理器單元2能在任何時候讀整個PCR 24,處理器單元3能在任何時候讀整個PCR26,以及處理器單元4能在任何時候讀整個PCR28。在一個實施例中,在所有PCR內(nèi)的區(qū)P1由處理器單元1控制,在所有PCR內(nèi)的區(qū)P2由處理器單元2控制,在所有PCR內(nèi)的區(qū)P3由處理器單元3控制,以及在所有PCR內(nèi)的區(qū)P4由處理器單元4控制。只有控制一個區(qū)的處理器單元能對該PCR內(nèi)的那個區(qū)進(jìn)行更新、修改或存儲。這樣,例如,只有處理器單元1能對PCR22-28內(nèi)的區(qū)P1進(jìn)行寫操作。類似地,處理器單元2控制區(qū)P2,因而是該系統(tǒng)內(nèi)能對PCR22-28內(nèi)的區(qū)P2進(jìn)行寫操作的唯一處理器單元。類似地,區(qū)P3和P4分別由處理器單元3和4控制,因而只有控制處理器單元能對PCR22-28內(nèi)的特定區(qū)進(jìn)行寫操作。然而,所有處理器單元1-4能從那個處理器單元包含的PCR內(nèi)的全部區(qū)中讀出信息。
如圖2A中所示,互連200-206(集體作為互連總線)是每個處理器單元1-4之間的直接總線鏈接,它們是獨立的并越過由存儲器系統(tǒng)使用的互連12。處理器單元1直接向它的PCR22的區(qū)P1寫信息,以更新它自己的處理器通信信息。處理器單元1還有通過互連200到其他處理器單元2-4的直接通信鏈接。當(dāng)寫入信息以更新其處理器通信信息時,處理器單元1通過互連200遍寫到PCR24-28,這直接把被寫數(shù)據(jù)放到相應(yīng)寄存器的P1區(qū)。處理器單元2以類似的方式把處理器信息遍寫到它自己的PCR24內(nèi)它的區(qū)P2并通過互連202把該處理器通信信息直接傳送到PCR22,26及28的P2區(qū)。處理器單元3把處理器信息遍寫到它自己的PCR26內(nèi)它的區(qū)P3并通過互連204把該處理器通信信息直接傳送到PCR22、24及28的P3區(qū)。處理器單元4把處理器信息遍寫到它自己的PCR28內(nèi)它的區(qū)P4并通過互連206把該處理器通信信息直接傳送到PCR22、24及26的P4區(qū)。
為向每個處理器單元提供對PCR區(qū)的讀和寫,可實現(xiàn)星型處理器通信互連的各種實現(xiàn)。如圖2A中所示,每個處理器單元只被允許對PCR內(nèi)分配給它的區(qū)寫信息。這能通過互連200-206的直接硬連線實現(xiàn),從而只有那些區(qū)可由處理器單元訪問。另一種作法是,互連200-206可為單個通信總線或多重通信總線,它們接供數(shù)據(jù)和該數(shù)據(jù)的目標(biāo)地址二者,從而使每個處理器單元只能以該寄存器內(nèi)的指定字節(jié)為目標(biāo)。例如,處理器單元2只有權(quán)向每個PCR22-28的第二個字節(jié)寫信息。為了讀信息,每個處理器單元1-4有能力讀它自己內(nèi)部的PCR。然而,如將會理解的那樣,隨著系統(tǒng)內(nèi)處理器單元數(shù)量的增大,互連總線系統(tǒng)的復(fù)雜性隨著每增加一個處理器單元而顯著增大。在另一些實施例中,在多處理器系統(tǒng)內(nèi)的其他處理器單元能被接入該星型網(wǎng)絡(luò)之中,從而使該處理器能讀另一處理器單元的PCR。例如,一個新的處理器單元5(未示出)能被連入該星型網(wǎng)絡(luò)中去讀寄存器28并得到處理器單元1-4正在利用的同樣的處理器通信信息。
現(xiàn)在針對圖2B,圖中顯示根據(jù)本發(fā)明的優(yōu)選實施例的數(shù)據(jù)處理系統(tǒng)8的一個簡圖中互連每個PCR的環(huán)型總線結(jié)構(gòu)。環(huán)型總線210是一個特殊的通信互連,它允許一個多處理器系統(tǒng)內(nèi)的各處理器單元互通存儲在PCR22-28中的特殊處理器通信信息。環(huán)型總線210獨立于由互連12連接到處理器單元1-4的分層存儲器系統(tǒng)。在該環(huán)型總線實施例中,如本領(lǐng)域技術(shù)人員公知的那樣,利用令牌傳送環(huán)型網(wǎng)絡(luò)成按包來傳送數(shù)據(jù)。如將會理解的那樣,使用環(huán)型總線是很可伸縮的,并不限制數(shù)據(jù)處理系統(tǒng)中能包括的處理器單元數(shù)量。然而,星型互連的延遲低于環(huán)型總線,因為每個處理器直接與其他處理器相連。
當(dāng)每個處理器單元1-4需要更新PCR22-28中它的區(qū)時,相應(yīng)的處理器在環(huán)型總線210上傳送的“包”中發(fā)出一個存儲命令。該包沿著互連環(huán)210傳送并被連到該環(huán)型總線的每個其他處理器單元1-4接收。在環(huán)型總線210上接收包的每個處理器單元解碼包含在該包內(nèi)的地址并把信息存儲到相關(guān)聯(lián)的PCR區(qū),或者,替代的作法是根據(jù)該包中包含的信息確定是哪個處理器單元發(fā)出了該存儲指令,然后更新與那個發(fā)存儲指令的處理器關(guān)聯(lián)的PCR區(qū)。為防止在環(huán)型總線210上發(fā)生沖突,處理器單元1-4在把它的凈載荷連到該包的尾端之前讓來自其他處理器的包傳送通過該環(huán)型總線。
現(xiàn)在參考圖3A和3B,圖中給出根據(jù)本發(fā)明的優(yōu)選實施例在多處理器系統(tǒng)內(nèi)使用PCR以便于分別進(jìn)行流水線和并行處理的舉例。當(dāng)進(jìn)行流水線處理時,在處理器網(wǎng)絡(luò)內(nèi)的每個處理器負(fù)責(zé)執(zhí)行與一段計算關(guān)聯(lián)的特定算法。通常,在流水線處理中,一個處理單元接收已由前一個處理器處理過的信息,對那個數(shù)據(jù)完成它的處理功能,然后把該處理過的數(shù)據(jù)傳送給流水線中的下一個處理器以進(jìn)一步處理該數(shù)據(jù)。例如,數(shù)據(jù)處理系統(tǒng)8可能正處理16K字節(jié)音頻文件以對該音頻文件執(zhí)行各種處理例程。例如,一個處理器可能正執(zhí)行一個例程以規(guī)一化音量,另一個處理器可能正實現(xiàn)一個功能去規(guī)一化基音,而另一個處理器可能正對該音頻文件加密。這樣的任務(wù)使它本身趨向于流水線處理。
圖3A中描繪的是PCR的內(nèi)容,這里每行表示選定時刻一個區(qū)(P1、P2、P3和P4)的內(nèi)容,而每個相繼行代表在不同的時間點(t1、t2、t3、和t4)的區(qū)。在時刻t1,每個處理器單元1-4看到區(qū)P1表明處理器單元1當(dāng)前正在處理標(biāo)為“F”的數(shù)據(jù)。類似地,P2表明當(dāng)前在處理標(biāo)為“E”的數(shù)據(jù),P3表明當(dāng)前在處理標(biāo)為“D”的數(shù)據(jù),以及P4表明當(dāng)前在處理標(biāo)為“C”的數(shù)據(jù)。這里在圖3A中顯示的字節(jié)由它們的16進(jìn)制表示形式表示。在時刻t2,P1仍表明處理器單元1仍在處理由F代表的數(shù)據(jù),但處理器單元2和3已更新了PCR中的P2和P3,表明它們已完成了對數(shù)據(jù)E和D的處理,如分別由E’和D’代表的那樣。P4顯示出未被更新,表明處理器單元4仍在處理與C相關(guān)的數(shù)據(jù)。
在時刻t3,處理器單元1已更新了PCR中的P1,表明它現(xiàn)在已開始處理與“0”相關(guān)的數(shù)據(jù)。一旦看到PCR內(nèi)對P1的更新,處理器單元2明白處理器單元1已完成了它對與F相關(guān)的數(shù)據(jù)集的例程,于是處理單元2可開始它對那個數(shù)據(jù)的例程。處理器單元2更新PCR中它的區(qū)P2以表明F,然后從高速緩存子系統(tǒng)中提取該相關(guān)的數(shù)據(jù)以開始它的例程。類似地,處理器單元3看到處理器單元2現(xiàn)已完成對數(shù)據(jù)集E的例程并已釋放了它的控制,于是更新在PCR內(nèi)的區(qū)P3以表明處理器單元3現(xiàn)在開始作用于數(shù)據(jù)集E。盡管在時刻3處理器單元4能看到處理器單元3已完成了對數(shù)據(jù)集D的工作,但它尚未完成對數(shù)據(jù)集C的例程,所以尚未更新PCR。在時刻t4,處理器單元1已完成它對數(shù)據(jù)集0的例程并已開始處理數(shù)據(jù)集1,如它更新PCR中它的區(qū)P1所指出的那樣,表明它在對數(shù)據(jù)集1工作。類似地,處理器單元2已完成對數(shù)據(jù)集F的工作并已開始執(zhí)行對數(shù)據(jù)集0的操作,因為它通過處理器單元1對其PCR內(nèi)的區(qū)P1的更新看到處理器單元1已完成對數(shù)據(jù)集0的工作。在時刻t4,處理器單元3尚未完成它對數(shù)據(jù)集E的例程,所以它在PCR內(nèi)的區(qū)P3尚未被更新。如由D′指出的那樣,處理器單元4已完成它對數(shù)據(jù)集D的操作。因為處理器3尚未完成它對數(shù)據(jù)集E的處理,所以處理器4不能開始對那個數(shù)據(jù)集工作,于是相應(yīng)地尚未更新PCR。
正如能看到的那樣,本發(fā)明的優(yōu)選實施例允許該系統(tǒng)內(nèi)的每個處理器單元能立即訪問來自其他處理器的處理器通信信息,這些信息表明正在對特定數(shù)據(jù)集執(zhí)行其處理的每個處理器的當(dāng)前狀態(tài),從而有助于進(jìn)行流水線處理。這通過與該數(shù)據(jù)集流水線處理并行的有效的處理器通信提供對處理器的有效協(xié)調(diào)。
現(xiàn)在參考圖3B,圖中顯示根據(jù)本發(fā)明的優(yōu)選實施例在并行處理中利用PCR的舉例。在這一例子中,數(shù)據(jù)處理系統(tǒng)8內(nèi)的每個處理單元正對同一問題的相互關(guān)聯(lián)的不同部分進(jìn)行工作,但正被處理的該各數(shù)據(jù)集之間的數(shù)據(jù)依賴性要求它們被并行執(zhí)行,從而要求在數(shù)據(jù)被處理時各處理單元之間的協(xié)調(diào)。如圖3B中可見,在時刻t1,每個處理單元1-4已更新PCR內(nèi)它們的區(qū),表明當(dāng)前它們正在處理由“0”代表的數(shù)據(jù)集。在時刻t2,P1、P2和P4已被更新,表明處理單元1、2和4已準(zhǔn)備好開始處理數(shù)據(jù)集1,但P3表明處理單元3繼續(xù)處理數(shù)據(jù)集0。直至?xí)r刻t3,處理單元3才更新P3,表明它已完成處理數(shù)據(jù)集0。在那一點,每個處理單元1-4開始并行處理數(shù)據(jù)集1。在時刻t4,P1表明處理單元1已完成處理數(shù)據(jù)集1并準(zhǔn)備開始處理數(shù)據(jù)集2。P2和P3表明處理單元2和3在繼續(xù)處理數(shù)據(jù)集1。P4顯示處理單元4已完成數(shù)據(jù)集1并準(zhǔn)備開始處理數(shù)據(jù)集2。在時刻t5,處理單元2和3已完成處理數(shù)據(jù)集1并已更新PCR以表明它們準(zhǔn)備好開始處理數(shù)據(jù)集2。在那一點,每個處理單元1-4開始并行處理數(shù)據(jù)集2。如將會理解的那樣,PCR允許每個處理單元1-4通過立即訪問每個PCR中存儲的處理器通信信息來同步它們對該數(shù)據(jù)集的并行處理,無需消耗高速緩存子系統(tǒng)互連的任何帶寬去更新和協(xié)調(diào)由每個處理單元進(jìn)行的并行處理過程。
現(xiàn)在參考圖4A,圖中顯示根據(jù)本發(fā)明的優(yōu)選實施例,具有改進(jìn)的處理器通信的、基于集群的數(shù)據(jù)處理網(wǎng)絡(luò)。數(shù)據(jù)處理系統(tǒng)400包括由網(wǎng)絡(luò)420互連的集群1(C1)、集群2(C2)和集群3(C3)。每個集群C1-C3包含四個處理器單元401-404,由環(huán)型總線410互連。每個處理器單元401-404分別包含一個PCR422-428,其包含12字節(jié)處理器通信信息。每個集群C1-C3包括與環(huán)型總線410相連的網(wǎng)卡406,其使它的集群與網(wǎng)絡(luò)420互連。網(wǎng)絡(luò)420能在至少三個不同的實施例中實現(xiàn),以提供用于該優(yōu)選實施例的處理器通信的PCR之間的互連(1)具有專用協(xié)議的標(biāo)準(zhǔn)數(shù)據(jù)網(wǎng)絡(luò),它允許在集群之間傳送一種特殊的數(shù)據(jù)包,(2)標(biāo)準(zhǔn)的數(shù)據(jù)網(wǎng)絡(luò),其傳輸唯一網(wǎng)際協(xié)議(IP)地址,只用于把數(shù)據(jù)存入PCR,以及(3)專用于向PCR傳送處理器通信信息的單獨的數(shù)據(jù)網(wǎng)絡(luò)。
在網(wǎng)絡(luò)420的一個優(yōu)選實施例中,網(wǎng)絡(luò)420將由一個專用協(xié)議實現(xiàn),該層位于計算機(jī)系統(tǒng)數(shù)據(jù)網(wǎng)絡(luò),如局域網(wǎng)(LAN)或因特網(wǎng)內(nèi)的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議,如千兆字節(jié)以太網(wǎng)協(xié)議或基于IP的協(xié)議的頂層。為提供該集群處理器與位于一個不同集群中的其他處理器之間的通信,在該系統(tǒng)網(wǎng)絡(luò)上傳送使用該專用協(xié)議的點到廣播型特殊包。如在一個優(yōu)選實施例中使用的那樣,網(wǎng)絡(luò)420通常利用諸如傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的通信協(xié)議提供每個集群C1-C3之間的數(shù)據(jù)和指令通信。網(wǎng)卡406利用標(biāo)識它的集群的唯一IP地址供接收和發(fā)送集群間的通信。
為更新PCR,進(jìn)行更新的處理器在環(huán)型總線410上發(fā)送“遍存”命令以更新每個PCR中它的區(qū)。它的集群中的其他處理器,通過索引到由該處理器傳送的包中的地址,來更新它們自己的PCR。網(wǎng)絡(luò)單元406接收該命令并把它插入一個特殊的專用協(xié)議TCP/IP包中,該包被編址到該數(shù)據(jù)處理系統(tǒng)400中其他集群的IP地址。該特殊的PCR包在網(wǎng)絡(luò)420上傳送并由其他集群的網(wǎng)絡(luò)單元406接收。其凈載荷的解碼與其他標(biāo)準(zhǔn)包的不同之處在于跨越TCP/IP協(xié)議堆棧,代之以只是從該包中剝離出凈載荷并在環(huán)型總線410上作為遍存命令傳送給處理器單元401-404以更新各PCR422-428中被尋址的區(qū)(或多個區(qū),如果該凈載荷包含多個區(qū)更新的話)。通過索引到與進(jìn)行傳送的集群中正在更新其處理器通信信息的那個或那些處理器單元相關(guān)聯(lián)的那個或那些區(qū),在PCR內(nèi)的每個區(qū)被編址,如圖4B中描繪的那樣。這樣,由集群C1-C3利用的特殊類型IP包提供對其他集群中包含的所有PCR的更新。
現(xiàn)在參考圖4B,圖中顯示根據(jù)本發(fā)明的優(yōu)選實施例,在集群C1-C3中所有處理器單元內(nèi)包含的PCR所用的數(shù)據(jù)格式。每個處理器單元401-404分別包含具有12個數(shù)據(jù)字節(jié)的一個PCR422-428,其每個由指定的集群C1-C3的各自的處理器P1-P4控制,如圖4B中所示。由于每個處理器單元在其PCR中保留相同處理器通信信息的它自己的副本,所以最新更新的處理器通信信息可由所有集群C1-C3立即和持續(xù)地得到。當(dāng)一個集群內(nèi)的一個處理器單元需要在整個網(wǎng)絡(luò)上更新該各PCR內(nèi)包含的它的處理器通信信息時,該處理器在環(huán)型總線410上發(fā)出一個特殊的“遍寫”命令,該命令尋址到各PCR422-428內(nèi)分配給它的字節(jié),從而更新該各PCR內(nèi)由它控制的字節(jié),例如,在集群C2內(nèi),處理器單元3將遍存到各PCR422-428內(nèi)的第七字節(jié)。在集群C2中的每個其他處理器單元(處理器單元1、2和4)將繼續(xù)更新它們的相應(yīng)PCR內(nèi)的第七字節(jié)。當(dāng)網(wǎng)卡406接收來自處理器單元3的遍存請求時,它把該命令打包(如果必要的話)并在網(wǎng)絡(luò)420上把該遍存命令傳送到集群C1和C3的IP地址(以一包或多包傳送,取決于具體實現(xiàn))。每個集群C1和C3將利用進(jìn)行發(fā)送的集群C2的IP地址解碼該存儲請求以確定集群C2的第三個處理器單元(P3)曾在更新PCR的第七字節(jié)。
回來參考圖4A,在網(wǎng)絡(luò)420的另一優(yōu)選實施例中,將使用處在標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議頂層的專用協(xié)議實現(xiàn)網(wǎng)絡(luò)420,但那里每個集群C1-C3有其自己的唯一IP地址專用于更新PCR并與網(wǎng)絡(luò)420使用的與各集群通信的一般IP地址無關(guān)。為更新PCR,進(jìn)行更新的處理器在環(huán)型總線410上發(fā)送一個遍存命令以更新PCR的它的區(qū)。與環(huán)型總線410連接的該集群中的其他處理器通過索引到被該處理器傳送的包中的地址來更新它們自己的PCR。網(wǎng)絡(luò)單元406接收該命令并將其插入一個TCP/IP包,該包被編址到唯一IP地址,這些IP地址預(yù)留出以供更新數(shù)據(jù)處理系統(tǒng)400的其他集群中的PCR。這一特殊的PCR包在網(wǎng)絡(luò)420上傳送并根據(jù)其它集群的網(wǎng)絡(luò)單元406的PCR所用的該唯一IP地址,由其他集群的網(wǎng)絡(luò)單元406接收。其凈載荷被解碼并作為遍存命令在環(huán)型總線410上傳送到處理器單元401-404,以更新各PCR422-428中的被尋址區(qū)(或多個區(qū),如果該凈載荷包含多個區(qū)更新的話)。如圖4B中引用的那樣,通過索引到與進(jìn)行傳送的集群中正在更新其處理器通信信息的那個或那些處理器單元相關(guān)聯(lián)的那個或那些區(qū),在各PCR內(nèi)的每個區(qū)被編址。
在網(wǎng)絡(luò)420的又一個優(yōu)選實施例中,網(wǎng)絡(luò)420將用一個專用于更新各PCR的且與互連各集群的標(biāo)準(zhǔn)網(wǎng)絡(luò)無關(guān)的單獨的、專用網(wǎng)絡(luò)來實現(xiàn)。在專用網(wǎng)絡(luò)420的一個優(yōu)選實施例中,使用互連每個集群的單獨點到點總線實現(xiàn)互連。網(wǎng)絡(luò)單元406協(xié)調(diào)這些直接通信并把“遍存”從其他集群傳送到它的相關(guān)環(huán)型總線410。在專用網(wǎng)絡(luò)420的另一優(yōu)選實施例中,使用基于包的網(wǎng)絡(luò)和專用協(xié)議與各集群通信,以此實現(xiàn)互連。它還能使用標(biāo)準(zhǔn)協(xié)議,如千兆字節(jié)以太網(wǎng)或基于IP的協(xié)議,或者它們的某些定制變體。在這一實施例中,為更新各PCR,進(jìn)行更新的處理器在環(huán)型總線410上發(fā)送一個“遍存”命令以更新PCR中它的區(qū)。與環(huán)型總線410連接的該集群中的其他處理器通過索引到由該處理器傳送的包中的地址來更新它們自己的PCR。網(wǎng)絡(luò)單元406接收該命令并將其插入一個包,該包被編址到唯一IP地址,這些地址預(yù)留出以供更新數(shù)據(jù)處理系統(tǒng)400的其他集群中的各PCR。這一特殊的PCR包在專用網(wǎng)絡(luò)420上傳送并被其他集群的網(wǎng)絡(luò)單元406接收。其凈載荷被解碼并作為遍存命令在環(huán)型總線410上傳送到處理器單元401-404,以更新各PCR422-428中的被尋址區(qū)(或多個區(qū),如果該凈載荷包含多個區(qū)更新的話)。如圖4B中引用的那樣,通過索引到與進(jìn)行傳送的集群中正在更新其處理器通信信息的那個或那些處理器單元相關(guān)聯(lián)的那個或那些區(qū),在各PCR內(nèi)的每個區(qū)被編址。
現(xiàn)在參考圖5,圖中顯示根據(jù)本發(fā)明的優(yōu)選實施例,利用獨立的無線網(wǎng)絡(luò)提供改進(jìn)的處理器通信的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)500有多個被互連的服務(wù)器計算機(jī)共處一處集體完成復(fù)雜的和/或數(shù)據(jù)量大的計算(通常稱作服務(wù)器場(server farm))。在圖5的例子中,服務(wù)器場500包含六個服務(wù)器(服務(wù)器1-6)。每個服務(wù)器1-6包括兩個“抽屜(drawer)”其包含多個服務(wù)器片(blade)502、504。如將會理解的那樣,每個服務(wù)器片502、504可包含多個對稱多處理器。在一個優(yōu)選實施例中,每個服務(wù)器片502、504將針對數(shù)據(jù)處理系統(tǒng)配置而成,例如針對圖1中所示數(shù)據(jù)處理系統(tǒng)8配置而成,其被配置成具有多個處理器,其使用用于服務(wù)器片的每個處理器中包含的每個處理器通信寄存器之間的通信的環(huán)形互連(例如如圖2B中所示)。如將會理解的那樣,所顯示的服務(wù)器場500有六個服務(wù)器只是為了便于說明,并不限于任何特定的服務(wù)器數(shù)量。如會進(jìn)一步理解的那樣,每個服務(wù)器片502、504能包含任何數(shù)量的處理器(例如2、4、8、16、32個等),不限于圖2B中所示的四個處理器。
根據(jù)本發(fā)明的優(yōu)選實施例,在服務(wù)器1-6中的服務(wù)器片502有環(huán)型總線(未示出),其以無線網(wǎng)卡506互連服務(wù)器片502中的每個服務(wù)器單元(未示出)中包含的PCR(未示出),其互連方式與圖4A中顯示的以環(huán)型總線410互連處理器單元401-404中的PCR及網(wǎng)卡406的方式相同。無線網(wǎng)卡506的操作與圖4A中看到的網(wǎng)卡406的操作完全相同,只是它經(jīng)由通過天線508的傳輸在無線網(wǎng)絡(luò)514上與服務(wù)器場500內(nèi)的其他無線網(wǎng)卡506互連。類似地,服務(wù)器片504利用環(huán)型網(wǎng)絡(luò)互連服務(wù)器卡處理器中的每個PCR與無線網(wǎng)卡510互連。無線網(wǎng)卡510通過天線512與無線網(wǎng)絡(luò)514進(jìn)行無線通信。以同樣方式,服務(wù)器1-6的每個服務(wù)器片502、504與無線網(wǎng)絡(luò)514互連,以創(chuàng)建具有12個單獨集群(包含12個服務(wù)器抽屜)的基于集群的網(wǎng)絡(luò)。
服務(wù)器場500內(nèi)的每個集群以與網(wǎng)絡(luò)400的各集群相同的方式更新各自在PCR內(nèi)包含的處理器通信信息。然而,在這種情況中,為更新各PCR中的處理器通信信息而與每個集群的通信是在無線網(wǎng)絡(luò)上完成的。每個無線網(wǎng)卡506、510在所有指定頻率上監(jiān)聽,等待服務(wù)器場500內(nèi)另一集群對PCR的更新。在一個利用頻分多路復(fù)用(FDM)的實施例中,當(dāng)一個集群需要遍寫到其他集群以更新其PCR區(qū)時,它在其唯一頻率上傳送該遍存信息。在服務(wù)器場500內(nèi)沒有其他集群在那個特定頻率上傳輸,因此,唯一地識別出一個特定集群內(nèi)的對PCR的那個區(qū)具有寫權(quán)限的特定處理器,所以復(fù)雜的基于IP的尋址和協(xié)議是不必要的。例如,在一個優(yōu)選實施例中,每個無線網(wǎng)卡506、510利用標(biāo)準(zhǔn)的無線網(wǎng)絡(luò)協(xié)議,如IEEE802.11(a)協(xié)議,它使用正交FDM,彼此通信。在另一些優(yōu)選實施例中,該無線網(wǎng)絡(luò)利用時分多路復(fù)用(TDM)或碼分多路復(fù)用(CDM)傳輸系統(tǒng)。
在另一個優(yōu)選實施例中,服務(wù)器片502、504的每個服務(wù)器片本身含有無線網(wǎng)卡,它通過環(huán)型總線與服務(wù)器片的處理器互連,而且通過無線網(wǎng)絡(luò)514與服務(wù)器場500內(nèi)的所有其他服務(wù)器片進(jìn)行無線通信。例如,每個服務(wù)器片502、504將針對如圖4A中的集群C1被配置,但網(wǎng)卡406將具有無線能力以提供通過網(wǎng)絡(luò)420與其他集群的互連通信。如將會理解的那樣,利用無線網(wǎng)絡(luò)連接提供處理器通信信息的該服務(wù)器場實施例由于避開了環(huán)型集群網(wǎng)絡(luò)的復(fù)雜協(xié)議堆棧和延遲從而顯著地提高了PCR更新過程的速度。
盡管已經(jīng)參考優(yōu)選實施例具體顯示和描述了本發(fā)明,但本領(lǐng)域技術(shù)人員將會理解,可以做出在形式和細(xì)節(jié)上的各種改變而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種在包含由一個網(wǎng)絡(luò)互連的多個處理器集群的多處理器系統(tǒng)中進(jìn)行處理器通信的方法,其中該多處理器系統(tǒng)包含至少一個處理器通信寄存器(PCR),其向該多個處理器集群提供對存儲在該PCR中的信息的持續(xù)訪問,該方法包括以下步驟在該多個處理器集群的兩個處理器集群的每一個處從該PCR的一個或多個區(qū)提取信息,而無需進(jìn)行物理存儲器訪問,其中該一個或多個區(qū)的一個區(qū)被分配只供該多個處理器集群中一個相關(guān)的處理器集群進(jìn)行存儲;在該PCR處接收來自該相關(guān)的處理器集群、在該網(wǎng)絡(luò)上被傳輸?shù)男畔?;將該接收到的信息存儲到該PCR的被分配給只供該相關(guān)的處理器集群進(jìn)行存儲的區(qū)中。
2.權(quán)利要求1的方法,進(jìn)一步包括將該信息從該多個處理器集群的該相關(guān)的處理器集群傳輸?shù)皆摼W(wǎng)絡(luò)上的步驟。
3.權(quán)利要求1的方法,進(jìn)一步地,其中該多個集群的至少兩個處理器集群同時從該PCR提取信息。
4.權(quán)利要求1的方法,進(jìn)一步地,其中該信息用于該多個處理器集群協(xié)調(diào)流水線或并行多處理。
5.權(quán)利要求1的方法,進(jìn)一步地,其中該一個或多個區(qū)的每個區(qū)被排他地分配給只供該多個處理器集群內(nèi)一個相關(guān)的處理器集群進(jìn)行存儲。
6.一個多處理器系統(tǒng),包括多個處理器集群;具有多個區(qū)的處理器通信寄存器(PCR),其中該多個處理器集群的每個處理器集群可訪問該PCR并能提取存儲在該多個區(qū)的每個區(qū)中的信息,且其中該多個區(qū)的一個區(qū)被分配給只供該多個處理器集群中一個相關(guān)的處理器集群進(jìn)行存儲,以及其中該多個處理器集群的每個處理器集群更新該多個區(qū)中與該處理器集群相關(guān)的區(qū),以使當(dāng)一個區(qū)被它的相關(guān)處理器集群更新時,每個處理器集群能立即訪問該更新的信息。
7.權(quán)利要求6的多處理器系統(tǒng),其中該信息用于該多個處理器集群協(xié)調(diào)流水線或并行多處理。
8.權(quán)利要求6的多處理器系統(tǒng),其中該多個區(qū)的每個區(qū)被排他地分配給只供該多個處理器集群中一個相關(guān)的處理器集群進(jìn)行存儲。
9.權(quán)利要求6的多處理器系統(tǒng),其中該多個處理器集群中的每個處理器集群更新該PCR中與那個處理器集群相關(guān)的每個區(qū),以使該多個處理器集群的每個處理器集群可訪問存儲在該多個區(qū)的每個被更新的區(qū)的信息,而無需從系統(tǒng)存儲器中提取此信息。
10.一種在包含由一個網(wǎng)絡(luò)互連的多個處理器集群的多處理器系統(tǒng)中進(jìn)行處理器通信的方法,其中每個處理器集群包含至少一個處理器通信寄存器(PCR),其向在其自己的處理器集群中的一個或多個處理器提供對存儲在該PCR中的信息的持續(xù)訪問,該方法包括以下步驟從該多個處理器集群的一個處理器集群中包含的一個PCR的一個或多個區(qū)提取信息,其中這些區(qū)中的一個區(qū)被分配給只供該多個處理器集群中一個相關(guān)的處理器集群進(jìn)行存儲;在該處理器集群接收來自該相關(guān)處理器集群、被傳輸?shù)骄W(wǎng)絡(luò)上的信息;以及將接收到的信息存儲到分配給供該相關(guān)處理器集群進(jìn)行存儲的區(qū)中。
11.權(quán)利要求10的方法,進(jìn)一步包括將該信息從該多個處理器集群的該相關(guān)處理器集群傳輸?shù)皆摼W(wǎng)絡(luò)上的步驟。
12.權(quán)利要求10的方法,進(jìn)一步地,其中該多個集群的至少兩個處理器集群同時從它們各自的PCR中提取信息。
13.權(quán)利要求10的方法,其中該相同信息被包含在該多個處理器集群中含有的每個PCR中。
14.權(quán)利要求10的方法,進(jìn)一步地,其中該信息用于該多個處理器集群協(xié)調(diào)流水線或并行多處理。
15.權(quán)利要求10的方法,進(jìn)一步地,其中該一個或多個區(qū)的每個區(qū)被排他地分配給只供該多個處理器集群中一個相關(guān)的處理器集群進(jìn)行存儲。
16.權(quán)利要求10的方法,進(jìn)一步包括持續(xù)更新每個PCR中的每個區(qū),以使該多個處理器集群的每個處理器集群可以訪問存儲在它自己的PCR中的信息,而無需從系統(tǒng)存儲器加載此信息。
17.一個多處理器系統(tǒng),包括多個處理器集群,其中每個處理器集群含有一個具有多個區(qū)的處理器通信寄存器(PCR),其中該多個處理器集群的每個處理器集群可訪問它的PCR并能提取存儲在該多個區(qū)的每個區(qū)中的信息,并且其中該多個處理器集群中每個PCR內(nèi)的該多個區(qū)的一個區(qū)被分配給只供該多個處理器集群的一個相關(guān)的處理器集群進(jìn)行存儲,以及其中該多個處理器集群的每個處理器集群更新每個PCR中該多個區(qū)中與該處理器集群相關(guān)的區(qū),以便當(dāng)一個區(qū)被它的相關(guān)處理器集群更新時,包含PCR的每個處理器集群能立即訪問該更新的信息。
18.權(quán)利要求17的多處理器系統(tǒng),其中該信息用于該多個處理器集群協(xié)調(diào)流水線或并行多處理。
19.權(quán)利要求17的多處理器系統(tǒng),其中該多個區(qū)的每個區(qū)被排他地分配給只供該多個處理器集群中相關(guān)的一個處理器集群進(jìn)行存儲。
20.權(quán)利要求17的多處理器系統(tǒng),其中該多個處理器集群的每個處理器集群更新該多個處理器集群中每個PCR內(nèi)與那個處理器集群相關(guān)的每個區(qū),以使該多個處理器集群中包含一個PCR的每個處理器集群可訪問存儲在該多個區(qū)的每個被更新的區(qū)中的信息,而無需從系統(tǒng)存儲器中提取此信息。
21.權(quán)利要求17的多處理器系統(tǒng),其中該相同信息被包含在該多個處理器集群中含有的每個PCR中。
全文摘要
在一個多處理器集群系統(tǒng)中包含的處理器通信寄存器(PCR)提供增強(qiáng)的處理器通信。該PCR存儲在流水線或并行多處理中有用的信息。每個處理器集群具有排他的權(quán)利對該PCR內(nèi)的一個區(qū)進(jìn)行存儲并可持續(xù)訪問以讀取它的內(nèi)容。每個處理器集群更新該PCR內(nèi)它的專有區(qū),允許該集群網(wǎng)絡(luò)內(nèi)所有其它處理器即時看到該PCR數(shù)據(jù)內(nèi)的改變,并越過高速緩存子系統(tǒng)。通過提供將會被立即傳至網(wǎng)絡(luò)且被傳送給所有處理器的處理器通信,而無需暫時地限制對該信息的訪問或迫使所有處理器持續(xù)地爭奪同一高速緩存線,以至以無休止的加載、存儲和使無效命令流淹沒互連和存儲器系統(tǒng),從而提高了該處理器集群網(wǎng)絡(luò)內(nèi)的效率。
文檔編號G06F15/16GK1506838SQ20031011697
公開日2004年6月23日 申請日期2003年12月3日 優(yōu)先權(quán)日2002年12月12日
發(fā)明者R·K·阿里米利, R·A·卡哥諾尼, D·E·威廉斯, K·L·賴特, R K 阿里米利, 卡哥諾尼, 威廉斯, 賴特 申請人:國際商業(yè)機(jī)器公司