專利名稱:一種多路徑訪問i/o設(shè)備的方法、i/o多路徑管理器及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種多路徑訪問I/O設(shè)備的方法、I/O多路徑管理器及系統(tǒng)。
背景技術(shù):
目前,網(wǎng)絡(luò)通信中的計算節(jié)點,例如服務(wù)器,通過PCI-E(Peripheral Component hterconnect-Express,外設(shè)組件快速互連標(biāo)準(zhǔn))來直接對外訪問I/O anput/Output,輸入輸出)設(shè)備大多基于集群(Cluster)場景,即默認(rèn)PCI-E交換機(jī)的各個接口(port)都是連接到不同的系統(tǒng)上,并沒有很好地考慮基于NUMA (Non-Uniform Memory Access,非一致性內(nèi)存訪問)系統(tǒng)的場景。在NUMA系統(tǒng)中,將所有計算節(jié)點分成若干個節(jié)點集合,且每個節(jié)點集合都與其他的節(jié)點集合電氣隔離,這樣的一個集合就叫做硬分區(qū)(或者說是一個大節(jié)點),每個硬分區(qū)內(nèi)包括一個或多個計算節(jié)點,每個計算節(jié)點都有RC(Root Complex,根集合體),可以對外連接PCI-E。
一個NUMA系統(tǒng)是由多個計算節(jié)點通過NUMA網(wǎng)絡(luò)聚合而成,由一個OS (Operating System,操作系統(tǒng))或管理程序(Hypervisor)統(tǒng)一管理這些物理節(jié)點的硬件資源。
以NUMA系統(tǒng)為例,如圖1所示為只顯示了一個大節(jié)點(或硬分區(qū))的組網(wǎng)圖,包括NUMA局和網(wǎng)絡(luò)1、包括3個計算節(jié)點21 23的硬分區(qū)2、PCI-E交換機(jī)3、外部1/0設(shè)備4,其中每個計算節(jié)點有至少1顆CPU (Central Processing Unit,中央處理器)、一個 NC(Node Controller,節(jié)點控制器),位于I0H(Input/0utput Hub,輸入輸出集線器)中的根組件(Root CompleX,RC),外部1/0設(shè)備6包括光纖通道網(wǎng)卡31和以太網(wǎng)卡32。假定計算節(jié)點21是主節(jié)點,承擔(dān)主要的分區(qū)啟動、資源管理的任務(wù),計算節(jié)點22 M為從節(jié)點。 3個計算節(jié)點通過NUMA聚合網(wǎng)絡(luò),總共組成一個6路系統(tǒng)(實際上這個PCI-E交換機(jī)還連接著NUMA系統(tǒng)中其他的硬分區(qū)的計算節(jié)點)。
如圖1所示的系統(tǒng)里,計算節(jié)點21對外連接PCI-E交換機(jī)的PCI-E鏈路01是實線顯示,計算節(jié)點22 23對外連接PCI-E交換機(jī)的PCI-E鏈路02、03是虛線顯示。這是因為軟件(例如FirmWare、0S、I/0應(yīng)用程序等)只能通過主節(jié)點連接到PCI-E交換機(jī)的鏈路才能看到以太網(wǎng)卡等10設(shè)備,而軟件是無法通過從節(jié)點訪問到有效的1/0設(shè)備。如圖2 所示,為圖1所示系統(tǒng)的資源信息表示意圖,計算節(jié)點22 23無法直接看到以太網(wǎng)卡和光纖通道網(wǎng)卡等1/0設(shè)備,要訪問以太網(wǎng)卡等1/0設(shè)備,必須要通過NUMA鏈路經(jīng)過NUMA聚合網(wǎng)絡(luò),再通過計算節(jié)點21的鏈路來訪問。這樣就增加了延時,在業(yè)務(wù)量較大的情況下主節(jié)點本身會出現(xiàn)輸入輸出的瓶頸,而且其他從節(jié)點向外連接的PCI-E鏈路沒有起到作用,帶寬利用率低。發(fā)明內(nèi)容
本發(fā)明的實施例提供一種多路徑訪問1/0設(shè)備的方法、1/0多路徑管理器及系統(tǒng), 能夠使所有計算節(jié)點與PCI-E交換機(jī)之間的PCI-E鏈路有效,消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。
本發(fā)明的實施例采用如下技術(shù)方案
一方面,提供一種多路徑訪問I/O設(shè)備的方法,包括
根據(jù)接收到的第一硬分區(qū)的配置信息配置PCI-E交換機(jī),以隔離除所述第一硬分區(qū)之外的其他硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備;
根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O 任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O設(shè)備。
一方面,一種I/O多路徑管理器,包括
PCI-E交換機(jī)配置模塊,用于根據(jù)接收到的第一硬分區(qū)的配置信息配置外設(shè)組件快速互連標(biāo)準(zhǔn)PCI-E交換機(jī),以隔離除所述第一硬分區(qū)之外的其他硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備;
I/O多路徑配置模塊,用于根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O設(shè)備。
另一方面,提供一種多路徑訪問I/O設(shè)備的系統(tǒng),包括
I/O多路徑管理器,用于根據(jù)接收到的第一硬分區(qū)的配置信息配置PCI-E交換機(jī), 以隔離除所述第一硬分區(qū)之外的其他硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備,根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O設(shè)備;所述I/O多路徑管理器位于固件或者操作系統(tǒng)中;
聚合網(wǎng)絡(luò),用于連接系統(tǒng)內(nèi)的計算節(jié)點,以便于系統(tǒng)通過一個操作系統(tǒng)控制計算節(jié)占.I— /、、、
至少兩個硬分區(qū),其中每個硬分區(qū)中包括至少一個計算節(jié)點;
PCI-E交換機(jī),用于所述計算節(jié)點與I/O設(shè)備之間建立連接,以便于所述計算節(jié)點通過自身與所述PCI-E交換機(jī)之間建立的PCI-E鏈路訪問所述計算節(jié)點所屬硬分區(qū)的I/O 設(shè)備;
I/O設(shè)備,用于所述計算節(jié)點與外部網(wǎng)絡(luò)之間的連接;
存儲設(shè)備,用于存儲固件、操作系統(tǒng)、I/O應(yīng)用程序。
本發(fā)明的實施例提供的多路徑訪問I/O設(shè)備的方法、I/O多路徑管理器及系統(tǒng), 能夠使所有計算節(jié)點的與PCI-E交換機(jī)之間PCI-E鏈路有效,使從節(jié)點也能夠通過自身的 PCI-E鏈路訪問I/O設(shè)備,消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)NUMA系統(tǒng)的組網(wǎng)邏輯示意圖2為現(xiàn)有技術(shù)NUMA系統(tǒng)的系統(tǒng)資源信息表結(jié)構(gòu)示意圖3為本發(fā)明實施例提供的多路徑訪問I/O設(shè)備的方法流程示意圖一;
圖4為本發(fā)明實施例提供的多路徑訪問I/O設(shè)備的方法流程示意圖二 ;
圖5為本發(fā)明實施例提供的多路徑訪問I/O設(shè)備的方法流程示意圖三;
圖6為本發(fā)明實施例提供的I/O多路徑管理器的結(jié)構(gòu)示意圖7為本發(fā)明實施例提供的多路徑訪問I/O設(shè)備的NUMA系統(tǒng)的組網(wǎng)邏輯示意圖8為本發(fā)明實施例提供的另一種多路徑訪問I/O設(shè)備的NUMA系統(tǒng)的組網(wǎng)邏輯示意圖9為本發(fā)明實施例提供的NUMA系統(tǒng)的系統(tǒng)資源信息表結(jié)構(gòu)示意圖10為本發(fā)明實施例提供的SMP系統(tǒng)的系統(tǒng)資源信息表結(jié)構(gòu)示意圖11為本發(fā)明實施例提供的SMP系統(tǒng)的系統(tǒng)資源信息表結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
實施例一
本發(fā)明實施例提供的多路徑訪問I/O設(shè)備的方法,如圖3所示,包括
S101、根據(jù)接收到的第一硬分區(qū)的配置信息配置PCI-E交換機(jī),以隔離除第一硬分區(qū)之外的其他硬分區(qū),使第一硬分區(qū)的計算節(jié)點只訪問第一硬分區(qū)的I/O設(shè)備。
S102、根據(jù)接收到的第一硬分區(qū)的配置信息在第一硬分區(qū)的計算節(jié)點和第一硬分區(qū)的I/O設(shè)備之間建立映射關(guān)系,以使操作系統(tǒng)根據(jù)映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問I/O設(shè)備。
本發(fā)明的實施例提供的多路徑訪問I/O設(shè)備的方法,通過在計算節(jié)點和I/O設(shè)備之間建立映射關(guān)系,使所有計算節(jié)點的與PCI-E交換機(jī)之間PCI-E鏈路有效,從而使從節(jié)點也能夠通過自身的PCI-E鏈路訪問I/O設(shè)備,進(jìn)而消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。
實施例二
本發(fā)明實施例提供的多路徑訪問I/O設(shè)備的方法,如圖4所示,包括
S201、系統(tǒng)復(fù)位完成,第一硬分區(qū)的主節(jié)點開始運行固件,利用固件對主對節(jié)點內(nèi)的處理器、內(nèi)存以及芯片組進(jìn)行初始化。
S202、主節(jié)點調(diào)用I/O多路徑管理器,并接收分析第一硬分區(qū)的配置信息。
具體的,此配置信息一般來自系統(tǒng)管理模塊,該系統(tǒng)管理模塊(圖中未畫出)通過運行管理軟件,從而管理整個NUMA系統(tǒng)。I/O多路徑管理器接收到這個配置信息后分析配置信息中的第一硬分區(qū)的計算節(jié)點的中RC的數(shù)量、分析第一硬分區(qū)的I/O設(shè)備的數(shù)量以及設(shè)備的類型、識別PCI-E交換機(jī)中與第一硬分區(qū)的計算節(jié)點的對應(yīng)端口以及PCI-E交換機(jī)中與第一硬分區(qū)的I/O設(shè)備的對應(yīng)端口。
S203、主節(jié)點調(diào)用I/O多路徑管理器配置PCI-E交換機(jī),以隔離除第一硬分區(qū)之外的其他硬分區(qū)。
具體的,將上述PCI-E交換機(jī)中與第一硬分區(qū)的計算節(jié)點的對應(yīng)端口以及PCI-E 交換機(jī)中與第一硬分區(qū)的I/O設(shè)備的對應(yīng)端口,配制成一個虛擬交換機(jī),以隔離除第一硬分區(qū)之外的其他硬分區(qū)的I/O設(shè)備及I/O訪問,使第一硬分區(qū)的計算節(jié)點只訪問第一硬分區(qū)的I/O設(shè)備。
S204、主節(jié)點搜索I/O設(shè)備并引導(dǎo)從節(jié)點開始初始化。
具體的,主節(jié)點根據(jù)第一硬分區(qū)的配置信息中提供的第一硬分區(qū)的計算節(jié)點的數(shù)量以及第一硬分區(qū)的I/O設(shè)備的數(shù)量、類型,通過主節(jié)點內(nèi)部的RC逐一掃描第一硬分區(qū)的 I/O設(shè)備總線,搜索有效的I/O設(shè)備,搜索到I/O設(shè)備后分別為主節(jié)點內(nèi)的RC和搜索到的 I/O設(shè)備分配地址和內(nèi)存,并且在掃描完成后引導(dǎo)從節(jié)點開始初始化。
S205、主節(jié)點調(diào)用I/O多路徑管理器在第一硬分區(qū)的計算節(jié)點和第一硬分區(qū)的I/ 0設(shè)備之間建立映射關(guān)系。
具體的,主節(jié)點調(diào)用I/O多路徑管理器將第一硬分區(qū)的I/O設(shè)備的地址通過指針發(fā)送給各個從節(jié)點的RC,該指針指向上述的I/O設(shè)備的地址,這樣就在第一硬分區(qū)的計算節(jié)點和I/O設(shè)備之間建立了映射關(guān)系。
S206、主節(jié)點調(diào)用I/O多路徑管理器形成系統(tǒng)資源信息表。
具體的,主節(jié)點調(diào)用I/O多路徑管理器形成系統(tǒng)資源信息表并將系統(tǒng)資源信息表的指針發(fā)送給操作系統(tǒng),該系統(tǒng)資源信息表包括上述第一硬分區(qū)的計算節(jié)點和I/O設(shè)備之間的映射關(guān)系、處理器信息和內(nèi)存信息以及計算節(jié)點與PCI-E交換機(jī)之間可用的PCI-E鏈路。
S207、接收I/O任務(wù),并根據(jù)系統(tǒng)資源信息表為I/O任務(wù)分配硬件資源。
具體的,操作系統(tǒng)接收I/O任務(wù)進(jìn)入I/O任務(wù)列隊,通過上述系統(tǒng)資源信息表的指針調(diào)用系統(tǒng)資源信息表,而后確定執(zhí)行當(dāng)前I/O任務(wù)的處理器并分配內(nèi)存,根據(jù)I/O任務(wù)的類型確定要訪問的I/O設(shè)備。
S208、操作系統(tǒng)根據(jù)系統(tǒng)資源信息表指示執(zhí)行I/O任務(wù)的處理器通過最短路徑來訪問I/O設(shè)備。
具體的,操作系統(tǒng)根據(jù)系統(tǒng)資源信息表中的第一硬分區(qū)的計算節(jié)點和I/O設(shè)備之間的映射關(guān)系,以及計算節(jié)點與PCI-E交換機(jī)之間可用的PCI-E鏈路,選擇一條執(zhí)行當(dāng)前I/ 0任務(wù)最短路徑。一般情況下,此路徑為執(zhí)行當(dāng)前I/O任務(wù)的處理器自身所在計算節(jié)點與 PCI-E交換機(jī)之間的PCI-E鏈路。
當(dāng)主節(jié)點因為故障或者資源重新分配等原因需要退出硬分區(qū)時,如圖5所示,還包括
S301、系統(tǒng)管理模塊接收主節(jié)點發(fā)出退出請求指令。
通常情況下,當(dāng)?shù)谝挥卜謪^(qū)的主節(jié)點因為故障或者資源重新分配等原因需要退出第一硬分區(qū)時,主節(jié)點會通過系統(tǒng)管理模塊向系統(tǒng)的管理軟件發(fā)送退出請求指令。
S302、系統(tǒng)管理模塊接收主節(jié)點發(fā)出退出響應(yīng)指令,指示主節(jié)點退出第一硬分區(qū)。
S303、系統(tǒng)管理模塊接收退出請求支指令后,向從節(jié)點中的一個發(fā)送升級為新的主節(jié)點的指令。
系統(tǒng)的管理模塊在接收到退出請求指令后,根據(jù)系統(tǒng)的策略在從節(jié)點中選取一個,向其發(fā)送指令升級為新的主節(jié)點。
S304、新的主節(jié)點從原主節(jié)點接收硬件資源信息和I/O任務(wù)。其中,硬件資源信息包括執(zhí)行I/O任務(wù)的處理器信息、執(zhí)行I/O任務(wù)需要訪問的I/O設(shè)備的信息、內(nèi)存信息、執(zhí)行I/O任務(wù)需要經(jīng)過的PCI-E鏈路信息。
S305、原主節(jié)點退出第一硬分區(qū),等待維修或者重新分配。
S306、新的主節(jié)點更新系統(tǒng)資源信息表。
S307、新的主節(jié)點啟用I/O多路徑管理器根據(jù)更新后的系統(tǒng)資源信息表配置 PCI-E交換機(jī),隔離出第一硬分區(qū)之外的其他硬分區(qū),配制方法與圖4中的步驟203完全相同,不再贅述。
本實施例中的系統(tǒng)可以是NUMA系統(tǒng)也可以是SMP系統(tǒng),計算節(jié)點可以是服務(wù)器。
本發(fā)明的實施例提供的多路徑訪問I/O設(shè)備的方法,通過在計算節(jié)點和I/O設(shè)備之間建立映射關(guān)系,使所有計算節(jié)點的與PCI-E交換機(jī)之間PCI-E鏈路有效,從而使從節(jié)點也能夠通過自身的PCI-E鏈路訪問I/O設(shè)備,進(jìn)而消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。
實施例三
本發(fā)明實施例提供的I/O多路徑管理器10,如圖6所示,包括
調(diào)用函數(shù)接口 101,用于第一硬分區(qū)的計算節(jié)點中的主節(jié)點通過操作系統(tǒng)或者固件調(diào)用所述I/O多路徑管理器。
硬分區(qū)資源分析模塊102,用于接收第一硬分區(qū)的配置信息,分析配置信息中的第一硬分區(qū)的計算節(jié)點的中RC的數(shù)量和地址、分析第一硬分區(qū)的I/O設(shè)備的數(shù)量以及設(shè)備的類型、識別PCI-E交換機(jī)中與第一硬分區(qū)的計算節(jié)點的對應(yīng)端口以及PCI-E交換機(jī)中與第一硬分區(qū)的I/O設(shè)備的對應(yīng)端口。
PCI-E交換機(jī)配置模塊103,用于根據(jù)接收到的第一硬分區(qū)的配置信息配置PCI-E 交換機(jī),以隔離除第一硬分區(qū)之外的其他硬分區(qū),使第一硬分區(qū)的計算節(jié)點只訪問第一硬分區(qū)的I/O設(shè)備。
I/O多路徑配置模塊104,用于根據(jù)接收到的第一硬分區(qū)的配置信息建立第一硬分區(qū)的計算節(jié)點和第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問第一硬分區(qū)的I/O設(shè)備。
本發(fā)明的實施例提供的I/O多路徑管理器,通過在計算節(jié)點和I/O設(shè)備之間建立映射關(guān)系,使所有計算節(jié)點的與PCI-E交換機(jī)之間PCI-E鏈路有效,從而使從節(jié)點也能夠通過自身的PCI-E鏈路訪問I/O設(shè)備,進(jìn)而消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。
實施例四
本發(fā)明實施提供的多路徑訪問I/O設(shè)備的系統(tǒng),以NUMA系統(tǒng)為例進(jìn)行說明,如圖 7所示,包括
如圖6所示的I/O多路徑管理器10,位于固件51中,用于根據(jù)接收到的第一硬分區(qū)2的配置信息配置PCI-E交換機(jī)3,以隔離除第一硬分區(qū)2之外的其他硬分區(qū),使計算節(jié)點21 22只訪問第一硬分區(qū)2的I/O設(shè)備4,并且根據(jù)接收到的第一硬分區(qū)2的配置信息在計算節(jié)點21 23和I/O設(shè)備4之間建立映射關(guān)系,這樣計算節(jié)點21 23與PCI-E交換機(jī)3之間PCI-E鏈路01 03都變成有效的,如圖中7所示PCI-E鏈路01 03都為實線。而后,I/O多路徑管理器10將計算節(jié)點21 23和I/O設(shè)備4的映射關(guān)系、處理器信息、內(nèi)存信息以及計算節(jié)點21 23與PCI-E交換機(jī)3之間可用的PCI-E鏈路01 03關(guān)聯(lián)起來形成系統(tǒng)資源信息表,如圖9所示,操作系統(tǒng)52根據(jù)此系統(tǒng)資源信息表根據(jù)指示計算機(jī)點21 23通過最短路徑訪問I/O設(shè)備,一般情況下此最短路徑為執(zhí)行I/O任務(wù)的計算節(jié)點自身與PCI-E交換機(jī)的鏈路。
NUMA聚合網(wǎng)絡(luò)1,用于將所有計算節(jié)點通過NC聚合連接,并通過一個操作系統(tǒng)控制所有的計算節(jié)點。
至少一個硬分區(qū)2(圖7中只畫出第一硬分區(qū)2,其他硬分區(qū)未畫出),包括一個主節(jié)點21和兩個從節(jié)點22、23,當(dāng)然,還可以增加更多的從節(jié)點。
其中,每個計算節(jié)點中包括一個節(jié)點控制器NC,用于計算節(jié)點與NUMA聚合網(wǎng)絡(luò)的連接;兩個CPU,用于執(zhí)行I/O任務(wù);一個RC,用于I/O設(shè)備的掃描以及計算節(jié)點與PCI-E 的對應(yīng)端口的連接。在本實施例中,RC位于IOH (Input-Output Hub,輸入輸出集線器)中, RC還可以位于CPU或者M(jìn)UX (Multiplexer,多路復(fù)用器)中。上述計算節(jié)點可以是服務(wù)器。
PCI-E交換機(jī)3,用于將第一硬分區(qū)2的計算節(jié)點21 23與第一硬分區(qū)的I/O設(shè)備4之間建立鏈路,如圖7所示,第一硬分區(qū)2的計算節(jié)點21 23與PCI-E交換機(jī)鏈路都為實線,計算節(jié)點21 23可以分別通過自身鏈路01 03直接訪問第一硬分區(qū)2的I/O 設(shè)備4。當(dāng)然,PCI-E交換機(jī)還連接著其他硬分區(qū),在圖中未畫出。
I/O設(shè)備4,包括光纖通道(Fibre Channel,FC)網(wǎng)卡4 1和以太網(wǎng)卡,用于各個計算節(jié)點與外部網(wǎng)絡(luò)之間的連接。
存儲設(shè)備5,用于存儲固件51、操作系統(tǒng)52,固件51包括I/O多路徑管理器511。
本實施提供的另一種多路徑訪問I/O設(shè)備的系統(tǒng),以NUMA系統(tǒng)為例,如圖8所示, 存儲設(shè)備5,用于存儲固件51、操作系統(tǒng)52,I/O多路徑管理器10位于操作系統(tǒng)52中,其余部分與圖4所示系統(tǒng)完全一樣,不再贅述,此NUMA系統(tǒng)的系統(tǒng)資源信息表如圖9所示。
本發(fā)明的實施例提供的多路徑訪問I/O設(shè)備的系統(tǒng),通過在計算節(jié)點和I/O設(shè)備之間建立映射關(guān)系,使所有計算節(jié)點的與PCI-E交換機(jī)之間PCI-E鏈路有效,從而使從節(jié)點也能夠通過自身的PCI-E鏈路訪問I/O設(shè)備,進(jìn)而消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。
實施例五
本發(fā)明實施提供的多路徑訪問I/O設(shè)備的系統(tǒng),以SMP(SymmetriC Multiple ftOcess,對稱多處理)系統(tǒng)為例進(jìn)行說明,如圖10所示,包括
如圖6所示的I/O多路徑管理器10,位于固件51中,用于根據(jù)接收到的第二硬分區(qū)加的配置信息配置PCI-E交換機(jī)3,以隔離除第二硬分區(qū)之外的其他硬分區(qū),使計算節(jié)點2al 2a2只訪問第二硬分區(qū)加的I/O設(shè)備4,并且根據(jù)接收到的第二硬分區(qū)加的配置信息在計算節(jié)點2al 2a3和I/O設(shè)備4之間建立映射關(guān)系,這樣計算節(jié)點2al 2a3與 PCI-E交換機(jī)3之間PCI-E鏈路01 03都變成有效的,如圖中10所示PCI-E鏈路01 03都為實線。而后,I/O多路徑管理器10將計算節(jié)點2al 2a3和I/O設(shè)備4的映射關(guān)系、處理器信息、內(nèi)存信息以及計算節(jié)點2al 2a3與PCI-E交換機(jī)3之間可用的PCI-E鏈路0 1 03關(guān)聯(lián)起來形成系統(tǒng)資源信息表,如圖11所示,操作系統(tǒng)52根據(jù)此系統(tǒng)資源信息表根據(jù)指示計算機(jī)點2al 2a3通過最短路徑訪問I/O設(shè)備,一般情況下此最短路徑為執(zhí)行I/O任務(wù)的計算節(jié)點自身與PCI-E交換機(jī)的鏈路。當(dāng)然,I/O多路徑管理器10也可以位于操作系統(tǒng)52中(圖10中未畫出)。
SMP聚合網(wǎng)絡(luò)1,用于將所有計算節(jié)點的CPU直接互聯(lián),不需要NC,并通過一個操作系統(tǒng)控制所有的計算節(jié)點。
至少兩個硬分區(qū)(圖10中只畫出第二硬分區(qū)2a,其他硬分區(qū)未畫出),包括一個主節(jié)點2al和兩個從節(jié)點加2、加3,當(dāng)然,還可以增加更多的從節(jié)點。
每個計算節(jié)點中包括兩個CPU,用于執(zhí)行I/O任務(wù)以及各個節(jié)點之間的直接互聯(lián);一個RC,用于計算節(jié)點與PCI-E的對應(yīng)端口的連接。在本實施例中,RC位于IOH中,RC 還可以位于CPU或者M(jìn)UX中。上述計算節(jié)點可以是服務(wù)器。
本實施例所提供的系統(tǒng)的其余部分與圖7所示系統(tǒng)完全一樣,不再贅述,本系統(tǒng)的系統(tǒng)資源表如圖11所示。
本發(fā)明的實施例提供的多路徑訪問I/O設(shè)備的系統(tǒng),通過在計算節(jié)點和I/O設(shè)備之間建立映射關(guān)系,使所有計算節(jié)點的與PCI-E交換機(jī)之間PCI-E鏈路有效,從而使從節(jié)點也能夠通過自身的PCI-E鏈路訪問I/O設(shè)備,進(jìn)而消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。
以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種多路徑訪問輸入輸出I/O設(shè)備的方法,其特征在于,包括根據(jù)接收到的第一硬分區(qū)的配置信息配置外設(shè)組件快速互連標(biāo)準(zhǔn)PCI-E交換機(jī),以隔離除所述第一硬分區(qū)之外的其他硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備;根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在根據(jù)接收到的第一硬分區(qū)的配置信息配置外設(shè)組件快速互連標(biāo)準(zhǔn)PCI-E交換機(jī),以隔離除所述第一硬分區(qū)之外硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備之前還包括所述第一硬分區(qū)的計算節(jié)點中的主節(jié)點對處理器、內(nèi)存、芯片組進(jìn)行初始化; 所述主節(jié)點接收所述第一硬分區(qū)的配置信息; 所述主節(jié)點弓I導(dǎo)從節(jié)點進(jìn)行初始化。
3.根據(jù)權(quán)利要求1或2所述方法,其特征在于,所述第一硬分區(qū)的配置信息包括 所述第一硬分的各個計算節(jié)點的數(shù)量、標(biāo)識;所述第一硬分區(qū)的I/O設(shè)備的數(shù)量、類型;所述PCI-E交換機(jī)中與所述第一硬分區(qū)的各個計算節(jié)點的對應(yīng)端口 所述PCI-E交換機(jī)中與所述第一硬分區(qū)的I/O設(shè)備的對應(yīng)端口。
4.根據(jù)權(quán)利要求1或2所述方法,其特征在于,根據(jù)接收到的第一硬分區(qū)的配置信息配置外設(shè)組件快速互連標(biāo)準(zhǔn)PCI-E交換機(jī),以隔離除所述第一硬分區(qū)之外硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備包括將所述PCI-E交換機(jī)中與所述第一硬分區(qū)的各個計算節(jié)點的對應(yīng)端口和所述PCI-E交換機(jī)中與所述第一硬分區(qū)的I/O設(shè)備的對應(yīng)端口,配置成一個虛擬交換機(jī),用于隔離除所述第一硬分區(qū)之外的其他的硬分區(qū)的I/O設(shè)備和I/O訪問,使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備。
5.根據(jù)權(quán)利要求1或2所述方法,其特征在于,所述根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系, 以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O 設(shè)備包括所述主節(jié)點根據(jù)所述第一硬分區(qū)的配置信息中提供的所述第一硬分區(qū)的計算節(jié)點的數(shù)量、標(biāo)識以及所述第一硬分區(qū)的I/O設(shè)備的數(shù)量、類型,通過所述主節(jié)點內(nèi)部的根組件逐一掃描所述第一硬分區(qū)的I/O設(shè)備總線,搜索有效的I/O設(shè)備,搜索到I/O設(shè)備后分別為所述主節(jié)點內(nèi)的跟組件和搜索到的I/O設(shè)備分配地址和內(nèi)存;將所述I/O設(shè)備已分配好的地址發(fā)送給從節(jié)點的根組件,從而在所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間建立映射關(guān)系;形成系統(tǒng)資源信息表,包括所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系、處理器信息和內(nèi)存信息以及所述第一硬分區(qū)的計算節(jié)點與所述PCI-E交換機(jī)之間可用的PCI-E鏈路的信息;所述操作系統(tǒng)接收所述I/O任務(wù)后,根據(jù)所述系統(tǒng)資源信息表為所述I/O任務(wù)分配硬件資源,所述硬件資源包括執(zhí)行所述I/O任務(wù)的處理器、執(zhí)行所述I/O任務(wù)需要訪問的I/O 設(shè)備和內(nèi)存信息;所述操作系統(tǒng)根據(jù)所述系統(tǒng)資源信息表中所述映射關(guān)系指示執(zhí)行所述I/O任務(wù)的處理器在所述可用的PCI-E鏈路中選取一條最短的鏈路來訪問所述需要訪問的I/O設(shè)備。
6.一種I/O多路徑管理器,其特征在于,包括PCI-E交換機(jī)配置模塊,用于根據(jù)接收到的第一硬分區(qū)的配置信息配置外設(shè)組件快速互連標(biāo)準(zhǔn)PCI-E交換機(jī),以隔離除所述第一硬分區(qū)之外的其他硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備;I/O多路徑配置模塊,用于根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O設(shè)備。
7.根據(jù)權(quán)利要求6所述的I/O多路徑管理器,其特征在于,還包括硬分區(qū)資源分析模塊,用于接收所述第一硬分區(qū)的配置信息,分析所述配置信息中的第一硬分區(qū)的計算節(jié)點的中根組件的數(shù)量和標(biāo)識、分析所述第一硬分區(qū)的I/O設(shè)備的數(shù)量以及設(shè)備的類型、識別所述PCI-E交換機(jī)中與所述第一硬分區(qū)的計算節(jié)點的對應(yīng)端口以及所述PCI-E交換機(jī)中與所述第一硬分區(qū)的I/O設(shè)備的對應(yīng)端口 ;調(diào)用函數(shù)接口,用于所述第一硬分區(qū)的計算節(jié)點中的主節(jié)點啟用所述I/O多路徑管理器。
8.一種多路徑訪問I/O設(shè)備的系統(tǒng),其特征在于,包括如權(quán)利要求6至7任意一項權(quán)利要求所述的I/O多路徑管理器,用于根據(jù)接收到的第一硬分區(qū)的配置信息配置PCI-E交換機(jī),以隔離除所述第一硬分區(qū)之外的其他硬分區(qū),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備,根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O設(shè)備;所述I/O多路徑管理器位于固件或者操作系統(tǒng)中;聚合網(wǎng)絡(luò),用于連接系統(tǒng)內(nèi)的計算節(jié)點,以便于系統(tǒng)通過一個操作系統(tǒng)控制計算節(jié)占.^ w\ 至少兩個硬分區(qū),其中每個硬分區(qū)中包括至少一個計算節(jié)點; PCI-E交換機(jī),用于所述計算節(jié)點與I/O設(shè)備之間建立連接,以便于所述計算節(jié)點通過自身與所述PCI-E交換機(jī)之間建立的PCI-E鏈路訪問所述計算節(jié)點所屬硬分區(qū)的I/O設(shè)備;I/O設(shè)備,用于所述計算節(jié)點與外部網(wǎng)絡(luò)之間的連接; 存儲設(shè)備,用于存儲固件、操作系統(tǒng)、I/O應(yīng)用程序。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述聚合網(wǎng)絡(luò)包括非一致性內(nèi)存訪問系統(tǒng)聚合網(wǎng)絡(luò)、對稱多處理系統(tǒng)聚合網(wǎng)絡(luò)。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述計算節(jié)點包括 兩個中央處理器,用于所述計算節(jié)點執(zhí)行I/O任務(wù);至少一個根組件,用于所述計算節(jié)點與PCI-E的連接。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,當(dāng)所述所述聚合網(wǎng)絡(luò)為非一致性內(nèi)存訪問系統(tǒng)聚合網(wǎng)絡(luò)時,所述計算節(jié)點還包括節(jié)點控制器,用于所述計算節(jié)點與非一致性內(nèi)存訪問系統(tǒng)聚合網(wǎng)絡(luò)的連接和對計算節(jié)點的控制。
全文摘要
本發(fā)明提供一種多路徑訪問I/O設(shè)備的方法、I/O多路徑管理器及系統(tǒng),涉及IT領(lǐng)域,能夠使所有計算節(jié)點的與PCI-E交換機(jī)之間PCI-E鏈路有效,使從節(jié)點也能夠通過自身的PCI-E鏈路訪問I/O設(shè)備,消除了時延和高業(yè)務(wù)量情況下的瓶頸,提高了帶寬的利用率。包括根據(jù)接收到的第一硬分區(qū)的配置信息配置PCI-E交換機(jī),使所述第一硬分區(qū)的計算節(jié)點只訪問所述第一硬分區(qū)的I/O設(shè)備;根據(jù)接收到的所述第一硬分區(qū)的配置信息建立所述第一硬分區(qū)的計算節(jié)點和所述第一硬分區(qū)的I/O設(shè)備之間的映射關(guān)系,以使操作系統(tǒng)根據(jù)所述映射關(guān)系指示執(zhí)行I/O任務(wù)的計算節(jié)點訪問所述第一硬分區(qū)的I/O設(shè)備。本發(fā)明實施例用于多路徑訪問I/O設(shè)備。
文檔編號H04L29/08GK102497432SQ20111041534
公開日2012年6月13日 申請日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者劉云海, 雕峻峰 申請人:華為技術(shù)有限公司