專利名稱:分區(qū)計算機(jī)系統(tǒng)中的動態(tài)i/o分配的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及多處理機(jī)計算機(jī)系統(tǒng),尤其涉及分區(qū)多處理機(jī)系統(tǒng)中在處理機(jī)之間的資源分配。更具體地,本發(fā)明涉及在多處理機(jī)計算機(jī)系統(tǒng)的節(jié)點之間共享公用的I/O部件組的方法。
技術(shù)上周知多處理器計算機(jī)系統(tǒng),并且用于通過允許在幾個不同的系統(tǒng)處理機(jī)之間處理分割的任務(wù)而提高處理能力。在常規(guī)系統(tǒng),每個處理機(jī)可訪問所有的系統(tǒng)資源;即,所有的系統(tǒng)資源,例如存儲器和I/O部件,是在所有的系統(tǒng)處理機(jī)之間共享的。典型地,可在處理機(jī)之間劃分系統(tǒng)資源的某些部分,例如,盡管各處理機(jī)能訪問共享的存儲器,該存儲器被分區(qū)以使每個處理機(jī)具有它自己的工作空間。在非均勻存儲器存取(NUMA)系統(tǒng)中,每個處理機(jī)具有它自己的存儲器,并且還可以訪問別的處理機(jī)所擁有的存儲器。
近來,對稱多處理機(jī)(SMP)系統(tǒng)已被分割以便表現(xiàn)成多個獨立的計算機(jī)系統(tǒng)。例如,具有八個處理機(jī)的單個系統(tǒng)可配置成把八個處理機(jī)中的每個(或者多個由一個或多個處理機(jī)組成的組)對待成一個獨立的供處理用途的系統(tǒng)。這些“虛擬”系統(tǒng)中的每個系統(tǒng)會具有它自己的操作系統(tǒng)拷貝,從而可獨立地指定任務(wù)或者可作為一個處理簇一起運行,這提供高速處理能力以及改進(jìn)的可靠性。典型地,在多處理機(jī)系統(tǒng)中,還存在一個“業(yè)務(wù)”處理機(jī),它管理整個系統(tǒng)的啟動和運行,其中包括系統(tǒng)配置和共享總線及部件上的到和來自特定處理機(jī)的數(shù)據(jù)路由選擇。
當(dāng)在單個處理機(jī)系統(tǒng)中把幾個虛擬系統(tǒng)配置成按一個簇運行時,必須提供允許每個簇節(jié)點和該多處理機(jī)系統(tǒng)中的各個其它節(jié)點通信的軟件支持,以便利用任何簇通信技術(shù)進(jìn)行法定人數(shù)(quorum)協(xié)商和批準(zhǔn)、發(fā)送“心跳”和進(jìn)行其它法定人數(shù)功能。當(dāng)實現(xiàn)這一點時,若一個處理機(jī)出故障(這使該節(jié)點變成對于該簇是不可使用的),可利用標(biāo)準(zhǔn)簇技術(shù)把分配給該節(jié)點的作業(yè)在其余的處理機(jī)(節(jié)點)之中重新分配。
典型地,當(dāng)把一個多處理機(jī)系統(tǒng)劃分成多個虛擬系統(tǒng)時,每個虛擬系統(tǒng)具有它自己的操作系統(tǒng)拷貝,并且每個虛擬系統(tǒng)使用相同的操作系統(tǒng)。由于每個處理機(jī)運行相同的操作系統(tǒng),在處理機(jī)之間提供資源分配是相對容易的。
大型多處理機(jī)系統(tǒng)的一個特點是,由于它們通常用于大型處理作業(yè),它們相對很少地使用典型的I/O部件,例如鍵盤、顯示器、可移動介質(zhì)部件等等。但是不能去掉這些部件,因為存在不經(jīng)常的需要使用它們的場合。在大型多處理機(jī)系統(tǒng)的每個節(jié)點內(nèi)都具有這些部件造成昂貴地重復(fù)這些很少使用的部件,并且產(chǎn)生管理和維護(hù)設(shè)備的不必要負(fù)擔(dān)。從而,需要一種使大型多處理機(jī)系統(tǒng)的幾個分區(qū)或幾個節(jié)點共享單組I/O部件的手段。
從而本發(fā)明的一個目的是提供一種運行多處理機(jī)計算機(jī)系統(tǒng)的系統(tǒng)和方法。
本發(fā)明的另一個目的是提供一種改進(jìn)多處理機(jī)計算機(jī)系統(tǒng)內(nèi)的資源分配的系統(tǒng)和方法。
本發(fā)明的再一個目的是提供一種在多處理機(jī)計算機(jī)系統(tǒng)內(nèi)的節(jié)點之間共享公用I/O部件組的系統(tǒng)和方法。
從而,提供一種允許多處理機(jī)系統(tǒng)的多個節(jié)點共享一組I/O部件的系統(tǒng)和方法。設(shè)置一個箱式輸入/輸出控制器(CI/OC),其管理多處理機(jī)系統(tǒng)的節(jié)點和公用I/O部件之間的通信,以允許各節(jié)點排它地訪問它的一個或多個目標(biāo)部件。各個節(jié)點經(jīng)過一個業(yè)務(wù)處理機(jī)和該CI/OC通信,并且該CI/OC和不同的I/O部件以及節(jié)點的USB控制器互連。在一種替代實施例中,還包括一個USB至ISA橋路,以允許附著傳統(tǒng)I/O部件。在下述詳細(xì)文字說明中,本發(fā)明的上述以及其它目的、特點和優(yōu)點將變?yōu)榍宄?br>
在附屬權(quán)利要求書中敘述本發(fā)明所確信的新穎特征。然而,在連帶附圖下閱讀下述一種示范實施例的詳細(xì)說明可最好地理解本發(fā)明本身、其優(yōu)選使用方式以及其它目的和優(yōu)點,附圖是
圖1是依據(jù)本發(fā)明的一種優(yōu)選實施例的多處理機(jī)計算機(jī)系統(tǒng);
圖2描述依據(jù)本發(fā)明的一種優(yōu)選實施例的和CI/OC連接的SMP節(jié)點;圖3是依據(jù)本發(fā)明的一種優(yōu)選實施例的CI/OC的方塊圖;圖4描述依據(jù)本發(fā)明的一種優(yōu)選實施例的CI/OC和業(yè)務(wù)服務(wù)機(jī)的方塊圖;圖5是依據(jù)本發(fā)明的一種優(yōu)選實施例的數(shù)個和集線器連接在CI/OC下游的I/O部件方塊圖;以及圖6是依據(jù)本發(fā)明的一種優(yōu)選實施例使用公用I/O系統(tǒng)的流程圖。
本優(yōu)選實施例提供一種允許多處理機(jī)系統(tǒng)中的多個節(jié)點共享公用I/O部件組的箱式輸入/輸出控制器(CI/OC)。在該優(yōu)選實施例中,在各個節(jié)點仍存在和諸如以太網(wǎng)適配器以及相關(guān)的網(wǎng)絡(luò)接插件有關(guān)的I/O的其它運行期的操作。
現(xiàn)參照各圖,尤其參照圖1,圖1描述可在其中實現(xiàn)本發(fā)明的一種優(yōu)選實施例的數(shù)據(jù)處理系統(tǒng)的方塊圖。數(shù)據(jù)處理系統(tǒng)100例如是可從紐約州Armonk市的國際商用機(jī)器公司購得的服務(wù)器型計算機(jī)中的一種。數(shù)據(jù)處理系統(tǒng)100包括處理機(jī)101和102,在本示范實施例中它們各分別和層二(L2)高速緩存器103、104連接,后者再和系統(tǒng)總線106連接。
和系統(tǒng)總線106連接的還有系統(tǒng)存儲器108和主宿橋路(PHB)122。PHB 122把I/O總線112連接到系統(tǒng)總線106,對一條總線到另一條總線的數(shù)據(jù)事務(wù)進(jìn)行中繼和/或變換。在該示范實施例中,數(shù)據(jù)處理系統(tǒng)100包括和I/O總線112連接的圖形適配器118,它為顯示器120接收用戶接口信息。通過工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)橋路121對I/O總線112連接外圍設(shè)備,例如可以是硬盤機(jī)的非易失性存儲器以及鍵盤/指點器116(指點器可包括常規(guī)鼠標(biāo)、跟蹤球等)。PHB 112還通過I/O總線112和PCI插槽124以及通用串行總線控制器126連接。
圖1中示出的示范實施例只是以解釋本發(fā)明的目的提供的,業(yè)內(nèi)人士會意識到大量的形式上的和功能上的變型是可能的。例如,數(shù)據(jù)處理系統(tǒng)100還可包括只讀光盤存儲器(CD-ROM)或數(shù)字視盤(DVD)機(jī)、聲卡和聲頻揚聲器以及各種其它供選用的構(gòu)件。所有這些變型確信是在本發(fā)明的精神和范圍之內(nèi)的。數(shù)據(jù)處理系統(tǒng)100以及后面的CI/OC體系結(jié)構(gòu)的各示例只是出于解釋的目的舉例的,并不意味著對體系結(jié)構(gòu)加以限制。
現(xiàn)參照圖2,其中示出可作為大型多處理機(jī)系統(tǒng)的積木塊的節(jié)點200。節(jié)點200包括各SMP處理機(jī)202和關(guān)聯(lián)的存儲器204(可由其它處理機(jī)共享)。SMP處理機(jī)202和主宿橋路(PHB)206連接,PHB 206接著再連接到通用串行總線(USB)控制器208和PCI槽210。在本實施例中不和別的節(jié)點共享的各I/O部件212連接到(或典型地插入到)各PCI槽210中。USB控制器208是由業(yè)務(wù)處理機(jī)(SP)214控制的CI/OC 216的優(yōu)選節(jié)點輸入連接件。通過節(jié)點輸入端子218,CI/OS和其它節(jié)點連接并允許它們共享I/O部件220。請注意,雖然該圖只示出一個示例節(jié)點的細(xì)節(jié),節(jié)點200和其它節(jié)點218通過相同的CI/OC 216的節(jié)點輸入各連接到CI/OC 216。
大型多處理機(jī)系統(tǒng)可布置成一些較小的獨立分區(qū)或者布置成NUMA或簇。若把大型多處理機(jī)布置成NUMA或簇,可使用供選用的節(jié)點互連硬件222以得到所需的互連配置。本優(yōu)選實施例的CI/OC 216用于控制并互連帶有單個公用部件集的各節(jié)點。例如,安裝在單個機(jī)架中的大型多處理機(jī)系統(tǒng)應(yīng)包括多個計算機(jī)節(jié)點,但整個機(jī)架應(yīng)只需要單個操作員終端、軟盤等。最好由業(yè)務(wù)處理機(jī)(SP)214管理CI/OC配置。每個節(jié)點含有一個USB控制器208。
現(xiàn)參照圖3,其描述依據(jù)該優(yōu)選實施例的CI/OC的高層圖。這里,把CI/OC 300示成和它的業(yè)務(wù)處理機(jī)302連接。還示出示范性的節(jié)點輸入端子306、308,它們允許如圖2中所示的節(jié)點連接。CI/OC 300還和公用I/O部件組304連接。最好每個大型多處理機(jī)系統(tǒng)只有一個CI/OC300和一個SP 302,并且所有共享公用I/O部件304的節(jié)點連接在CI/OC300的下游上。CI/OC 300上的節(jié)點輸入端子數(shù)量是和其具體實現(xiàn)相關(guān)的。
現(xiàn)參照圖4,CI/OC 400的更詳細(xì)圖示成包括一系列的用于把節(jié)點輸入端子406和下游的I/O部件組404相連的開關(guān)408。SP 402最多把一個節(jié)點轉(zhuǎn)接到公用I/O部件組接插件404上。由于該優(yōu)選實施例提供的所有接插件是USB兼容的,這些部件是可熱插入的,即,它們可以在節(jié)點運行時插到節(jié)點上或從節(jié)點取下。激勵開關(guān)408等效于附著到下游連接。去激勵開關(guān)等效于脫離下游連接。SP 402根據(jù)需要把下游部件404連接到節(jié)點輸入端子406。
現(xiàn)參照圖5,圖中描述示中包含著基本I/O的公用I/O系統(tǒng)以及各種示范的I/O部件,其中基本I/O用于啟動公用I/O連接。在該圖中,CI/OC 500連接到集線器502,在本優(yōu)選實施例中它是一個USB集線器。集線器502使得來自CI/OC的通信可傳送到任何連接著的部件上。這些部件可包括鍵盤504和鼠標(biāo)506。若本機(jī)USB部件不能滿足要求,各I/O部件可包括商業(yè)上可購到的USB至ISA轉(zhuǎn)換邏輯電路508。這樣做后,可以連接傳統(tǒng)的部件,例如ISA軟盤機(jī)510、串行端口512和并行端口514。
可從http//www.usb.org(根據(jù)本申請的申請日期)網(wǎng)址處得到的并作為本文的資料的通用串行總線技術(shù)要求規(guī)定USB在由VBUS、GND、D+和D-組成的四個布線上傳送信號和功率。在二根線,D+和D-,上出現(xiàn)信令。在本優(yōu)選實施例中,集線器502是供電集線器以向連接著的部件供電,從而它不需要來自節(jié)點USB控制器的VBUS和GND。在該實施例中,從節(jié)點USB控制器208到CI/OC 216的互連如圖2中所示,而再到集線器502的互連如圖5中所示,該互連包括USB信號D+和D-但略掉VBUS和GND。
現(xiàn)參照圖6,其中示出公用I/O系統(tǒng)的優(yōu)選操作流程圖。當(dāng)某節(jié)點需要某公用I/O部件時(步驟600),它向業(yè)務(wù)處理機(jī)發(fā)送請求(步驟610),以請求“連接”操作。若當(dāng)前沒有別的節(jié)點使用該I/O通道(步驟620),SP切換CI/OC以允許該節(jié)點和下游部件通信(步驟630)。該節(jié)點使用該I/O部件(步驟640),并且當(dāng)結(jié)束時它指示SP斷開CI/OC連接以去連接I/O部件(步驟650)。然后該節(jié)點繼續(xù)常規(guī)地工作(660)。
在該I/O通道被別的節(jié)點使用(步驟620),拒絕該連接(步驟670)。該節(jié)點恢復(fù)常規(guī)操作,并且可能按所需的次數(shù)重試以建立連接。由于多處理機(jī)系統(tǒng)的本性,這些類型的部件沖突是相對不多見的,從而不需要更為復(fù)雜的仲裁技術(shù),盡管業(yè)內(nèi)人士可實現(xiàn)這些仲裁技術(shù)。
盡管參照一種優(yōu)選實施例具體地示出和說明了本發(fā)明,業(yè)內(nèi)人士理解可以在不背離本發(fā)明的精神和范圍下對其在形式上和細(xì)節(jié)上做出各種修改。例如,必須支持大節(jié)點數(shù)量的情況下可以級聯(lián)CI/OC塊,從而每個節(jié)點和一個CI/OC連接并且可通過CI/OC部件鏈和各外圍設(shè)備通信。該以及其它修改是在后面的權(quán)利要求書的范圍內(nèi)考慮到的。
權(quán)利要求
1.一種計算機(jī)系統(tǒng),包括多個系統(tǒng)節(jié)點,每個節(jié)點至少具有一個系統(tǒng)處理機(jī)和一個關(guān)聯(lián)的存儲器,所述系統(tǒng)節(jié)點各被連接以在各自的部件端口上進(jìn)行通信;一個部件控制器,其連接到所述部件端口中的至少一個端口上;以及至少一個和所述部件控制器連接的外圍設(shè)備,其中所述系統(tǒng)配置成執(zhí)行下述步驟在直接連接上從某系統(tǒng)節(jié)點向所述部件控制器發(fā)送請求;通過所述控制器建立所述系統(tǒng)節(jié)點和所述外圍部件之間的排它性連接;以及由所述系統(tǒng)節(jié)點操作所述外圍設(shè)備。
2.權(quán)利要求1的系統(tǒng),其中所述多個系統(tǒng)節(jié)點按對稱多處理機(jī)系統(tǒng)運行。
3.權(quán)利要求1的系統(tǒng),其中每個所述系統(tǒng)節(jié)點共享所述外圍設(shè)備。
4.權(quán)利要求1的系統(tǒng),其中所述連接是依據(jù)通用串行總線規(guī)范的。
5.權(quán)利要求1的系統(tǒng),其中所述系統(tǒng)還配置成當(dāng)所述系統(tǒng)節(jié)點和所述外部部件連接時執(zhí)行阻止第二系統(tǒng)節(jié)點和所述外部部件之間的連接的步驟。
6.權(quán)利要求1的系統(tǒng),其中所述控制器和多個計算機(jī)系統(tǒng)連接,并且在所述多個系統(tǒng)之中共享所述外圍設(shè)備。
7.權(quán)利要求1的系統(tǒng),其中所述計算機(jī)系統(tǒng)是安裝在機(jī)架上的系統(tǒng)。
8.權(quán)利要求1的系統(tǒng),其中當(dāng)連接多個外圍設(shè)備時,所有所述外圍設(shè)備在所述建立步驟期間連接到所述系統(tǒng)節(jié)點上。
9.一種多處理機(jī)計算機(jī)系統(tǒng),包括多個虛擬計算機(jī)系統(tǒng),每個系統(tǒng)具有至少一個系統(tǒng)處理機(jī)以及連接成由所述處理機(jī)對其讀寫的一個存儲器;一個和所述計算機(jī)系統(tǒng)連接的公用輸入/輸出控制器;以及至少一個和所述控制器連接的外圍設(shè)備,其中當(dāng)所述計算機(jī)系統(tǒng)請求時所述控制器在所述計算機(jī)系統(tǒng)和所述外圍設(shè)備之間建立排它的連接。
10.權(quán)利要求9的系統(tǒng),其中所述多個虛擬計算機(jī)系統(tǒng)劃分成對稱多處理機(jī)系統(tǒng)。
11.權(quán)利要求9的系統(tǒng),其中所述控制器連接成為所述多個虛擬計算機(jī)系統(tǒng)提供對所述多個外圍設(shè)備的連接。
12.權(quán)利要求9的系統(tǒng),其中每個所述虛擬計算機(jī)系統(tǒng)經(jīng)過通用串行總線和所述控制器連接,并且每個外圍設(shè)備通過通用串行總線集線器和所述控制器連接。
13.權(quán)利要求9的系統(tǒng),其中每個所述虛擬計算機(jī)系統(tǒng)包括一個通用串行總線控制器。
14.權(quán)利要求9的系統(tǒng),其中當(dāng)連接多個外圍設(shè)備時,當(dāng)連接所述外圍設(shè)備時把所有的所述外設(shè)連接到所述虛擬系統(tǒng)。
15.一種部件控制器,包括一個通信控制器;多個節(jié)點輸入端子,每個端子運行上和所述通信控制器連接;以及多個部件接插件,每個接插件運行上和所述通信控制器連接,其中所述通信控制器仲裁所述多個部件接插件的節(jié)點擁有權(quán),并且當(dāng)向某給定的節(jié)點輸入端子授予對多個部件接插件的擁有權(quán)時在該節(jié)點輸入端子和所有的所述部件接插件之間提供排它性的連接。
16.權(quán)利要求15的部件控制器還包括一個和所述多個部件接插件連接的集成的通用串行總線集線器。
17.權(quán)利要求15的部件控制器,其中所述部件接插件是通用串行總線接插件。
18.權(quán)利要求15的部件控制器,還包括一個運行上和所述通信控制器連接的工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)部件接插件。
全文摘要
一種允許多處理機(jī)系統(tǒng)的多個節(jié)點共享一組I/O部件的系統(tǒng)和方法。設(shè)置一個箱式輸入/輸出控制器(CI/OC),其管理多處理機(jī)系統(tǒng)的節(jié)點和公用I/O部件之間的通信,以允許各節(jié)點排它地訪問它的一個或多個目標(biāo)部件。各個節(jié)點經(jīng)過一個業(yè)務(wù)處理機(jī)和該CI/OC通信,并且該IC/OC和不同的I/O部件以及節(jié)點的USB控制器互連。
文檔編號G06F13/00GK1269550SQ0010485
公開日2000年10月11日 申請日期2000年3月29日 優(yōu)先權(quán)日1999年3月31日
發(fā)明者理查德·比爾科夫斯基, 帕特里克·M·布蘭德 申請人:國際商業(yè)機(jī)器公司