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