專利名稱:使用本地標識符的端節(jié)點分區(qū)的制作方法
技術(shù)領域:
本發(fā)明一般涉及計算機系統(tǒng)之間的通信。
背景技術(shù):
在系統(tǒng)區(qū)域網(wǎng)絡(SAN)中,硬件提供了一種可用于輸入/輸出設備(I/O)和一般計算節(jié)點之間的進程間通信(IPC)的消息傳遞機制。用戶(consumer)通過向SAN通道適配器(CA)上的發(fā)送/接收工作隊列傳遞發(fā)送/接收消息來訪問SAN消息傳遞硬件。該發(fā)送/接收工作隊列(WQ)以隊列對(QP)的形式分配給用戶。消息可以通過5種不同的規(guī)定的傳輸類型而發(fā)送可靠連接的(RC)、可靠數(shù)據(jù)報(RD)、不可靠連接(UC)、不可靠數(shù)據(jù)報(UD)、和原始數(shù)據(jù)報(RawD)。此外,還有一組可由制造商規(guī)定的操作碼,其允許不同公司定義定制的包,這些包還具有相同的路由報頭格式。用戶經(jīng)由SAN發(fā)送和接收工作完成(WC),從一完成隊列(CQ)中獲取定義的消息的結(jié)果。對于這些可由制造商定義的操作,并不規(guī)定它們是否使用與定義的包類型相同的排隊結(jié)構(gòu)。不管包的類型是什么,源通道適配器負責將輸出的消息分段,并將它們發(fā)送到目的地。目的地通道適配器負責將輸入的消息重新裝配,并將它們置于由目的地的用戶指定的存儲器空間中。目前存在兩種通道適配器類型,即主機通道適配器(HCA)和目標通道適配器(TCA)。通用計算節(jié)點使用主機通道適配器來訪問SAN結(jié)構(gòu)(fabric)。用戶使用SAN動詞(verb)來訪問主機通道適配器的功能。解釋動詞并直接訪問通道適配器的軟件稱為通道接口(CI)。
InfiniBand(InfiniBand行業(yè)協(xié)會的商標)組件在初始化過程中被分配一本地標識符(LID)。LID用來在一子網(wǎng)中為組件編址。所有InfiniBand包包含一源LID和一目的LID,其分別定義該包在該子網(wǎng)中的源和目的地址。InfiniBand組件也被分配至少一個分區(qū)關(guān)鍵字(P_Key)。該P_Key用來將一InfiniBand結(jié)構(gòu)分區(qū)為一個或多個組。于是一些InfiniBand組件被置于所述的一個或多個組中。所有其它通信都是允許的。端節(jié)點被分組到一些區(qū)中,并且其訪問是通過P_Key控制。InfiniBand分區(qū)機制實質(zhì)上使得主機能夠以一種受控制的方式提供適配器和共享適配器。
然而,InfiniBand沒有提供這樣一種機制,該機制用于將一端節(jié)點分區(qū),使得多個操作系統(tǒng)實例可以共享單個通道適配器端口,而同時獲得對InfiniBand子網(wǎng)的受控制的訪問?,F(xiàn)有技術(shù)的系統(tǒng)通常增加額外的一個或多個包報頭以識別操作系統(tǒng)實例。通過增加一個或多個包報頭,這導致了數(shù)據(jù)傳輸?shù)母髲碗s性。因此,這種端節(jié)點的分區(qū)機制的缺乏對于高端服務器來說構(gòu)成了一個問題,其中的高端服務器通過邏輯的或物理的分區(qū)而支持在其處理和存儲資源中進行分區(qū)。
因此,需要一種機制,允許單個物理組件表現(xiàn)為多個組件,所述多個組件中的每一單個組件具有唯一的訪問控制級別。這些組件可以是主機通道適配器(HCA)、目標通道適配器(TCA)或交換機。
本發(fā)明提供了如權(quán)利要求1所述的方法,如權(quán)利要求2所述的相應的系統(tǒng)以及如權(quán)利要求3所述的計算機程序產(chǎn)品。
在所附權(quán)利要求中提出了被認為是本發(fā)明特有的新特征。然而,本發(fā)明本身、以及采用的優(yōu)選方式及其進一步的目的和優(yōu)點,通過參照以下對示例性實施例的詳細描述,并結(jié)合附圖進行閱讀,將獲得最好的理解,其中圖1示出了根據(jù)本發(fā)明的優(yōu)選實施例的一網(wǎng)絡計算系統(tǒng)的示意圖;圖2示出了根據(jù)本發(fā)明的優(yōu)選實施例的一主機處理器節(jié)點的功能框圖;
圖3示出了根據(jù)本發(fā)明的優(yōu)選實施例的一主機通道適配器的示意圖;圖4示出了描述根據(jù)本發(fā)明的優(yōu)選實施例的工作請求處理的示意圖;圖5示出了根據(jù)本發(fā)明的一優(yōu)選實施例的數(shù)據(jù)包的圖解;圖6示出了根據(jù)本發(fā)明的實施例的具有虛擬通道適配器和虛擬交換機的物理組件的示意圖;圖7是一示例性流程圖,其描述了根據(jù)合本發(fā)明的優(yōu)選實施例的、用于物理元件的配置的一靜態(tài)選擇系統(tǒng)的操作;圖8是一示例性流程圖,其描述了根據(jù)本發(fā)明的優(yōu)選實施例的,當主機通道適配器及與其相關(guān)聯(lián)的節(jié)點變?yōu)榭晒┦褂脮r或從運行中刪除時,將它們報告;以及圖9是一示例性流程圖,其描述了根據(jù)本發(fā)明的一優(yōu)選實施例的、用于物理元件的配置的一動態(tài)選擇系統(tǒng)的操作。
具體實施例方式
網(wǎng)絡計算系統(tǒng)具有端節(jié)點、交換機、路由器和把這些組件互連在一起的鏈路。端節(jié)點將消息分段為包,并將這些包通過鏈路傳輸。交換機和路由器將這些端節(jié)點互連在一起,并將這些包送到合適的端節(jié)點。這些端節(jié)點在目的地將這些包重新裝配成消息。
現(xiàn)在參照附圖,具體為圖1,其中示出了根據(jù)本發(fā)明的優(yōu)選實施例的一網(wǎng)絡計算系統(tǒng)的示意圖。圖1所代表的網(wǎng)絡計算系統(tǒng)采取了系統(tǒng)區(qū)域網(wǎng)絡(SAN)100的形式,并且只是為說明目的而提供的,而如下所述的本發(fā)明的一些實施例可以在多種其它類型和配置的計算機系統(tǒng)上實施。
SAN 100是一種高帶寬、低時延的網(wǎng)絡,其將網(wǎng)絡計算系統(tǒng)中的節(jié)點互連在一起。節(jié)點是連接到網(wǎng)絡的一個或多個鏈路上、并構(gòu)成該網(wǎng)絡中消息的來源和/或目的地的任何組件。在圖示的例子中,SAN 100包括的節(jié)點形式有主機處理器節(jié)點102、主機處理器節(jié)點104、獨立磁盤冗余陣列(RAID)子系統(tǒng)節(jié)點106、I/O機架節(jié)點108,和PCI I/O機架節(jié)點184。圖1所示的節(jié)點只是為了說明目的,因為SAN 100可以連接任何數(shù)量和任何類型的獨立處理器節(jié)點、I/O適配器節(jié)點、和I/O設備節(jié)點。這些節(jié)點中的任何一個都可以作為一端節(jié)點,在這里端節(jié)點被定義為在SAN 100中發(fā)起和最終消耗掉消息或幀的設備。
在這里所用的消息是應用程序定義的數(shù)據(jù)交換單元,其是在相互合作的進程之間進行通信的基本單元。包是由網(wǎng)絡連接協(xié)議報頭和/或報尾所封裝的數(shù)據(jù)單元。報頭一般提供了用于在SAN中指引幀的控制和路由信息。報尾一般包含了用于確保包在傳輸時不帶有被破壞的內(nèi)容的控制和循環(huán)冗余檢驗(CRC)數(shù)據(jù)。
SAN 100包含了在網(wǎng)絡計算系統(tǒng)中既支持I/O通信也支持處理器間通信(IPC)的通信和管理的基礎結(jié)構(gòu)。圖1所示的SAN 100包括一個交換通信結(jié)構(gòu),其使得很多設備能夠在一安全的、遠程管理的環(huán)境中并行地以高帶寬和低時延傳輸數(shù)據(jù)。端節(jié)點可以通過多個端口進行通信,并利用在SAN結(jié)構(gòu)之中的多個路徑??衫脠D1所示的多個端口和在SAN之中的多個路徑,以用于容錯和增加帶寬的數(shù)據(jù)傳輸。
圖1中的SAN 100包括交換機112、交換機114、交換機146和路由器117。交換機是這樣一種設備,其把多個鏈路連接起來,并允許使用一小的報頭目的地本地標識符(DLID)字段將包從一子網(wǎng)中的一鏈路路由到另一鏈路。路由器是這樣一種設備,其把多個子網(wǎng)連接在一起,并能夠使用一大的報頭目的地全局唯一標識符(DGUID)將包從第一子網(wǎng)中的一鏈路傳送到第二子網(wǎng)中的另一鏈路。
在一個實施例中,鏈路是在任何兩個網(wǎng)絡結(jié)構(gòu)單元如端節(jié)點、交換機或路由器之間的全雙工通道。示例性的合適的鏈路包括但不限于,銅纜、光纜以及在底板和印刷電路板上的印刷電路銅跡線。
對于可靠的服務類型,端節(jié)點,例如主機處理器端節(jié)點和I/O適配器端節(jié)點,產(chǎn)生請求包并返回確認包。交換機和路由器將包從源一直傳遞到目的地。除了可變的CRC報尾字段是在網(wǎng)絡中的每一階段被更新外,交換機將包不作改變地傳遞下去。路由器在包被路由選擇時更新該可變的CRC報尾字段,并且更新報頭中的其它字段。
在如圖1所示的SAN 100中,主機處理器節(jié)點102、主機處理器節(jié)點104、RAID I/O子系統(tǒng)106、I/O機架108、和PCI I/O機架184包括至少一個通道適配器(CA),以提供到SAN 100的接口。在一個實施例中,每個通道適配器是這樣的一個端點,其以足夠的細節(jié)實施通道適配器接口,以發(fā)出或接收在該SAN結(jié)構(gòu)中傳輸?shù)陌V鳈C處理器節(jié)點102包含通道適配器,其形式為主機通道適配器118和主機通道適配器120。主機處理器節(jié)點104包含主機通道適配器122和主機通道適配器124。主機處理器節(jié)點102也包括由總線系統(tǒng)134互連起來的中央處理單元126-130和存儲器132。同樣地,主機處理器節(jié)點104包括由總線系統(tǒng)144互連起來的中央處理單元136-140和存儲器142。主機通道適配器118提供了到交換機112的連接,主機通道適配器120和122提供了到交換機112和114的連接,而主機通道適配器124提供了到交換機114的連接。
在一個實施例中,主機通道適配器是由硬件實現(xiàn)的。在這種實現(xiàn)中,主機通道適配器硬件卸載了中央處理單元和I/O適配器通信的很大開銷。主機通道適配器的這種硬件實現(xiàn)也允許在一交換網(wǎng)絡上的多個并發(fā)通信,而沒有與通信協(xié)議相關(guān)的傳統(tǒng)開銷。在一個實施例中,圖1中的主機通道適配器和SAN 100為該網(wǎng)絡計算系統(tǒng)的I/O和處理器間通信(IPC)的用戶提供了零處理器副本的數(shù)據(jù)傳輸,而不牽涉操作系統(tǒng)內(nèi)核進程,并利用硬件來提供可靠的、容錯的通信。如圖1所示,路由器117與連接其它主機或其它路由器的廣域網(wǎng)(WAN)和/或局域網(wǎng)(LAN)相耦合。
圖1中的I/O機架108包括一交換機146和多個I/O模塊148-156。在這些例子中,I/O模塊采取了適配器卡的形式。圖1所示示例性的適配器卡包括用于I/O模塊148的SCSI適配器卡;用于I/O模塊152的連接到光纖通道集線器和光纖通道仲裁環(huán)(FC-AL)設備的適配器卡;用于I/O模塊150的以太網(wǎng)適配器卡;用于I/O模塊154的圖形適配器卡;以及用于I/O模塊156的視頻適配器卡。任何已知類型的適配器卡都可以使用。I/O適配器也包括位于I/O適配器底板上的一交換機,以將這些適配器卡耦合到該SAN結(jié)構(gòu)。這些模塊包含目標通道適配器158-166。
在本例中,圖1中的RAID子系統(tǒng)節(jié)點106包括一處理器168、一存儲器170、一目標通道適配器(TCA)172、以及多個冗余的和/或條帶化的存儲器盤單元174。目標通道適配器172可以是一具有完整功能的主機通道適配器。
PCI I/O機架節(jié)點184包括一個TCA 186,以及通過PCI總線188連接到TCA 186的多個PCI輸入/輸出適配器(IOA)190-192。在這些例子中,IOA采取適配器卡的形式。圖1所示的示例性適配器卡包括調(diào)制解調(diào)器適配器卡190和串行適配器卡192。TCA 186將自PCI IOA 190-192接收的PCI事務請求或響應封裝為數(shù)據(jù)包,以便通過SAN結(jié)構(gòu)傳輸給一HCA,如HCA 118。HCA 118判斷收到的數(shù)據(jù)包是否包含PCI傳輸,并且如果是,就將該數(shù)據(jù)包解碼,以獲得所封裝的PCI事務請求或響應,例如一DMA寫或讀操作。HCA 118將它發(fā)送給合適的單元,例如存儲器132。如果該PCI事務是一DMA讀請求,則HCA從存儲器,例如存儲器132接收響應,將該PCI響應封裝為一數(shù)據(jù)包,并通過SAN結(jié)構(gòu)將該數(shù)據(jù)包發(fā)回給請求的TCA 186。然后,該TCA從該數(shù)據(jù)包中將PCI事務解碼,并通過PCI總線188將該PCI事務發(fā)送給PCI IOA 190或192。
類似地,從一處理器,例如CPU 126到一PCI IOA,例如PCI IOA 190或192的存儲或加載請求由HCA 118封裝為一數(shù)據(jù)包,以便通過SAN結(jié)構(gòu)傳輸給與合適的PCI IOA 190或192相應的TCA 186。TCA 186將該數(shù)據(jù)包解碼,以獲得PCI傳輸,并通過PCI總線188將PCI存儲或加載請求和數(shù)據(jù)傳輸給PCI IOA 190或192。如果該請求是一加載請求,則TCA186從PCI IOA 190或192接收一響應,TCA將該響應封裝為一數(shù)據(jù)包,并通過SAN結(jié)構(gòu)將其傳輸給HCA 118,而該HCA 118將該數(shù)據(jù)包解碼,以獲得PCI數(shù)據(jù)和命令,并將該PCI數(shù)據(jù)和命令發(fā)送給請求的CPU 126。這樣,PCI適配器可以連接到SAN結(jié)構(gòu)。
SAN 100處理用于I/O和處理器間通信的數(shù)據(jù)通信。SAN 100支持I/O所需的高帶寬和可伸縮性,并且也支持處理器間通信所需的極低的時延和低的CPU開銷。用戶的客戶程序可以繞過操作系統(tǒng)內(nèi)核進程,并直接訪問網(wǎng)絡通信硬件,例如主機通道適配器,這樣就允許高效的消息傳遞協(xié)議。SAN 100適合于目前的計算模型,并且是新形式的I/O和計算機群集通信的積木式結(jié)構(gòu)。此外,圖1所示的SAN 100使得I/O適配器節(jié)點能夠相互之間通信,或者與網(wǎng)絡計算系統(tǒng)中的任何或所有處理器節(jié)點通信。當一I/O適配器連接到SAN 100上時,所產(chǎn)生的I/O適配器節(jié)點實質(zhì)上具有與SAN100中的任何主機處理器節(jié)點相同的通信能力。
圖1意欲作為一個例子,而不是對本發(fā)明的結(jié)構(gòu)限制,并且只是為說明目的而提供。如下所述的本發(fā)明的優(yōu)選實施例可以在多種類型和配置的計算機系統(tǒng)上實施。例如,實施本發(fā)明的計算機系統(tǒng)的范圍可以是從具有一個處理器和有限數(shù)量的輸入/輸出(I/O)適配器的一個小服務器到具有例如數(shù)百個處理器和數(shù)千個I/O適配器的一個或多個大規(guī)模并行超計算機系統(tǒng)。此外,本發(fā)明可以在由例如一因特網(wǎng)或一內(nèi)部網(wǎng)連接起來的一些遠程計算機系統(tǒng)的基礎結(jié)構(gòu)上實施。
圖2描述了根據(jù)本發(fā)明的優(yōu)選實施例的一主機處理器節(jié)點的功能框圖。主機處理器節(jié)點200是諸如圖1所示主機處理器節(jié)點102等主機處理器節(jié)點的一個例子。
在本例中,圖2所示的主機處理器節(jié)點200包括一組用戶202-208以及一個或多個PCI/PCI-X設備驅(qū)動程序230,它們是在主機處理器節(jié)點200上執(zhí)行的進程。主機處理器節(jié)點200還包括通道適配器210和通道適配器212。通道適配器210包含端口214和216,而通道適配器212包含端口218和220。每個端口連接到一鏈路。這些端口可以連接到一個SAN子網(wǎng)或多個SAN子網(wǎng),例如圖1中的SAN 100。在這些例子中,這些通道適配器采取主機通道適配器的形式。
用戶202-208通過動詞接口222以及消息與數(shù)據(jù)服務224將消息傳送到SAN。動詞接口實質(zhì)上是對主機通道適配器的功能的一抽象描述。操作系統(tǒng)可以通過其編程接口提供部分或全部動詞功能?;旧?,這一接口定義了該主機的行為。此外,主機處理器節(jié)點200包括消息與數(shù)據(jù)服務224,其是比該動詞層更高層的接口,并用來處理通過通道適配器210和通道適配器212接收到的消息和數(shù)據(jù)。消息與數(shù)據(jù)服務224為用戶202-208提供了一接口,以處理消息和其它數(shù)據(jù)。此外,通道適配器210和通道適配器212可以接收來自處理器的、目標為與SAN連接的PCI IOA的加載和存儲指令。這些都繞過了該動詞層,如圖2所示。
圖3示出了根據(jù)本發(fā)明的優(yōu)選實施例的一主機通道適配器的示意圖。圖3所示的主機通道適配器300包括一組隊列對(QP)302-310,其是一種用來將消息傳送給主機通道適配器端口312-316的手段。數(shù)據(jù)到主機通道適配器端口312-316的緩沖是通過虛擬通道(VL)318-334引導的,其中每個VL具有自己的流控制。一子網(wǎng)管理器(未示出)使用用于每個物理端口的本地地址,即端口的LID,來配置通道適配器。子網(wǎng)管理器代理(SMA)336為了配置通道適配器,而與子網(wǎng)管理器通信。存儲器轉(zhuǎn)換與保護(MTP)338是一種將虛擬地址轉(zhuǎn)換為物理地址并驗證訪問權(quán)限的機制。直接存儲器訪問(DMA)340提供了與隊列對302-310有關(guān)的、使用存儲器(也標記為340)的直接存儲器訪問操作。
如圖3所示主機通道適配器300的單個通道適配器,可以支持數(shù)千個隊列對。相比之下,I/O適配器中的一目標通道適配器通常支持數(shù)量少得多的隊列對。
每個隊列對由一發(fā)送工作隊列(SWQ)和一接收工作隊列組成。發(fā)送工作隊列用于發(fā)送通道和存儲器語義消息。接收工作隊列接收通道語義消息。用戶調(diào)用在這里被稱為動詞的、特定于操作系統(tǒng)的編程接口,以將工作請求(WR)置于工作隊列中。
圖4示出了一示意圖,其描繪了根據(jù)本發(fā)明的優(yōu)選實施例的工作請求處理。圖4中具有接收工作隊列400、發(fā)送工作隊列402和完成隊列404,用于處理來自用戶406和用于用戶406的請求。這些來自用戶406的請求最終被發(fā)送給硬件408。在本例中,用戶406產(chǎn)生工作請求410和412,并接收工作完成414。如圖4所示,被置于一工作隊列中的工作請求被稱為工作隊列元素(WQE)。
發(fā)送工作隊列402包含工作隊列元素(WQE)422-428,其描述將在SAN結(jié)構(gòu)中傳輸?shù)臄?shù)據(jù)。接收工作隊列400包含工作隊列元素(WQE)416-420,其描述放置來自SAN結(jié)構(gòu)的輸入的通道語義數(shù)據(jù)的位置。工作隊列元素由該主機通道適配器中的硬件408處理。
動詞也提供了用于從完成隊列404中獲取完成的工作的機制。如圖4所示,完成隊列404包含完成隊列元素(CQE)430-436。完成隊列元素包含關(guān)于先前完成的工作隊列元素的信息。完成隊列404用來生成多個隊列對的單一完成通知點。完成隊列元素是在完成隊列中的一種數(shù)據(jù)結(jié)構(gòu)。該元素描述一個已被完成的工作隊列元素。該完成隊列元素包含足夠的信息,以確定隊列對和已完成的特定工作隊列元素。一完成隊列環(huán)境(context)是一信息塊,其包含管理單個完成隊列所需的指向該隊列的指針、長度和其它信息。
所支持的用于圖4所示的發(fā)送工作隊列402的示例性工作請求描述如下。發(fā)送工作請求是一種通道語義操作,其把一組本地數(shù)據(jù)段推放到由一遠程節(jié)點的接收工作隊列元素所引用的數(shù)據(jù)段。例如,工作隊列元素428包含對數(shù)據(jù)段4 438、數(shù)據(jù)段5 440、和數(shù)據(jù)段6 442的引用。發(fā)送工作請求的這些數(shù)據(jù)段中的每一個都包含一虛擬連續(xù)的存儲器區(qū)域。用于引用本地數(shù)據(jù)段的虛擬地址處于創(chuàng)建該本地隊列對的進程的地址環(huán)境中。
遠程直接存儲器訪問(RDMA)讀工作請求提供一種存儲器語義操作,以讀取遠程節(jié)點上的一虛擬連續(xù)的存儲器空間。存儲器空間既可以是存儲器區(qū)域的一部分,也可以是存儲器窗口的一部分。存儲器區(qū)域引用先前注冊的、由虛擬地址和長度定義的一組虛擬連續(xù)的存儲器地址。存儲器窗口引用已被綁定到先前注冊的區(qū)域的一組虛擬連續(xù)的存儲器地址。
該RDMA讀工作請求讀取遠程端節(jié)點上的一虛擬連續(xù)的存儲器空間,并將該數(shù)據(jù)寫入一虛擬連續(xù)的本地存儲器空間。與發(fā)送工作請求相似,由該RDMA讀工作隊列元素引用本地數(shù)據(jù)段而采用的虛擬地址處于創(chuàng)建了該本地隊列對的進程的地址環(huán)境中。例如,接收工作隊列400中的工作隊列元素416引用數(shù)據(jù)段1 444、數(shù)據(jù)段2 446、數(shù)據(jù)段3 448。該遠程虛擬地址處于這樣的進程的地址環(huán)境中,該進程擁有作為該RDMA讀工作隊列元素的目標的遠程隊列對。
RDMA寫工作隊列元素提供一種存儲器語義操作,以寫入在遠程節(jié)點上的一虛擬連續(xù)的存儲器空間。該RDMA寫工作隊列元素包含本地虛擬連續(xù)存儲器空間以及被寫入所述本地存儲器空間的遠程存儲器空間虛擬地址的一分散列表(scatter list)。
RDMA FetchOp工作隊列元素提供一種存儲器語義操作,以對遠程字執(zhí)行一原子操作。該RDMA FetchOp工作隊列元素是合并的RDMA讀、修改、和RDMA寫操作。該RDMA FetchOp工作隊列元素可以支持幾種讀-修改-寫操作,如“比較并在相等時交換”。
一綁定(解除綁定)遠程訪問關(guān)鍵字(R_Key)工作隊列元素向主機通道適配器硬件提供一命令,以通過將一存儲器窗口與一存儲器區(qū)域相關(guān)聯(lián)(解除關(guān)聯(lián)),來修改(清除)該存儲器窗口。R_Key是每個RDMA訪問的一部分,并被用于驗證遠程進程已允許對緩沖區(qū)的訪問。
在一實施例中,圖4所示的接收工作隊列400只支持一種類型的工作隊列元素,其被稱為接收工作隊列元素。該接收工作隊列元素提供一種通道語義操作,其描述輸入的發(fā)送消息寫入其中的一本地存儲器空間。該接收工作隊列元素包括一分散列表,其描述數(shù)個虛擬連續(xù)的存儲器空間。輸入的發(fā)送消息寫入這些存儲器空間中。這些虛擬地址處于創(chuàng)建該本地隊列對的進程的地址環(huán)境中。
對于處理器間通信,一用戶模式軟件進程通過隊列對直接從緩沖區(qū)在存儲器中所在的位置傳送數(shù)據(jù)。在一實施例中,通過隊列對的傳送繞過操作系統(tǒng),并耗用很少的主機指令周期。隊列對允許零處理器副本的數(shù)據(jù)傳送,而不牽涉操作系統(tǒng)內(nèi)核。該零處理器副本的數(shù)據(jù)傳送對高帶寬和低時延的通信提供了有效的支持。
當一隊列對生成時,該隊列對被設置為提供所選類型的傳輸服務。在一實施例中,實施本發(fā)明的網(wǎng)絡計算系統(tǒng)支持4種類型的傳輸服務。
可靠和不可靠連接的服務將一本地隊列對與一個且只有一個遠程隊列對相關(guān)聯(lián)。連接的服務需要進程為每個將通過SAN結(jié)構(gòu)與之通信的進程創(chuàng)建一隊列對。因而,如果N個主機處理器節(jié)點中的每一個都包含P個進程,而每個節(jié)點上的所有P個進程都要與所有其它節(jié)點上的所有進程通信,則每個主機處理器節(jié)點需要P2×(N-1)個隊列對。此外,一進程可將一隊列對與同一主機通道適配器上的另一隊列對相關(guān)聯(lián)。
可靠數(shù)據(jù)報服務將一本地端到端(EE)環(huán)境與一個且只有一個遠程端到端環(huán)境相關(guān)聯(lián)??煽繑?shù)據(jù)報服務允許一個隊列對的客戶進程與任何其它遠程節(jié)點上的任何其它隊列對通信。在接收工作隊列中,可靠數(shù)據(jù)報服務允許來自任何其它遠程節(jié)點上的任何發(fā)送工作隊列的輸入消息。由于可靠數(shù)據(jù)報服務是無連接的,因此,可靠數(shù)據(jù)報服務極大地改進了可伸縮性。所以,與使用可靠連接傳輸服務相比,使用可靠數(shù)據(jù)報服務,具有固定數(shù)量的隊列對的一端節(jié)點可以與多得多的進程和端節(jié)點通信。例如,如果N個主機處理器節(jié)點中的每一個都包含P個進程,并且每個節(jié)點上的所有P個進程都要與所有其它節(jié)點上的所有進程通信,則可靠連接服務在每個節(jié)點上需要P2×(N-1)個隊列對。相比之下,無連接的可靠數(shù)據(jù)報服務在每個節(jié)點上只需要P個隊列對加上(N-1)個EE環(huán)境,就可以進行完全相同的通信。
不可靠數(shù)據(jù)報服務是無連接的。不可靠數(shù)據(jù)報服務由管理應用程序使用,以發(fā)現(xiàn)新的交換機、路由器和端節(jié)點,并將它們集成到一給定的網(wǎng)絡計算系統(tǒng)中。不可靠的數(shù)據(jù)報服務不提供可靠連接服務和可靠數(shù)據(jù)報服務的可靠性保證。因而,不可靠數(shù)據(jù)報服務利用在每個端節(jié)點上保持的較少的狀態(tài)信息運行。
圖5是根據(jù)本發(fā)明的優(yōu)選實施例的一數(shù)據(jù)包的圖解。消息數(shù)據(jù)500包含數(shù)據(jù)段1 502、數(shù)據(jù)段2 504、和數(shù)據(jù)段3 506,其與圖4所示的數(shù)據(jù)段相似。在本例中,這些數(shù)據(jù)段構(gòu)成包508,其被置于數(shù)據(jù)包512中的包凈荷(payload)510中。此外,數(shù)據(jù)包512包含CRC 514,其用于錯誤檢驗。此外,在數(shù)據(jù)包512中還有路由報頭516和傳輸報頭518。路由報頭516用于標識數(shù)據(jù)包512的源和目的端口。本例中的傳輸報頭518指定數(shù)據(jù)包512的目的隊列對。此外,傳輸報頭518還提供用于數(shù)據(jù)包512的諸如操作碼、包順序號、和分區(qū)等信息。該操作碼標識該包是否是一消息的第一個、最后一個、中間的、或唯一的包。該操作碼也指定是否該操作是一發(fā)送RDMA寫、讀或原子操作。該包順序號在通信建立時被初始化,并且每當隊列對創(chuàng)建一新包時遞增。端節(jié)點的端口可以被配置成為一個或多個有可能重疊的、被稱為分區(qū)的集合的成員。
圖6示出了根據(jù)本發(fā)明的實施例的、具有虛擬通道適配器和虛擬交換機的一物理組件的示意圖。圖6示出了一多功能芯片的內(nèi)部結(jié)構(gòu),該芯片包含一個或多個交換機,這些交換機將一個或多個HCA互連到一個或多個子網(wǎng)。圖6中的物理元件600包括虛擬主機處理器節(jié)點602和虛擬主機處理器節(jié)點604。虛擬主機處理器節(jié)點602包括虛擬主機通道適配器(HCA)606。虛擬主機處理器節(jié)點604包括虛擬主機通道適配器(HCA)608。虛擬HCA 606和608可以具有與物理HCA相同的屬性。例如,在本例中,虛擬HCA 606和608具有強制性的隊列對號碼0和1。
圖6所示的物理元件600包括SAN結(jié)構(gòu)610,該SAN結(jié)構(gòu)610包括交換機612。圖6所示的SAN結(jié)構(gòu)610包括將主機通道適配器606耦合到交換機612的一鏈路,以及將交換機612耦合到TCA 642的一鏈路。圖6所示的網(wǎng)絡計算系統(tǒng)600還包括SAN結(jié)構(gòu)611,該SAN結(jié)構(gòu)611包括交換機614。圖6所示的SAN結(jié)構(gòu)611包括將主機通道適配器608耦合到交換機614的一鏈路,以及將交換機614耦合到TCA 644的一鏈路。虛擬HCA 606包括端口650和652。端口650通過交換機612的端口678連接到子網(wǎng)646。端口652通過交換機614的端口682連接到子網(wǎng)648。與子網(wǎng)646相關(guān)聯(lián)的一子網(wǎng)管理器已將LID 670分配給HCA 606的端口650,并將LID 694分配給交換機612的端口686。端口686是交換機612的InfiniBand子網(wǎng)管理端口0。與子網(wǎng)648相關(guān)聯(lián)的一子網(wǎng)管理器已將LID672分配給HCA 606的端口652,并將LID 696分配給交換機614的端口688。端口688是交換機614的InfiniBand子網(wǎng)管理端口0。虛擬HCA 608包括端口654和656。端口654通過交換機612的端口680連接到子網(wǎng)646。端口656通過交換機614的端口684連接到子網(wǎng)648。與子網(wǎng)646相關(guān)聯(lián)的一子網(wǎng)管理器已將LID 674分配給HCA 608的端口654。與子網(wǎng)648相關(guān)聯(lián)的一子網(wǎng)管理器已將LID 676分配給HCA 608的端口656。
在示例性的事務中,主機處理器節(jié)點602包括客戶進程A 616。主機處理器節(jié)點604包括客戶進程B 618??蛻暨M程A 616通過隊列對620、完成隊列632和轉(zhuǎn)換保護表(TPT)634與主機通道適配器硬件606交互作用??蛻暨M程B 618通過隊列對622、完成隊列636和TPT 638與主機通道適配器608交互作用。隊列對620、隊列對622、完成隊列632、完成隊列636、TPT 634和TPT 638是一些數(shù)據(jù)結(jié)構(gòu)。隊列對620包括一發(fā)送工作隊列624和一接收工作隊列626。隊列對622包括一發(fā)送工作隊列628和一接收工作隊列630。完成隊列632和636由單個完成隊列組成。TPT 634和638由一存儲器組成,該存儲器由一存儲器地址轉(zhuǎn)換與保護表組成。
通道適配器,例如TCA或HCA,可以向?qū)⒆鳛槲锢碓?00的一部分而運行的軟件、固件或硬件狀態(tài)機提供一資源配置和分配接口。該資源配置和分配接口允許軟件、固件或硬件狀態(tài)機為虛擬HCA,例如圖6所示的HCA 606和608,設置操作策略。該操作策略可能包括1)在一多功能芯片中使用的交換機的數(shù)量;2)每個交換機的端口的數(shù)量;3)分配給每個交換機的交換機資源的數(shù)量;4)在該多功能芯片中使用的HCA的數(shù)量;5)每個HCA的端口的數(shù)量;以及6)分配給每個HCA的HCA資源的數(shù)量。
軟件、固件或硬件狀態(tài)機可以選擇物理元件600的實際配置。一物理元件可以是,例如,一HCA。該選擇可以是靜態(tài)的或動態(tài)的。靜態(tài)選擇可能需要通過一結(jié)構(gòu)的重新初始化和/或一節(jié)點的重新啟動來改變HCA或交換機的配置。動態(tài)選擇允許改變HCA或交換機的配置而不需要結(jié)構(gòu)的重新初始化,但可能需要該節(jié)點的啟動。
在靜態(tài)選擇機制下,物理元件600可能必須報告在結(jié)構(gòu)初始化期間可以作為物理元件600的一部分而包括進來的虛擬交換機、HCA、和主機處理器節(jié)點的精確數(shù)量。靜態(tài)選擇機制可能提供在該物理元件上是否有任何端口可用的信息,但不提供關(guān)于端口狀態(tài)的信息,如果沒有對該信息的請求的話。使用靜態(tài)選擇機制,每個虛擬HCA可能表現(xiàn)為一有區(qū)別的物理HCA。在圖6中,通過使用標準的InfiniBand子網(wǎng)管理包(SMP)探查端口644,與子網(wǎng)646相關(guān)聯(lián)的一子網(wǎng)管理器檢測到交換機612。對于與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器,交換機612表現(xiàn)為一物理交換機,并且LID 694被分配給其SMP端口686。與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器通過InfiniBand SMP識別交換機612具有兩個其它的端口,即端口678和680。通過使用標準的InfiniBand SMP探查交換機612的端口678以及定位HCA 606的端口650,與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器檢測到HCA 606。對于與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器,HCA 606表現(xiàn)為一物理HCA。與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器使用InfiniBand SMP將LID 670分配給HCA 606的端口650。類似地,通過使用InfiniBand SMP,與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器檢測到HCA 608。對于與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器,HCA 608表現(xiàn)為一物理HCA。與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器使用InfiniBand SMP將LID 674分配給端口654。
使用動態(tài)選擇機制,物理元件600可能報告虛擬交換機的最大可配置數(shù)量和它們相應的拓撲,但可能不報告在結(jié)構(gòu)初始化期間可能作為物理元件600的一部分包括進來的HCA和主機處理器節(jié)點的精確數(shù)量。動態(tài)選擇機制可能提供在該物理元件上是否有任何端口可用的信息,并可能提供在先前不可用的端口變?yōu)榭晒┦褂脮r的信息。類似地,動態(tài)選擇機制可能在HCA及與其相關(guān)聯(lián)的主機節(jié)點被從運行中刪除時報告它們的刪除。使用動態(tài)選擇機制,每個虛擬HCA可以表現(xiàn)為一有區(qū)別的、物理的HCA。
在圖6中,如果HCA 606在后來的一時刻變成可供使用的,則將發(fā)生以下過程。通過使用InfiniBand管理包(SMP)探查端口644,與子網(wǎng)646相關(guān)聯(lián)的一子網(wǎng)管理器檢測出交換機612。對于與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器,交換機612表現(xiàn)為一物理交換機,并且LID 694被分配給其SMP端口686。與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器通過標準的InfiniBand SMP識別交換機612具有兩個其它的端口,即端口678和680。通過使用InfiniBand SMP探查交換機612端口678以及定位HCA 606的端口650,與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器檢測出HCA 606。對于與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器,HCA 606表現(xiàn)為一物理HCA。與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器使用InfiniBand SMP將LID 670分配給HCA的端口650。在后來的一時刻,通過與子網(wǎng)646相關(guān)聯(lián)的子網(wǎng)管理器進行SMP掃描(sweep)以探查交換機612、端口680并定位HCA 608的端口654,與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器可以檢測到HCA 608。
或者,通過來自交換機612的、指明狀態(tài)改變的一陷阱(trap),與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器可能檢測到HCA 608。這將導致與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器使用InfiniBand SMP探查交換機612、端口680并定位HCA 608的端口654。對于與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器,HCA608表現(xiàn)為一物理HCA。與子網(wǎng)646相關(guān)聯(lián)的該子網(wǎng)管理器使用InfiniBandSMP將LID 674分配給HCA 608的端口654。
如上所述,本發(fā)明提供了用于對一物理元件進行端節(jié)點分區(qū)的方法和系統(tǒng)。該物理元件的配置的選擇可以是靜態(tài)的或動態(tài)的。使用靜態(tài)選擇機制,子網(wǎng)管理器可以探查該物理元件,例如一交換機或HCA,以確定該物理元件是否被檢測到。如果該物理元件被檢測到,則分配一LID給該物理元件的SM P端口。如果檢測到該物理元件的其它端口,則為這些其它端口分配一LID。
使用動態(tài)選擇機制,當HCA及與這些HCA相關(guān)聯(lián)的主機節(jié)點變?yōu)榭晒┦褂脮r,它們將被報告。此外,當這些HCA及與這些HCA相關(guān)聯(lián)的主機節(jié)點被從運行中刪除時,該動態(tài)選擇機制將報告這些HCA及與這些HCA相關(guān)聯(lián)的主機節(jié)點的刪除。當一HCA變?yōu)榭晒┦褂脮r,子網(wǎng)管理器將一LID分配給與該HCA相關(guān)聯(lián)的一端口。
圖7是一示例性流程圖,其描繪了根據(jù)本發(fā)明的優(yōu)選實施例的、用于物理元件的配置的一靜態(tài)選擇系統(tǒng)的操作。在本例中,該操作開始于由子網(wǎng)管理器使用InfiniBand子網(wǎng)管理包來探查一端口(步驟702)。響應于由該子網(wǎng)管理器使用InfiniBand子網(wǎng)管理包來探查該端口,判斷是否檢測到一交換機(步驟704)。如果未檢測到交換機(步驟704否),則該操作終止。如果檢測到交換機(步驟704是),則一LID被分配給該交換機的SMP端口(步驟706)。
然后判斷是否該予網(wǎng)管理器已檢測到該交換機的其它端口(步驟708)。如果該子網(wǎng)管理器已檢測到該交換機的(一些)其它端口(步驟708是),則LID被分配給(這些)其它端口(步驟710),并且操作返回到步驟708,在此判斷是否該子網(wǎng)管理器已檢測到該交換機的其它端口。如果該子網(wǎng)管理器沒有檢測到該交換機的其它端口(步驟708否),則判斷是否將對結(jié)構(gòu)進行重新初始化(步驟712)。如果不對結(jié)構(gòu)進行重新初始化(步驟712否),則執(zhí)行一節(jié)點的重新啟動(步驟716)。然后,虛擬交換機、HCA和主機處理器節(jié)點的精確數(shù)量被報告給一子網(wǎng)管理器(步驟720),然后該操作終止。如果將對該結(jié)構(gòu)進行重新初始化(步驟712是),則執(zhí)行該結(jié)構(gòu)的重新初始化(步驟714)。然后判斷是否將執(zhí)行一節(jié)點的重新啟動(步驟718)。如果將執(zhí)行一節(jié)點的重新啟動(步驟718是),則執(zhí)行該結(jié)點的重新啟動(步驟716),并報告虛擬交換機、HCA和主機處理器節(jié)點的精確數(shù)量(步驟720),然后該操作終止。如果不執(zhí)行一節(jié)點的重新啟動(步驟718否),則報告虛擬交換機、HCA和主機處理器節(jié)點的精確數(shù)量(步驟720),然后該操作終止。
圖8是一示例性流程圖,其描述了根據(jù)本發(fā)明的優(yōu)選實施例,當主機通道適配器及與其相關(guān)聯(lián)的節(jié)點變?yōu)榭晒┦褂没驈倪\行中刪除時將它們報告。在本例中,該操作開始于判斷是否一HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點可供使用(步驟802)。如果該HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點是不可使用的(步驟802否),則該操作終止。如果該HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點是可供使用的(步驟802是),則該HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點在它們變?yōu)榭晒┦褂脮r將它們報告給一子網(wǎng)管理器(步驟804)。然后判斷該HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點是否已從運行中刪除(步驟806)。如果該HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點沒有從運行中刪除(步驟806否),則該操作終止。如果該HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點已從運行中刪除(步驟806是),則報告該HCA及與該HCA相關(guān)聯(lián)的主機節(jié)點已從運行中刪除(步驟808),然后該操作終止。
圖9是一示例性流程圖,其描繪了根據(jù)本發(fā)明的優(yōu)選實施例的、用于物理元件的配置的一動態(tài)選擇系統(tǒng)的操作。在本例中,該操作開始于判斷是否一HCA在接通電源之時的條件下變?yōu)榭晒┦褂玫?步驟902)。如果HCA在接通電源之時的條件下沒有變?yōu)榭晒┦褂玫?步驟902否),則判斷是否HCA在接通電源之后的條件下變?yōu)榭晒┦褂玫?步驟904)。如果HCA在接通電源之后的條件下沒有變?yōu)榭晒┦褂玫?步驟904否),則該操作終止。如果HCA在接通電源之后的條件下變?yōu)榭晒┦褂玫?步驟904是),則該操作前進到步驟906,在此由一子網(wǎng)管理器使用InfiniBand子網(wǎng)管理包探查一端口。
回到步驟902,如果一HCA在接通電源之時的條件下變?yōu)榭晒┦褂玫?步驟902是),則由一子網(wǎng)管理器使用InfiniBand子網(wǎng)管理包探查一端口(步驟906)。判斷是否檢測到一交換機(步驟908)。如果沒有檢測到交換機(步驟908否),則該操作終止。如果檢測到交換機(步驟908是),則一LID被分配給該交換機的SMP端口(步驟910)。然后判斷是否子網(wǎng)管理器已使用SMP掃描檢測到該交換機的其它端口(步驟912)。如果子網(wǎng)管理器已使用SMP掃描檢測到該交換機的其它端口(步驟912是),則一LID被分配給該其它端口,并且該操作前進到步驟914,在此判斷是否該子網(wǎng)管理器已使用來自該交換機的、指明狀態(tài)改變的一陷阱而檢測到該交換機的其它端口。
如果該子網(wǎng)管理器未能使用SMP掃描檢測到該交換機的其它端口(步驟912否),則然后判斷是否該子網(wǎng)管理器已使用來自該交換機的、指明狀態(tài)改變的一陷阱而檢測到該交換機的其它端口(步驟914)。如果該子網(wǎng)管理器已使用來自該交換機的、指明狀態(tài)改變的一陷阱而檢測到該交換機的其它端口(步驟914是),則一LID被分配給該其它端口(步驟916),并且該操作返回到步驟912,在此判斷是否該子網(wǎng)管理器已使用SMP掃描檢測到該交換機的其它端口。
如果該子網(wǎng)管理器未能使用來自該交換機的、指明狀態(tài)改變的一陷阱而檢測到該交換機的其它端口(步驟914否),則判斷是否將進行結(jié)構(gòu)的重新初始化(步驟918)。如果將進行結(jié)構(gòu)的重新初始化(步驟918是),則進行結(jié)構(gòu)的初始化,并且該操作前進到步驟920,在此進行一節(jié)點的重新啟動。如果不進行結(jié)構(gòu)的初始化(步驟918否),則進行一節(jié)點的重新啟動(步驟920)。當HCA及主機處理器節(jié)點變?yōu)榭晒┦褂脮r,將它們報告(步驟922),然后該操作終止。
因此,本發(fā)明提供了一種機制,其允許單個物理組件表現(xiàn)為多個組件,所述多個組件中的每一單個組件都有自己獨特的訪問控制級別。這些組件可以是主機通道適配器(HCA)、目標通道適配器(TCA)或交換機。用來創(chuàng)建主機通道適配器和交換機的資源可以通過從一公共池中靜態(tài)或動態(tài)地選擇軟件、固件和狀態(tài)機來獲得。這些資源的分配可以通過各種機制來進行。例如,可以使用一簡單的1/N機制將資源分配給所有虛擬HCA?;蛘撸梢允褂靡患訖?quán)平均機制創(chuàng)建具有具有不同能力的虛擬HCA。這些資源可以包括但不限于所有HCA和QP可選擇的修改量(modifier)。例如,這些HCA和QP可選擇的修改量可以是QP的數(shù)量、CQ的數(shù)量、TPT的大小、P-Key表的大小、未完成的讀RDMA的數(shù)量、及其類似物。
重要的是認識到,盡管已在一具有完整功能的數(shù)據(jù)處理系統(tǒng)的環(huán)境下描述了本發(fā)明,本領域的普通技術(shù)人員可以理解,本發(fā)明中的過程能夠以包含指令的計算機可讀介質(zhì)的形式以及多種形式分布,而且不管實際用于進行這種分布的信號承載介質(zhì)的特殊類型,本發(fā)明都同樣適用。計算機可讀介質(zhì)的例子包括可記錄類型的介質(zhì),如軟盤、硬盤驅(qū)動器、RAM、CD-ROM、DVD-ROM,也包括傳輸類型的介質(zhì),如數(shù)字和模擬通信鏈路,使用諸如射頻和光波傳輸?shù)葌鬏斝问降挠芯€或無線通信鏈路。計算機可讀介質(zhì)可以采取編碼格式的形式,這種編碼格式被解碼以實際用于一特定的數(shù)據(jù)處理系統(tǒng)。
權(quán)利要求
1.一種用于將一物理元件(600)的一端節(jié)點(606)分區(qū)的方法,其包括以下步驟使用一子網(wǎng)管理包(SMP)探查(702)一端口(644);通過探查該端口(644),檢測到(704)與該端口(644)相關(guān)聯(lián)的一交換機(612);將一本地標識符(694)分配(706)給該交換機(612)的一SMP端口(686);檢測(708)該交換機(612)的一其它端口(678);以及將一本地標識符(670)分配(710)給與該其它端口(678)相應的端節(jié)點(606)的一端口(650)。
2.一種用于將一物理元件(600)的一端節(jié)點(606)分區(qū)的系統(tǒng),其包括用于使用一子網(wǎng)管理包(SMP)探查(702)一端口(644)的裝置;用于通過探查該端口(644),檢測到(704)與該端口(644)相關(guān)聯(lián)的一交換機(612)的裝置;用于將一本地標識符(694)分配(706)給該交換機(612)的一SMP端口(686)的裝置;用于檢測(708)該交換機(612)的一其它端口(678)的裝置;以及用于將一本地標識符(670)分配(710)給與該其它端口(678)相應的端節(jié)點(606)的一端口(650)的裝置。
3.一種存儲在一計算機可讀存儲介質(zhì)上的計算機程序產(chǎn)品,用于當其在一計算機系統(tǒng)上運行時,執(zhí)行權(quán)利要求1的方法。
全文摘要
一種用于將一物理元件(600)的一端節(jié)點(606)分區(qū)的方法,其包括以下步驟使用一子網(wǎng)管理包(SMP)探查(702)一端口(644);通過探查該端口(644),檢測到(704)與該端口(644)相關(guān)聯(lián)的一交換機(612);將一本地標識符(694)分配給該交換機(612)的一SMP端口(686);檢測(708)該交換機(612)的一其它端口(678);以及將一本地標識符(670)分配(710)給與該其它端口(678)相應的端節(jié)點(606)的一端口(650)。
文檔編號G06F9/445GK1520556SQ02812904
公開日2004年8月11日 申請日期2002年3月18日 優(yōu)先權(quán)日2001年6月29日
發(fā)明者D·克拉多克, D·A·埃爾科, T·A·格雷格, G·F·菲斯特, R·J·雷西奧, D 克拉多克, 埃爾科, 格雷格, 菲斯特, 雷西奧 申請人:國際商業(yè)機器公司