專利名稱:用于在數(shù)據(jù)處理網(wǎng)絡(luò)中管理信息包通信量的方法及其網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理網(wǎng)絡(luò),尤其涉及在多處理器網(wǎng)絡(luò)中管理網(wǎng)絡(luò)信息包的路由。
背景技術(shù):
在其中通過(guò)一個(gè)互連將多個(gè)節(jié)點(diǎn)相互連接的多處理器系統(tǒng)中,可以使用該互連來(lái)傳送各種各樣的數(shù)據(jù),包括與計(jì)算機(jī)操作相關(guān)的數(shù)據(jù)和與輸入/輸出(I/O)要求相關(guān)的數(shù)據(jù)。在傳統(tǒng)的網(wǎng)絡(luò)中,并未特別注意到在進(jìn)程或線程與它們相應(yīng)節(jié)點(diǎn)之間的映射,系統(tǒng)互連的利用可能并不理想。在該互連中的某條物理鏈路可能被頻繁的使用,而其他鏈路幾乎不被使用。如果經(jīng)過(guò)更頻繁使用的鏈路的信息包數(shù)量接近鏈路的帶寬極限時(shí),網(wǎng)絡(luò)性能降低或響應(yīng)時(shí)間變長(zhǎng),而此時(shí)在其它鏈路上仍然存在足夠帶寬的帶寬。當(dāng)互連使用變得失衡時(shí),希望利用可以轉(zhuǎn)移進(jìn)程的方法、系統(tǒng)和網(wǎng)絡(luò),來(lái)更平均地在物理鏈路上分配信息包。
如果該網(wǎng)絡(luò)包含數(shù)量相對(duì)較少的節(jié)點(diǎn)和互連鏈路時(shí),確定哪一個(gè)進(jìn)程可以被有益地轉(zhuǎn)移的任務(wù)(如果存在這樣的任務(wù)的話)是很容易管理的。然而,當(dāng)節(jié)點(diǎn)和互連鏈路數(shù)量增加時(shí),識(shí)別和校正不合需要的互連使用模式的難度也顯著增加。因此,任何試圖解決不平衡的網(wǎng)絡(luò)使用問(wèn)題的任何系統(tǒng)或技術(shù)都應(yīng)該是可擴(kuò)展的,以致節(jié)點(diǎn)數(shù)量和互連內(nèi)的交換機(jī)數(shù)量對(duì)該解決方案都沒(méi)有什么影響。
發(fā)明內(nèi)容
通過(guò)根據(jù)本發(fā)明的一種用于在數(shù)據(jù)處理網(wǎng)絡(luò)中管理信息包通信量的方法來(lái)實(shí)現(xiàn)所確定的目的。該方法包括收集表示經(jīng)過(guò)網(wǎng)絡(luò)互連內(nèi)每個(gè)鏈路的信息包通信量的數(shù)據(jù)。收集的數(shù)據(jù)包括表示源和目標(biāo)信息,它們表示相應(yīng)信息包的來(lái)源和目標(biāo)。于是根據(jù)收集的數(shù)據(jù)識(shí)別一組使用頻繁的鏈路。然后分析與該使用頻繁的鏈路相關(guān)的信息包數(shù)據(jù)來(lái)識(shí)別一個(gè)信息包源和信息包目標(biāo)組合,該組合是使用頻繁的鏈路上的信息包通信量的重要來(lái)源。相應(yīng)地,轉(zhuǎn)移一個(gè)與識(shí)別的信息包源和信息包目標(biāo)組合相關(guān)的進(jìn)程以減少使用頻繁的鏈路上的通信量,例如轉(zhuǎn)移到該網(wǎng)絡(luò)的另一個(gè)節(jié)點(diǎn)。在一個(gè)實(shí)施例中,安裝在每個(gè)互連交換機(jī)上的代理為連接到此交換機(jī)的互連鏈路收集信息包數(shù)據(jù)。該代理為每個(gè)正被監(jiān)控的鏈路產(chǎn)生一個(gè)數(shù)據(jù)表。該數(shù)據(jù)表包括對(duì)每個(gè)在一段監(jiān)控的周期內(nèi)經(jīng)過(guò)鏈路的信息包的條目。每個(gè)條目包括與相應(yīng)的信息包相關(guān)的源和目標(biāo)信息。源信息可以確定網(wǎng)絡(luò)的源節(jié)點(diǎn)而目標(biāo)信息可以確定目標(biāo)節(jié)點(diǎn)。轉(zhuǎn)移一個(gè)與特定的源和目標(biāo)組合相關(guān)的進(jìn)程可以包括將此進(jìn)程轉(zhuǎn)移到一個(gè)不同的源節(jié)點(diǎn),其中連接此不同的源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的路徑不包括使用頻繁的鏈路。
根據(jù)以下的詳細(xì)描述并參考附圖,本發(fā)明的其他目的和優(yōu)勢(shì)將會(huì)變得清晰可見,其中圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理網(wǎng)絡(luò)中所選擇組成部分的示意圖;圖2是舉例說(shuō)明圖1中數(shù)據(jù)處理網(wǎng)絡(luò)的實(shí)現(xiàn)方式的補(bǔ)充細(xì)節(jié)的示意圖;圖3是舉例說(shuō)明適于向網(wǎng)絡(luò)節(jié)點(diǎn)分配進(jìn)程以最小化網(wǎng)絡(luò)和互連瓶頸的方法及軟件代碼的實(shí)現(xiàn)方式的流程圖;圖4是圖1中網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)現(xiàn)方式中所選擇組成部分的示意圖;圖5是適于以本發(fā)明一個(gè)實(shí)施例方式使用的數(shù)據(jù)表的示意表示;圖6是舉例說(shuō)明根據(jù)本發(fā)明一個(gè)實(shí)施例的適于向網(wǎng)絡(luò)節(jié)點(diǎn)分配進(jìn)程以最小化網(wǎng)絡(luò)和互連瓶頸的方法及軟件代碼的實(shí)現(xiàn)方式的流程圖;圖7是適于本發(fā)明一個(gè)實(shí)施例使用的數(shù)據(jù)表的示意表示。
在本發(fā)明易受多種修改和代替方式時(shí),通過(guò)附圖中的實(shí)例顯示本發(fā)明具體的實(shí)施例并在此對(duì)其進(jìn)行詳細(xì)描述。然而,應(yīng)理解到在此所示的附圖和詳細(xì)描述并非想把本發(fā)明限制到公開的特定實(shí)施例,相反地,其意圖在于覆蓋如同附加的權(quán)利要求所定義的所有落入本發(fā)明精神和范圍內(nèi)的修改、等效替換和備選方案。
具體實(shí)施例方式
一般來(lái)說(shuō),本發(fā)明致力于一種多處理器的數(shù)據(jù)處理網(wǎng)絡(luò)以及用于優(yōu)化網(wǎng)絡(luò)互連的使用來(lái)防止或減少發(fā)生由于過(guò)度使用相對(duì)少量的物理互連鏈路而引起的性能降低的方法。本發(fā)明管理網(wǎng)絡(luò)內(nèi)的信息包通信量來(lái)分配信息包通信量負(fù)荷以致無(wú)鏈路會(huì)傳送極大于其同等鏈路的通信量。為了實(shí)現(xiàn)此目的,監(jiān)控互連通信量并將其分類為各個(gè)組,其中用源標(biāo)識(shí)符和目標(biāo)標(biāo)識(shí)符來(lái)標(biāo)記每個(gè)組。周期性地向系統(tǒng)軟件報(bào)告該信息。系統(tǒng)軟件將每個(gè)互連交換機(jī)所提供的“本地”統(tǒng)計(jì)數(shù)值組合為一個(gè)在瓶頸鏈路上的源-目標(biāo)通信的全局視圖。對(duì)于所有經(jīng)過(guò)這些鏈路的源-目標(biāo)對(duì),系統(tǒng)軟件修改從進(jìn)程到節(jié)點(diǎn)的映射以致該通信量路由經(jīng)過(guò)另一個(gè)鏈路。
現(xiàn)在參見附圖,圖1舉例說(shuō)明根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理網(wǎng)絡(luò)100中所選擇的組成部分。網(wǎng)絡(luò)100可以表現(xiàn)為一個(gè)多處理網(wǎng)絡(luò),其中兩個(gè)或多個(gè)處理器合作以提供一個(gè)特定功能性或執(zhí)行一個(gè)特定任務(wù)。例如,在一個(gè)網(wǎng)絡(luò)中央應(yīng)用程序中,包含網(wǎng)絡(luò)100的系統(tǒng)可以選擇性地提供給用戶一個(gè)網(wǎng)址或其它網(wǎng)絡(luò)可訪問(wèn)服務(wù)。網(wǎng)絡(luò)100還可以提供一種數(shù)據(jù)庫(kù)服務(wù)或一種特殊的應(yīng)用程序。在上下文中,網(wǎng)絡(luò)100本身可以充當(dāng)在諸如互聯(lián)網(wǎng)那樣更大的網(wǎng)絡(luò)內(nèi)的一個(gè)節(jié)點(diǎn)。
如圖1所示,網(wǎng)絡(luò)100包括經(jīng)由互連110相互連接的多個(gè)數(shù)據(jù)處理系統(tǒng)101-108,且在此稱為節(jié)點(diǎn)101-108。如圖1所示,每個(gè)節(jié)點(diǎn)101-108都以一對(duì)邏輯連接與互連110相連。在一個(gè)節(jié)點(diǎn)與互連110之間的第一連接121(相對(duì)于節(jié)點(diǎn)101示出)傳遞來(lái)自其它節(jié)點(diǎn)的消息,與此同時(shí),在此節(jié)點(diǎn)與互連之間的第二連接122經(jīng)由互連110向其它節(jié)點(diǎn)傳送消息。在圖1中將第一和第二連接121和122區(qū)別地示出,以強(qiáng)調(diào)它們?cè)谠搼?yīng)用程序的范圍中的不同功能,但是還應(yīng)注意到可以通過(guò)使用一個(gè)通用的物理鏈路或連接來(lái)實(shí)現(xiàn)連接121和122。
在一個(gè)實(shí)施例中,節(jié)點(diǎn)101-108都包含基本上相同的硬件和系統(tǒng)軟件。如圖4所示,每個(gè)節(jié)點(diǎn)101-108都包括一個(gè)或多個(gè)通用的微處理器402,其經(jīng)由一個(gè)共享的系統(tǒng)總線405訪問(wèn)在微處理器402中共享的系統(tǒng)存儲(chǔ)器404。每個(gè)節(jié)點(diǎn)101-108還進(jìn)一步包括網(wǎng)橋406,其提供一個(gè)在系統(tǒng)總線405與外圍總線410之間的接口,將一個(gè)或多個(gè)諸如適配器412和414那樣的外圍設(shè)備適配器連接到該接口。作為通用的實(shí)例,節(jié)點(diǎn)101-108的外圍設(shè)備適配器可以包括提供對(duì)系統(tǒng)內(nèi)固定存儲(chǔ)器的訪問(wèn)的一個(gè)網(wǎng)絡(luò)接口適配器和一個(gè)硬盤控制器。
在一個(gè)實(shí)施例中,網(wǎng)絡(luò)100表現(xiàn)為包括一個(gè)高速緩存相干的、不均勻的存儲(chǔ)器體系結(jié)構(gòu)(NUMA)。在一個(gè)NUMA系統(tǒng)中,特定節(jié)點(diǎn)的處理器具有對(duì)節(jié)點(diǎn)的系統(tǒng)存儲(chǔ)器的“本地”訪問(wèn)。處理器具有對(duì)網(wǎng)絡(luò)100上其它節(jié)點(diǎn)的系統(tǒng)存儲(chǔ)器的“遠(yuǎn)程”訪問(wèn)。稱此存儲(chǔ)器體系結(jié)構(gòu)為不均勻的是由于與本地訪問(wèn)相關(guān)的等待時(shí)間少于與遠(yuǎn)程訪問(wèn)相關(guān)的等待時(shí)間。在網(wǎng)絡(luò)100的NUMA實(shí)現(xiàn)方式中,圖1的互連110可以通過(guò)一個(gè)插入的控制器直接連接到每個(gè)節(jié)點(diǎn)101的系統(tǒng)總線405(這與常規(guī)LAN相反,在常規(guī)LAN中,LAN節(jié)點(diǎn)經(jīng)由與外圍或I/O總線相連的適配器進(jìn)行通信)。
現(xiàn)在參見圖2,用強(qiáng)調(diào)互連110結(jié)構(gòu)的補(bǔ)充細(xì)節(jié)舉例說(shuō)明了圖1的網(wǎng)絡(luò)100。在圖2所示實(shí)現(xiàn)方式中,互連110包括一組交換機(jī)201-212,這些交換機(jī)與節(jié)點(diǎn)101-108互連以致存在從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的唯一路徑。每個(gè)交換機(jī)201-212接收來(lái)自兩個(gè)裝置的輸入并提供輸出到另外的兩個(gè)裝置。因此,每個(gè)交換機(jī)可以把消息從兩個(gè)裝置中的任何一個(gè)路由到兩個(gè)輸出裝置中的任何一個(gè)??膳c一個(gè)交換機(jī)相連的裝置包括一個(gè)節(jié)點(diǎn)或另一個(gè)交換機(jī)。在此把通往每個(gè)交換機(jī)和從每個(gè)交換機(jī)引出的連接稱為互連鏈路或簡(jiǎn)單鏈路。因此,每個(gè)鏈路把一個(gè)互連裝置連接到另一個(gè)互連裝置。
盡管所示實(shí)現(xiàn)方式顯示了特定數(shù)量的節(jié)點(diǎn)和交換機(jī),并且每個(gè)交換機(jī)被示出為提供在兩個(gè)輸入裝置(在交換機(jī)左邊的裝置)和兩個(gè)輸出裝置(在交換機(jī)右邊的裝置)之間的連接,由本發(fā)明完成其它實(shí)現(xiàn)方式,包括帶有更多節(jié)點(diǎn)和交換機(jī)以及具有更復(fù)雜的交換機(jī)(即把三個(gè)或更多的輸入裝置與三個(gè)或更多的輸出裝置互連的交換機(jī))的實(shí)現(xiàn)方式。提出所示實(shí)現(xiàn)方式來(lái)表達(dá)在相對(duì)可控制網(wǎng)絡(luò)情況下的發(fā)明構(gòu)思。
為了舉例說(shuō)明本發(fā)明,在圖2中示出當(dāng)一些網(wǎng)絡(luò)信息包已經(jīng)通過(guò)或正在通過(guò)互連110時(shí)的時(shí)間點(diǎn)上的網(wǎng)絡(luò)100。稱信息包起源的節(jié)點(diǎn)為源節(jié)點(diǎn),同時(shí)稱信息包將要發(fā)送到的節(jié)點(diǎn)為目標(biāo)節(jié)點(diǎn)。為了清楚起見,用實(shí)線表示示例信息包經(jīng)過(guò)的互連鏈路,同時(shí)用虛線表示剩余的鏈路。用加在所研究的每個(gè)鏈路之上的橢圓內(nèi)的數(shù)字來(lái)表示經(jīng)過(guò)每個(gè)鏈路的信息包的數(shù)量。
所舉實(shí)例描述了節(jié)點(diǎn)104發(fā)送30個(gè)信息包到節(jié)點(diǎn)105,節(jié)點(diǎn)106發(fā)送50個(gè)信息包到節(jié)點(diǎn)105,以及節(jié)點(diǎn)108發(fā)送20個(gè)信息包到節(jié)點(diǎn)106且發(fā)送10個(gè)信息包到節(jié)點(diǎn)107。例如,由節(jié)點(diǎn)104發(fā)送的30個(gè)信息包經(jīng)過(guò)從節(jié)點(diǎn)104到交換機(jī)204的鏈路215。交換機(jī)204根據(jù)每個(gè)信息包中包含的目標(biāo)信息,經(jīng)由鏈路216將這30個(gè)信息包(連同30個(gè)來(lái)自節(jié)點(diǎn)108的其他信息包)路由至交換機(jī)208。接著,交換機(jī)208將來(lái)自交換機(jī)204的50個(gè)信息包(連同從交換機(jī)202接收的50個(gè)信息包,總共100個(gè)信息包)經(jīng)由鏈路220路由至交換機(jī)211。最后,交換機(jī)211在鏈路217上將80個(gè)信息包(包括來(lái)自節(jié)點(diǎn)104的30個(gè)信息包)路由至節(jié)點(diǎn)105(并經(jīng)由鏈路218將20個(gè)信息包路由至節(jié)點(diǎn)106)。經(jīng)過(guò)互連110發(fā)送的每個(gè)信息包至少包括一個(gè)源標(biāo)識(shí)符和一個(gè)目標(biāo)標(biāo)識(shí)符。例如,在簡(jiǎn)化圖中可以看到已經(jīng)在鏈路220上從交換機(jī)208發(fā)送了100個(gè)信息包到交換機(jī)211,同時(shí)剩余的鏈路都未傳送超過(guò)80個(gè)的信息包,而且很多鏈路根本就還沒(méi)有傳送任何信息包。
本發(fā)明涉及產(chǎn)生使系統(tǒng)能夠識(shí)別諸如鏈路220那樣的使用頻繁的鏈路的數(shù)據(jù),然后轉(zhuǎn)移可能導(dǎo)致對(duì)使用頻繁的鏈路的使用的一個(gè)或多個(gè)進(jìn)程,以減小對(duì)該鏈路的負(fù)擔(dān)(例如,通過(guò)把該進(jìn)程轉(zhuǎn)移到通向指定目的地但是不經(jīng)過(guò)該使用頻繁的鏈路的路徑上)。本發(fā)明的優(yōu)勢(shì)在于它的可擴(kuò)展性。特別是,執(zhí)行本發(fā)明以致識(shí)別使用頻繁的鏈路的復(fù)雜性僅僅隨著節(jié)點(diǎn)和交換機(jī)數(shù)量的增加而線性地增加。通過(guò)集中每個(gè)交換機(jī)上的信息包數(shù)據(jù)來(lái)實(shí)現(xiàn)此優(yōu)勢(shì)。相反地,一種試圖通過(guò)僅僅根據(jù)其源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)估計(jì)信息包來(lái)確定使用頻繁的鏈路的方法的復(fù)雜度將會(huì)隨著節(jié)點(diǎn)和交換機(jī)數(shù)量的增加而指數(shù)地增加。
本發(fā)明的一部分可以作為一序列或一組存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒體上的計(jì)算機(jī)可執(zhí)行指令(計(jì)算機(jī)軟件)而實(shí)現(xiàn)。該計(jì)算機(jī)可讀存儲(chǔ)媒體可以是諸如硬盤、只讀存儲(chǔ)器(ROM)裝置、CD或DVD光盤、磁帶等那樣的持續(xù)性存儲(chǔ)媒體。在執(zhí)行中,部分軟件可以存在于諸如DRAM系統(tǒng)存儲(chǔ)器或SRAM高速緩沖存儲(chǔ)器那樣的易失性存儲(chǔ)媒體中。在這樣一個(gè)實(shí)施例中,計(jì)算機(jī)軟件提供這樣的功能性,使諸如圖1的網(wǎng)絡(luò)100那樣的數(shù)據(jù)處理網(wǎng)絡(luò)能夠優(yōu)化其網(wǎng)絡(luò)鏈路的使用。
參見圖3,描述了根據(jù)本發(fā)明一個(gè)實(shí)施例的把正在執(zhí)行的進(jìn)程或線程映射到數(shù)據(jù)處理節(jié)點(diǎn)的方法300的流程圖。在所示實(shí)施例中,方法300包括收集在諸如圖2中互連110那樣的網(wǎng)絡(luò)互連內(nèi)的每個(gè)交換機(jī)上的信息包統(tǒng)計(jì)數(shù)值(塊302)。暫時(shí)參見圖5,其中示出根據(jù)一個(gè)實(shí)現(xiàn)方式為每個(gè)互連鏈路收集的統(tǒng)計(jì)數(shù)值的示意表示。在此示意表示中,為互連110(圖2)的每個(gè)鏈路(例如鏈路220)創(chuàng)建并保存一個(gè)數(shù)據(jù)庫(kù)或數(shù)據(jù)表501。
每個(gè)交換機(jī)201到212包括充分的資源和功能性來(lái)為每個(gè)與此交換機(jī)相連的鏈路保存諸如表501那樣的一個(gè)表。為了保留資源使用,大多數(shù)交換機(jī)都僅僅需要跟蹤與其輸出端相連的鏈路或與其輸入端相連的鏈路。例如,參見圖2,如果每個(gè)交換機(jī)為與其輸入端相連的鏈路保存統(tǒng)計(jì)數(shù)值,顯然,僅僅連接到交換機(jī)209至212的輸出端的鏈路是不被跟蹤的鏈路。類似地,如果每個(gè)交換機(jī)都對(duì)其輸出鏈路保存統(tǒng)計(jì)數(shù)值,則僅僅對(duì)交換機(jī)201至204的輸入鏈路是不被跟蹤的鏈路。為了完全覆蓋互連使用模式,交換機(jī)的一些子集必須為它們的輸入和輸出鏈路保存數(shù)據(jù)。由考慮到網(wǎng)絡(luò)100和互連110的結(jié)構(gòu)的系統(tǒng)軟件優(yōu)選地確定由每個(gè)交換機(jī)跟蹤哪一個(gè)鏈路。
因此,根據(jù)一個(gè)實(shí)施例,每個(gè)交換機(jī)都包括一個(gè)代理(一般在軟件或固件中實(shí)現(xiàn)),該代理能夠跟蹤被相應(yīng)的交換機(jī)處理或通過(guò)相應(yīng)的交換機(jī)的信息包。這些信息包跟蹤軟件代理在圖2中表現(xiàn)為由附圖標(biāo)記230表示的可執(zhí)行軟件代碼(為了清楚起見而從一些交換機(jī)中省略代理230)。參見圖5,由這些交換機(jī)代理保存的表501包括一個(gè)鏈路標(biāo)識(shí)符502和一組條目503。每個(gè)條目503包括一個(gè)源標(biāo)識(shí)符504和目標(biāo)標(biāo)識(shí)符506。
每個(gè)經(jīng)過(guò)互連110的信息包至少包括該信息包的源標(biāo)記及其目標(biāo)標(biāo)記??梢杂梢粋€(gè)正在執(zhí)行的進(jìn)程或線程和/或一個(gè)處理中的節(jié)點(diǎn)來(lái)識(shí)別源和目標(biāo)。每個(gè)條目進(jìn)一步包括一個(gè)計(jì)數(shù)508,顧名思義,該計(jì)數(shù)表示在具有與條目503相關(guān)的源和目標(biāo)標(biāo)識(shí)符的相應(yīng)鏈路上信息包的出現(xiàn)次數(shù)。還可以在所述實(shí)施例的每個(gè)表501中保存所有計(jì)數(shù)值508的總計(jì)數(shù)509。
因此,表501提供表示經(jīng)過(guò)一個(gè)特定鏈路的信息包數(shù)量的信息以及關(guān)于那些信息包的來(lái)源和目標(biāo)的信息。參見圖3,在一段特定的持續(xù)時(shí)間內(nèi)或時(shí)間周期內(nèi)收集并保存信息包統(tǒng)計(jì)數(shù)值。然后系統(tǒng)軟件判斷當(dāng)前時(shí)間周期是否已經(jīng)過(guò)去(塊340),如果該時(shí)間周期還沒(méi)有過(guò)去,由每個(gè)交換機(jī)上的代理繼續(xù)收集信息包統(tǒng)計(jì)數(shù)值。如果特定時(shí)間周期已經(jīng)過(guò)去,就由系統(tǒng)軟件將每個(gè)表501中的信息包統(tǒng)計(jì)數(shù)值收集或累積到一個(gè)累積數(shù)據(jù)庫(kù)中。該系統(tǒng)軟件參考存在于一個(gè)或多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上的應(yīng)用程序或操作系統(tǒng)代碼。在圖2中,在節(jié)點(diǎn)101上安裝在此公開內(nèi)容中所引用的系統(tǒng)軟件并用附圖標(biāo)記240來(lái)表示。應(yīng)該理解,可以在任何其他的網(wǎng)絡(luò)節(jié)點(diǎn)上安裝系統(tǒng)軟件240,而且該軟件還可以是安裝在多節(jié)點(diǎn)上的分布式應(yīng)用程序。
然后系統(tǒng)軟件240識(shí)別或選擇互連110內(nèi)的那些被認(rèn)為是使用頻繁的鏈路(塊308)。判斷哪些鏈路被頻繁地使用是特殊的實(shí)現(xiàn)方式,但是通常根據(jù)發(fā)送經(jīng)過(guò)一個(gè)鏈路的信息包的總量來(lái)判斷??梢愿鶕?jù)一些特定的閾值(例如超出K的信息包數(shù)量)、相對(duì)比例(例如信息包數(shù)量至少比任何鏈路上的信息包的數(shù)量大10%)或兩者的組合為基礎(chǔ)執(zhí)行該判斷。
在識(shí)別使用頻繁的鏈路之后,系統(tǒng)軟件分析經(jīng)過(guò)該鏈路的信息包來(lái)識(shí)別頻繁出現(xiàn)的源和目標(biāo)標(biāo)識(shí)符的組合(塊310)。頻繁出現(xiàn)的源/目標(biāo)組合表示作為轉(zhuǎn)移候選者的進(jìn)程或線程。轉(zhuǎn)移侯選者表示如果轉(zhuǎn)移進(jìn)程到一個(gè)不同的源和/或目標(biāo)也許會(huì)導(dǎo)致使用頻繁的鏈路上信息包通信量的減少。例如,如果關(guān)于一個(gè)頻繁出現(xiàn)的源/目標(biāo)組合的源標(biāo)識(shí)符表示一個(gè)被映射到一個(gè)特定節(jié)點(diǎn)的特定進(jìn)程,則所指進(jìn)程可以是向另一個(gè)節(jié)點(diǎn)轉(zhuǎn)移的侯選者。在這種情況中,轉(zhuǎn)移意味著這樣一個(gè)進(jìn)程,其中系統(tǒng)軟件重新把該進(jìn)程映射到一個(gè)可選擇的節(jié)點(diǎn)。為了實(shí)現(xiàn)所需的對(duì)使用頻繁的互連鏈路上的信息包通信量的減少,重新映射該進(jìn)程到一個(gè)節(jié)點(diǎn),可以通過(guò)使用不包括使用頻繁的鏈路的一個(gè)互連路徑從該節(jié)點(diǎn)發(fā)送信息包到目標(biāo)。
參見圖2,例如,對(duì)每一鏈路信息包數(shù)據(jù)的分析將識(shí)別鏈路220作為一個(gè)使用頻繁的鏈路或瓶頸鏈路。對(duì)相應(yīng)于鏈路220的信息包數(shù)據(jù)的進(jìn)一步分析表明作為源的節(jié)點(diǎn)106和作為目標(biāo)的節(jié)點(diǎn)105的組合占據(jù)了對(duì)鏈路220上觀察到的100個(gè)信息包中50個(gè)信息包。相應(yīng)地,然后系統(tǒng)軟件將識(shí)別在作為轉(zhuǎn)移候選者的節(jié)點(diǎn)106上執(zhí)行的進(jìn)程。系統(tǒng)軟件知道互連110的結(jié)構(gòu)并因此知道可以將侯選進(jìn)程轉(zhuǎn)移到該互連。特別是,該系統(tǒng)軟件試圖將侯選進(jìn)程轉(zhuǎn)移到一個(gè)源節(jié)點(diǎn)來(lái)減少使用頻繁的鏈路上的信息包通信量而無(wú)需在此進(jìn)程內(nèi)創(chuàng)建一個(gè)不同的使用頻繁的鏈路。在圖2中,可以通過(guò)將一個(gè)正在節(jié)點(diǎn)106上執(zhí)行的進(jìn)程轉(zhuǎn)移到節(jié)點(diǎn)101來(lái)實(shí)現(xiàn)這些目的。來(lái)源于節(jié)點(diǎn)101并發(fā)往節(jié)點(diǎn)105的信息包必須經(jīng)過(guò)交換機(jī)201、206和211以到達(dá)節(jié)點(diǎn)105。與此交換機(jī)路徑相關(guān)的鏈路不包括鏈路220也不包括其他任何在其上觀察到極大通信量的鏈路。既然這樣,從節(jié)點(diǎn)106轉(zhuǎn)移一個(gè)進(jìn)程到節(jié)點(diǎn)101會(huì)減少鏈路220上的通信量而不使任何剩余的鏈路超載。通過(guò)消除瓶頸鏈路并分配負(fù)載,這些都對(duì)超載作出了貢獻(xiàn),本發(fā)明實(shí)現(xiàn)了對(duì)信息包通信量的有效管理。
上述實(shí)現(xiàn)方式依賴于每個(gè)具有源/目標(biāo)信息的信息包(即表示每個(gè)信息包的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的信息)。盡管此實(shí)現(xiàn)方式在不是很復(fù)雜的網(wǎng)絡(luò)配置中具有很大實(shí)用性時(shí),它可能具有擴(kuò)展性上的限制。具體來(lái)說(shuō),當(dāng)節(jié)點(diǎn)數(shù)量增加時(shí),保存通過(guò)源和目標(biāo)節(jié)點(diǎn)索引的信息包信息的任務(wù)的復(fù)雜度指數(shù)地增加。對(duì)于具有成千上萬(wàn)個(gè)節(jié)點(diǎn)的龐大網(wǎng)絡(luò)而言,可以理解以上參照?qǐng)D5描述的信息包信息保存會(huì)變得效率低下或無(wú)法運(yùn)行(即交換機(jī)也許不具有足夠的存儲(chǔ)或處理能力來(lái)保存上述信息包信息)。
針對(duì)該潛在的擴(kuò)展性問(wèn)題,本發(fā)明的一個(gè)實(shí)施例保存一組減少的或簡(jiǎn)化的信息包信息,并利用已知網(wǎng)絡(luò)配置的系統(tǒng)軟件來(lái)識(shí)別最有可能對(duì)任何瓶頸鏈接作出貢獻(xiàn)的可能的源/目標(biāo)組合。通過(guò)極大地簡(jiǎn)化為每個(gè)鏈路保存信息包信息,該實(shí)施例充分接受了可擴(kuò)展性的概念。即使當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)、交換機(jī)和鏈路數(shù)量增加時(shí),由任何單個(gè)鏈路所保存的信息包信息也保存了基本上相同的信息。
現(xiàn)在參見圖7,描述了研究中的根據(jù)本發(fā)明由交換機(jī)代理保存的上述表701的實(shí)現(xiàn)方式,其與表501類似。在所述實(shí)現(xiàn)方式中,每個(gè)表701表示與交換機(jī)201-212中的一個(gè)交換機(jī)相應(yīng)的一個(gè)文件并包括識(shí)別此交換機(jī)的信息704。可選地,省略信息704并用文件位置的文件名表示與每個(gè)表701相關(guān)的交換機(jī)。
在所研究的實(shí)現(xiàn)方式中,在上次清除信息708之后,每個(gè)條目703對(duì)應(yīng)一個(gè)“鏈路對(duì)”且每個(gè)條目703包括信息702,該信息702表示鏈路對(duì)和表示已經(jīng)經(jīng)過(guò)相應(yīng)鏈路對(duì)(即由信息702標(biāo)識(shí)的鏈路對(duì))的信息包數(shù)量的計(jì)數(shù)信息708。一個(gè)鏈路對(duì)是一個(gè)輸入鏈路和一個(gè)輸出鏈路的唯一組合。例如,如果一個(gè)交換機(jī)連接兩個(gè)輸入鏈路和兩個(gè)輸出鏈路,就存在與此交換機(jī)相關(guān)的四個(gè)唯一的鏈路對(duì)。
例如,參見圖2中表示的實(shí)施例,與交換機(jī)208相應(yīng)的表701已經(jīng)被分配負(fù)責(zé)跟蹤在鏈路對(duì)222/220、222/221、216/220和216/221上的信息包,其中包括一個(gè)對(duì)于鏈路對(duì)222/220的第一條目703、對(duì)于鏈路對(duì)222/221的第二條目703等。此外,對(duì)于鏈路對(duì)222/220的第一條目703將包括反映從鏈路222到鏈路220所通過(guò)的信息包數(shù)量的計(jì)數(shù)值708,該計(jì)數(shù)值為50,而第二條目將包括反映從鏈路222到鏈路221無(wú)信息包通過(guò)的計(jì)數(shù)值708,計(jì)數(shù)值為0。類似地,對(duì)于鏈路對(duì)216/220和鏈路對(duì)216/221的條目分別會(huì)是50和10。很明顯,表701不包括源節(jié)點(diǎn)/目標(biāo)節(jié)點(diǎn)信息。每一個(gè)交換機(jī)僅僅需要確定一個(gè)信息包已經(jīng)經(jīng)過(guò)其鏈路對(duì)中的一對(duì),根據(jù)討論中的鏈路對(duì)來(lái)索引表701并為該條目增加計(jì)數(shù)信息708,而不是確定每一個(gè)信息包的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)然后判斷要增加哪一個(gè)表格條目,這可能需要不希望出現(xiàn)的一段長(zhǎng)時(shí)間以及交換機(jī)內(nèi)的大量存儲(chǔ)空間。還應(yīng)該理解到參照?qǐng)D7所示和描述的在表701中記錄適當(dāng)?shù)男畔⑺璧奶幚砹看蟠蟮匦∮诟鶕?jù)圖5中所述實(shí)施例執(zhí)行的處理每個(gè)經(jīng)過(guò)一個(gè)交換機(jī)的信息包所需的時(shí)間。在包括多個(gè)節(jié)點(diǎn)的龐大網(wǎng)絡(luò)中尤其如此。
根據(jù)圖7執(zhí)行的信息包監(jiān)控和跟蹤,需要處于系統(tǒng)水平上的附加處理來(lái)識(shí)別作為轉(zhuǎn)移侯選者的進(jìn)程。在該實(shí)施例中,了解并訪問(wèn)該網(wǎng)絡(luò)配置的軟件使用表701中所存儲(chǔ)的關(guān)于每個(gè)網(wǎng)絡(luò)交換機(jī)的信息包信息,來(lái)為經(jīng)過(guò)一個(gè)瓶頸鏈路或其他任何顯示較大通信量的鏈路的信息包確定最有可能的從源到目標(biāo)的路徑。通過(guò)添加適當(dāng)?shù)逆溌穼?duì)計(jì)數(shù)以獲得獨(dú)立鏈路信息包計(jì)數(shù)來(lái)識(shí)別瓶頸鏈路(例如,在用于交換機(jī)208的表中添加對(duì)于鏈路對(duì)222/220和鏈路對(duì)216/220的條目來(lái)獲得對(duì)鏈路220的信息包計(jì)數(shù))。因此識(shí)別了可能的從源到目標(biāo)的路徑,然后該軟件選擇并轉(zhuǎn)移與該源和目標(biāo)節(jié)點(diǎn)相關(guān)的一個(gè)或多個(gè)進(jìn)程。轉(zhuǎn)移可以包括重新映射在一個(gè)進(jìn)程與執(zhí)行該進(jìn)程的節(jié)點(diǎn)之間的關(guān)聯(lián)。最好轉(zhuǎn)移到這樣一個(gè)節(jié)點(diǎn),其中來(lái)自該節(jié)點(diǎn)的進(jìn)程在對(duì)目標(biāo)節(jié)點(diǎn)產(chǎn)生通信量時(shí),通過(guò)一個(gè)網(wǎng)絡(luò)交換機(jī)和不包括瓶頸鏈路的鏈路路徑。該實(shí)現(xiàn)方式的優(yōu)勢(shì)是極大減少了交換機(jī)201-212所需要的進(jìn)程和/或數(shù)據(jù)庫(kù)管理。根據(jù)該實(shí)現(xiàn)方式的每個(gè)交換機(jī)只是跟蹤經(jīng)過(guò)每個(gè)鏈路對(duì)的信息包數(shù)量,交換機(jī)對(duì)鏈路對(duì)負(fù)責(zé)而無(wú)需考慮每個(gè)信息包的起始源或最終目標(biāo)。有利于該解決方法的輔助方式是交換機(jī)代理對(duì)網(wǎng)絡(luò)配置的改變是屏蔽的。如果添加或刪除節(jié)點(diǎn)和/或交換機(jī)和鏈路,本地跟蹤每個(gè)交換機(jī)201-212上的鏈路對(duì)計(jì)數(shù)信息保持不變。只有系統(tǒng)軟件240(圖2)需要了解網(wǎng)絡(luò)變化。
參見圖6,其中示出一個(gè)流程圖,說(shuō)明根據(jù)本發(fā)明一個(gè)實(shí)施例的用于管理網(wǎng)絡(luò)的方法600的實(shí)施例。在所示實(shí)施例中,在每個(gè)交換機(jī)上收集本地信息包統(tǒng)計(jì)數(shù)值(塊602)。在此實(shí)現(xiàn)方式中收集的信息包信息優(yōu)選地只包括經(jīng)過(guò)每個(gè)鏈路的信息包數(shù)量而并不包括每個(gè)監(jiān)控的信息包的源節(jié)點(diǎn)和/或目標(biāo)節(jié)點(diǎn)??梢愿鶕?jù)與以上參照?qǐng)D7所述的交換機(jī)相關(guān)的鏈路對(duì)來(lái)收集和本地存儲(chǔ)信息包信息。在所示實(shí)施例中,如在塊604中所示在一段特定執(zhí)行時(shí)間或時(shí)間周期內(nèi)收集信息包統(tǒng)計(jì)數(shù)值。
在每段監(jiān)控持續(xù)時(shí)間的最后,收集關(guān)于每個(gè)交換機(jī)201-212的鏈路統(tǒng)計(jì)數(shù)值(塊606),優(yōu)選地是在節(jié)點(diǎn)的中央數(shù)據(jù)庫(kù)中,其中存儲(chǔ)或執(zhí)行系統(tǒng)軟件240,該持續(xù)時(shí)間可以是周期性或是非周期性的,這取決于該實(shí)現(xiàn)方式。然后以中央數(shù)據(jù)庫(kù)中的數(shù)據(jù)為基礎(chǔ)識(shí)別一個(gè)或多個(gè)使用頻繁的鏈路(塊608)。
該實(shí)施例中對(duì)使用頻繁的鏈路的選擇可以包括根據(jù)在先前的監(jiān)控周期內(nèi)經(jīng)過(guò)每個(gè)鏈路的信息包的數(shù)量來(lái)簡(jiǎn)單排序或分類該鏈路。如果根據(jù)以上參照?qǐng)D7所述鏈路對(duì)來(lái)本地監(jiān)控和存儲(chǔ)鏈路統(tǒng)計(jì)數(shù)值,塊606中對(duì)鏈路統(tǒng)計(jì)數(shù)值的累計(jì)就可以包括通過(guò)添加適當(dāng)?shù)逆溌穼?duì)的值的計(jì)數(shù)采從鏈路對(duì)數(shù)據(jù)中導(dǎo)出單個(gè)鏈路統(tǒng)計(jì)數(shù)值。因此,識(shí)別一個(gè)或多個(gè)最繁重跟蹤的鏈路(塊608)。在每個(gè)時(shí)間周期內(nèi)識(shí)別為最使用頻繁的鏈路數(shù)量可以根據(jù)實(shí)現(xiàn)方式而改變。一些實(shí)現(xiàn)方式可以包括信息包的閾值數(shù)量,其定義了獲得使用頻繁的鏈路資格所需要的信息包最小量。在這種情況中,可能存在無(wú)鏈路被確定為使用頻繁(即不需要進(jìn)程轉(zhuǎn)移)的監(jiān)控時(shí)間段。
然而,如果根據(jù)經(jīng)過(guò)這些鏈路的信息包數(shù)量來(lái)識(shí)別一個(gè)或多個(gè)鏈路作為使用頻繁的鏈路,則調(diào)用系統(tǒng)軟件240,通過(guò)分析系統(tǒng)軟件240訪問(wèn)的網(wǎng)絡(luò)配置信息,并結(jié)合圖7所示改進(jìn)的鏈路對(duì)數(shù)據(jù)組,而識(shí)別進(jìn)程轉(zhuǎn)移的潛在候選者。系統(tǒng)軟件240可以通過(guò)一種因缺少?gòu)?fù)雜性而合乎需要的方法來(lái)識(shí)別一個(gè)轉(zhuǎn)移侯選者,該方法通過(guò)為一個(gè)特定的使用頻繁的鏈路確定最有可能緊接著在前的交換機(jī)或節(jié)點(diǎn)以及最有可能緊接著在后的交換機(jī)或節(jié)點(diǎn)而識(shí)別轉(zhuǎn)移候選者。參見圖2,例如,系統(tǒng)軟件240在收集關(guān)于一個(gè)或多個(gè)交換機(jī)(最好為全體交換機(jī))的鏈路統(tǒng)計(jì)數(shù)值之后,識(shí)別鏈路220作為一個(gè)使用頻繁的鏈路,這是因?yàn)樵撴溌烦休d了比網(wǎng)絡(luò)中任何其他鏈路更多的信息包。
確定了鏈路220作為一個(gè)使用頻繁的鏈路,系統(tǒng)軟件240可以確定最有可能緊接著在前的鏈路作為已經(jīng)承載了最多通信量的輸入鏈路,該信息還可以在所收集的鏈路統(tǒng)計(jì)數(shù)值信息中獲得。在所示的實(shí)施例中,在鏈路220上發(fā)送信息包通信量的交換機(jī)208接收來(lái)自兩個(gè)輸入鏈路(即鏈路216和鏈路222)的信息包,已經(jīng)訪問(wèn)了網(wǎng)絡(luò)配置信息的系統(tǒng)軟件240可以確定。然后系統(tǒng)軟件240通過(guò)簡(jiǎn)單比較每個(gè)輸入鏈路上信息包數(shù)量來(lái)識(shí)別一個(gè)最有可能緊接著在前的交換機(jī)。因此,系統(tǒng)軟件240可以識(shí)別鏈路216在先前的監(jiān)控周期內(nèi)已經(jīng)承載了比鏈路222更多的通信量。然后系統(tǒng)軟件240可以確定交換機(jī)204是到達(dá)交換機(jī)208的信息包經(jīng)過(guò)的最有可能緊接著在前的交換機(jī)。照這樣,通過(guò)連續(xù)地判斷最有可能緊接著在前的交換機(jī)或節(jié)點(diǎn)和在后的交換機(jī)或節(jié)點(diǎn),系統(tǒng)軟件240可以從交換機(jī)208向后和向前推算,直至軟件最終確定對(duì)識(shí)別的使用頻繁的鏈路220上的信息包通信量作出貢獻(xiàn)的最有可能的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)組合是作為源的節(jié)點(diǎn)104和作為目標(biāo)的節(jié)點(diǎn)105。
通過(guò)為交換機(jī)204(其本身就是討論中的最有可能緊接著在交換機(jī)208之前的交換機(jī))確定最有可能的緊接著在前的節(jié)點(diǎn)或交換機(jī)而在該示例中出現(xiàn)一種有趣的情況。具體來(lái)說(shuō),對(duì)交換機(jī)204的信息包統(tǒng)計(jì)數(shù)值表示其30個(gè)信息包來(lái)自節(jié)點(diǎn)104且30個(gè)信息包來(lái)自節(jié)點(diǎn)108。在此情況下,系統(tǒng)軟件240可以識(shí)別這兩個(gè)節(jié)點(diǎn),不識(shí)別這兩個(gè)節(jié)點(diǎn)或識(shí)別其中一個(gè)節(jié)點(diǎn)(任意地選擇或根據(jù)至少是最近的選擇或其他算法來(lái)選擇的)作為緊接著在前的節(jié)點(diǎn)。判斷包括這些替換物中的哪一個(gè)取決于系統(tǒng)管理員在標(biāo)識(shí)轉(zhuǎn)移候選者中的主動(dòng)性。
判斷了最有可能導(dǎo)致瓶頸鏈路的源/節(jié)點(diǎn)組合,系統(tǒng)軟件240于是可以識(shí)別一個(gè)或多個(gè)與識(shí)別的源/目標(biāo)組合相關(guān)或映射的進(jìn)程。然后系統(tǒng)軟件240可以將任何的這種進(jìn)程轉(zhuǎn)移到不同的一組節(jié)點(diǎn),其中在最近識(shí)別的這組源/目標(biāo)節(jié)點(diǎn)之間的路徑并不包括任何以上文所述參照?qǐng)D5描述的系統(tǒng)軟件相同的方式識(shí)別的使用頻繁的鏈路。在圖2的實(shí)例中,系統(tǒng)軟件可以根據(jù)它對(duì)網(wǎng)絡(luò)配置的了解來(lái)識(shí)別從節(jié)點(diǎn)104到節(jié)點(diǎn)105的路徑是對(duì)鏈路220上通信量有貢獻(xiàn)的最有可能的源/目標(biāo)路徑。然后系統(tǒng)軟件會(huì)識(shí)別映射到節(jié)點(diǎn)104和/或105的進(jìn)程,如果可能,將它們轉(zhuǎn)移到另一組節(jié)點(diǎn)并在塊602中重新開始監(jiān)控信息包。
本領(lǐng)域技術(shù)人員通過(guò)上述公開內(nèi)容顯然可以看出本發(fā)明提出一種在網(wǎng)絡(luò)環(huán)境中管理信息包通信量的機(jī)制。應(yīng)當(dāng)知道將本發(fā)明用詳細(xì)描述和附圖中描述和示出的形式僅僅作為優(yōu)選實(shí)施例。所附權(quán)利要求應(yīng)當(dāng)被廣義地解釋為包含所公開的所有優(yōu)選實(shí)施例的變型。
權(quán)利要求
1.一種在數(shù)據(jù)處理網(wǎng)絡(luò)中管理信息包通信量的方法,該網(wǎng)絡(luò)包括經(jīng)由互連而相互連接的多個(gè)節(jié)點(diǎn),該互連包括多個(gè)交換機(jī)和互連鏈路,該方法包括收集表示經(jīng)過(guò)所選擇鏈路的信息包通信量的數(shù)據(jù);根據(jù)所收集的數(shù)據(jù)識(shí)別使用頻繁的鏈路;對(duì)該使用頻繁的鏈路分析所收集的數(shù)據(jù),以識(shí)別對(duì)該使用頻繁的鏈路上的通信量有貢獻(xiàn)的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)組合;以及轉(zhuǎn)移與所識(shí)別的源和目標(biāo)組合相關(guān)的進(jìn)程,其中由被轉(zhuǎn)移的進(jìn)程產(chǎn)生的信息包經(jīng)過(guò)除了該使用頻繁的鏈路以外的其他鏈路所構(gòu)成的從源到目標(biāo)的路徑。
2.按照權(quán)利要求1所述的方法,其中收集表示信息包通信量的數(shù)據(jù)包括為互連中的每個(gè)交換機(jī)收集信息包數(shù)據(jù)。
3.按照權(quán)利要求2所述的方法,其中為互連中的每個(gè)交換機(jī)收集數(shù)據(jù)包括執(zhí)行在每個(gè)交換機(jī)上的代理,其中每個(gè)交換機(jī)代理配置成監(jiān)控與交換機(jī)相連的所選擇鏈路上的信息包通信量。
4.按照權(quán)利要求3所述的方法,其中為每個(gè)交換機(jī)收集數(shù)據(jù)包括為每個(gè)交換機(jī)產(chǎn)生一個(gè)數(shù)據(jù)表,其中每個(gè)數(shù)據(jù)表包括用于與該交換機(jī)相關(guān)的每個(gè)鏈路對(duì)的條目,其中每個(gè)條目表示在一段被監(jiān)控的周期內(nèi)經(jīng)過(guò)相應(yīng)鏈路對(duì)的信息包的數(shù)目。
5.按照權(quán)利要求4所述的方法,其中每個(gè)鏈路對(duì)條目對(duì)應(yīng)與該交換機(jī)相關(guān)的輸入鏈路和輸出鏈路的唯一組合。
6.按照權(quán)利要求5所述的方法,其中轉(zhuǎn)移與源和目標(biāo)組合相關(guān)的進(jìn)程包括將進(jìn)程轉(zhuǎn)移到一個(gè)不同的源節(jié)點(diǎn),其中連接該不同的源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的路徑不包括所述使用頻繁的鏈路。
7.按照權(quán)利要求1所述的方法,其中分析收集的數(shù)據(jù)包括識(shí)別相關(guān)的源和目標(biāo)信息最普通的組合。
8.一種多處理器網(wǎng)絡(luò),包括一組節(jié)點(diǎn);與每個(gè)節(jié)點(diǎn)相連并使節(jié)點(diǎn)相互通信的一組交換機(jī)和互連鏈路;用于收集表示經(jīng)過(guò)所選鏈路的信息包數(shù)目的鏈路數(shù)據(jù)的裝置;用于根據(jù)鏈路數(shù)據(jù)識(shí)別使用頻繁的鏈路的裝置;用于分析鏈路數(shù)據(jù)以識(shí)別一個(gè)候選進(jìn)程的裝置,其中候選進(jìn)程產(chǎn)生經(jīng)過(guò)該使用頻繁的鏈路的信息包;用于改變候選進(jìn)程從第一節(jié)點(diǎn)到第二節(jié)點(diǎn)之間的映射的裝置,其中在把候選進(jìn)程所產(chǎn)生的信息包映射到第二節(jié)點(diǎn)時(shí),該信息包經(jīng)過(guò)一個(gè)繞過(guò)該使用頻繁的鏈路的路徑。
9.按照權(quán)利要求8所述的方法,其中每個(gè)互連鏈路把一個(gè)源設(shè)備連接到一個(gè)目標(biāo)設(shè)備,其中從節(jié)點(diǎn)組和交換機(jī)組中選擇源設(shè)備和目標(biāo)設(shè)備。
10.按照權(quán)利要求9所述的網(wǎng)絡(luò),其中用于收集鏈路數(shù)據(jù)的裝置包括安裝在交換機(jī)組中每個(gè)交換機(jī)上的一個(gè)代理,其中每個(gè)代理配置成為與相應(yīng)的交換機(jī)相連的鏈路的至少一個(gè)子集收集信息包數(shù)據(jù)。
11.按照權(quán)利要求10所述的網(wǎng)絡(luò),其中由該代理為每個(gè)經(jīng)過(guò)相應(yīng)鏈路的信息包收集的信息包數(shù)據(jù)包括源和目標(biāo)數(shù)據(jù),其表示信息包的來(lái)源和目標(biāo)。
12.按照權(quán)利要求11所述的網(wǎng)絡(luò),其中每個(gè)代理被配置成為鏈路的每個(gè)子集產(chǎn)生一個(gè)數(shù)據(jù)表,每個(gè)數(shù)據(jù)表具有用于每個(gè)經(jīng)過(guò)相應(yīng)鏈路的信息包的條目,其中數(shù)據(jù)表中條目的數(shù)目表示經(jīng)過(guò)相應(yīng)鏈路的信息包的總數(shù)。
13.按照權(quán)利要求12所述的網(wǎng)絡(luò),其中用于識(shí)別使用頻繁的鏈路的裝置包括用于識(shí)別具有超出一個(gè)特定閾值的信息包總數(shù)的鏈路的裝置。
14.按照權(quán)利要求13所述的網(wǎng)絡(luò),其中用于分析鏈路數(shù)據(jù)的裝置包括用于根據(jù)源數(shù)據(jù)和目標(biāo)數(shù)據(jù)的組合估計(jì)信息包數(shù)據(jù)來(lái)標(biāo)識(shí)頻繁出現(xiàn)的源目標(biāo)組合的裝置。
15.按照權(quán)利要求10所述的網(wǎng)絡(luò),其中鏈路數(shù)據(jù)不包括表示信息包的來(lái)源和目標(biāo)的信息,其中用于分析鏈路數(shù)據(jù)的裝置包括用于連續(xù)確定最有可能的緊接著在前和在后的網(wǎng)絡(luò)裝置直至識(shí)別一個(gè)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)組合為止的裝置。
16.一種計(jì)算機(jī)程序產(chǎn)品,其存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒體中并用于在數(shù)據(jù)處理網(wǎng)絡(luò)中管理信息包通信量,該網(wǎng)絡(luò)包括經(jīng)由一個(gè)互連而相互連接的多個(gè)節(jié)點(diǎn),該互連包括多個(gè)交換機(jī)和互連鏈路,該計(jì)算機(jī)程序產(chǎn)品包括所選擇交換機(jī)上用于為所選擇鏈路收集表示信息包通信量的數(shù)據(jù)的計(jì)算機(jī)代碼;用于分析所收集的數(shù)據(jù)來(lái)識(shí)別對(duì)該使用頻繁的鏈路上通信量作出貢獻(xiàn)的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)組合的計(jì)算機(jī)代碼;用于轉(zhuǎn)移一個(gè)與所識(shí)別的源和目標(biāo)組合相關(guān)的進(jìn)程以減少所述使用頻繁的鏈路上的通信量的計(jì)算機(jī)代碼。
17.按照權(quán)利要求16所述的計(jì)算機(jī)程序產(chǎn)品,其中收集表示信息包通信量的數(shù)據(jù)包括為互連中的每個(gè)交換機(jī)收集信息包數(shù)據(jù)。
18.按照權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中為互連中的每個(gè)交換機(jī)收集數(shù)據(jù)包括執(zhí)行交換機(jī)上的一個(gè)代理,其中每個(gè)交換機(jī)代理被配置成監(jiān)控與交換機(jī)相連的所選擇鏈路上的信息包通信量。
19.按照權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中為每個(gè)交換機(jī)收集數(shù)據(jù)包括為每個(gè)正被交換機(jī)監(jiān)控的鏈路產(chǎn)生一個(gè)數(shù)據(jù)表,其中每個(gè)數(shù)據(jù)表包括與每個(gè)源和目標(biāo)節(jié)點(diǎn)組合相應(yīng)的條目。
20.按照權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,其中每個(gè)信息包中的源信息確定網(wǎng)絡(luò)中的一個(gè)源節(jié)點(diǎn),而每個(gè)信息包中的目標(biāo)信息確定一個(gè)目標(biāo)節(jié)點(diǎn)。
21.按照權(quán)利要求20所述的計(jì)算機(jī)程序產(chǎn)品,其中轉(zhuǎn)移與源和目標(biāo)組合相關(guān)的進(jìn)程包括將進(jìn)程轉(zhuǎn)移到一個(gè)不同的源節(jié)點(diǎn),其中連接該不同的源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的路徑不包括所述使用頻繁的鏈路。
22.按照權(quán)利要求16所述的計(jì)算機(jī)程序產(chǎn)品,其中該信息包通信量數(shù)據(jù)不表示相應(yīng)信息包的源節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn),而且其中用于分析所收集的數(shù)據(jù)的代碼包括用于連續(xù)識(shí)別最有可能的緊接著在前和在后的網(wǎng)絡(luò)裝置直至識(shí)別一個(gè)最有可能的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)組合為止的代碼。
全文摘要
本發(fā)明涉及一種用于在數(shù)據(jù)處理網(wǎng)絡(luò)中管理信息包通信量的方法,包括收集表示經(jīng)過(guò)網(wǎng)絡(luò)互連內(nèi)每個(gè)鏈路的信息包通信量的數(shù)據(jù)。收集的數(shù)據(jù)包括源和目標(biāo)信息,其表示相應(yīng)信息包的識(shí)別源和目標(biāo)。于是從所收集的數(shù)據(jù)中識(shí)別一個(gè)使用頻繁的鏈路。然后分析與該使用頻繁的鏈路相關(guān)的信息包數(shù)據(jù)來(lái)識(shí)別一個(gè)信息包源和信息包目標(biāo)組合,該組合在該使用頻繁的鏈路上的信息包通信量中起重要作用。相應(yīng)地,把與識(shí)別的信息包源和信息包目標(biāo)組合相關(guān)的進(jìn)程例如轉(zhuǎn)移到該網(wǎng)絡(luò)的另一個(gè)節(jié)點(diǎn),以減少使用頻繁的鏈路上的通信量。在一個(gè)實(shí)施例中,安裝在每個(gè)互連交換機(jī)上的代理為連接到此交換機(jī)的互連鏈路收集信息包數(shù)據(jù)。
文檔編號(hào)H04L12/56GK1753388SQ200510082909
公開日2006年3月29日 申請(qǐng)日期2005年7月5日 優(yōu)先權(quán)日2004年9月23日
發(fā)明者韋斯利·邁克爾·費(fèi)爾特, 奧蘭·約科·克里格爾, 拉曼克里斯南·拉杰莫尼 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司