專利名稱:無死鎖自適應路由方法
技術領域:
本發(fā)明涉及高性能服務器技術領域,特別涉及一種無死鎖自適應路由方法。
背景技術:
高端容錯計算機在銀行業(yè),遠程通訊管理,電子化政務以及很多其它關鍵任務的處理中得到了廣泛的應用。高端容錯計算機,通常也可以稱為服務器,通常具有強大的信息處理能力以及大規(guī)模服務器系統(tǒng)中的高可靠性。這種計算機一般含有8 64個處理器,能夠運行大規(guī)模的計算任務同時具有高達99.999%的可靠性。高速信息處理能力以及高可靠性是容錯計算機的兩個最重要的特性。容錯是指在部件失效的情況下網(wǎng)絡運作的能力。然而容錯實現(xiàn)技術往往是巨大的性能降低為代價的。故障的存在使得已有的無死鎖和無活鎖路由解決方法變的無效。近期,設計出了一種新型的容錯計算機結構,此系統(tǒng)結構含有32個計算節(jié)點,其中每一個計算節(jié)點都能提供足夠強大的計算能力。此系統(tǒng)可以劃分為兩個子網(wǎng)絡,其中每一子網(wǎng)絡中均含有十六個計算節(jié)點。且每個子網(wǎng)絡中含有8個彼此連接的交換器,每一個交換器連接兩個計算節(jié)點。每個交換器連接到另一子網(wǎng)絡中的一臺交換器。每一個交換器的度均為10,其連接了兩個本地計算節(jié)點以及八個相鄰的交換器?,F(xiàn)代的路由器是非常健壯的,在運行中不會經(jīng)常出現(xiàn)失效。但是在某些環(huán)境下,必須對失效要有所預料以及定位,無論部件失效的概率多么小(例如:國防軍工應用系統(tǒng),太空運載系統(tǒng)等等)。這些工作環(huán)境采用部件失效率,故障修復能力以及系統(tǒng)平滑降級使用能力來表征,這就帶動了用于直接網(wǎng)絡容錯路由算法的發(fā)展。路由算法決定了報文包經(jīng)由數(shù)據(jù)源節(jié)點向目的節(jié)點傳輸?shù)倪^程中所占用的通道序列。路由策略對直連網(wǎng)絡的效率具有非常重要的影響。對于高端的容錯計算機關鍵系統(tǒng)來說,容錯路由的算法對于系統(tǒng)的表現(xiàn)有著更加重要的作用。由于給定的容錯計算機網(wǎng)絡結構是全新的,它不同于以往的任何網(wǎng)絡結構,并沒有相應的路由算法。因此,該網(wǎng)絡需要一種高效的無死鎖路由策略。特別是由于此網(wǎng)絡針對的是關鍵任務的運作,因此為其提供一種無死鎖高效的容錯自適應路由策略就顯得極為重要。
發(fā)明內(nèi)容
(一 )要解決的技術問題本發(fā)明要解決的技術問題是:對于上述的新型容錯計算機網(wǎng)絡,在不使用虛擬通道的情況下如何實現(xiàn)無死鎖的自適應路由策略。( 二 )技術方案為解決上述技術問題,本發(fā)明提供了一種無死鎖自適應路由方法,根據(jù)數(shù)據(jù)源節(jié)點與目的節(jié)點的邏輯連接關系,按照負向選擇策略選擇所述源節(jié)點到目的節(jié)點的通路,所述邏輯連接關系定義如下:
對容錯網(wǎng)絡的第一個子網(wǎng)絡中的N個交換器按O N-1編號,第二個子網(wǎng)絡中N個交換器按N 2N-1編號,若位于不同網(wǎng)絡的兩個交換器的節(jié)點編號對N取模的值相同,則位于不同網(wǎng)絡的這兩個交換器之間存在一條鏈路;所述負向選擇策略定義如下:當前節(jié)點的編號大于下一節(jié)點編號,那么則這條通路定義為負跨度;反之則為正跨度,若報文沿負跨度傳輸后,允許其向負跨度以及正跨度傳輸;若報文沿正跨度傳輸后,則僅允許報文沿正跨度傳輸。其中,按照負向選擇策略選擇所述源節(jié)點到目的節(jié)點的通路的方式為:若有兩條最短路徑,且路徑都可用,則隨機選擇一條輸出;若有兩條最短路徑,有一條的路徑可用,則選擇該條路徑輸出;若無可用最短路徑,則繞道路由。其中,所述繞道路由的方式具體為:根據(jù)數(shù)據(jù)源節(jié)點與目的節(jié)點所在網(wǎng)絡的位置關系,選擇符合傳輸原則的中繼節(jié)點,所述中繼節(jié)點符合以下情況:若數(shù)據(jù)源節(jié)點標號比目的節(jié)點標號大,中繼節(jié)點需滿足節(jié)點標號小于數(shù)據(jù)源節(jié)點。若數(shù)據(jù)源節(jié)點標號比目的節(jié)點標號小,中繼節(jié)點需滿足節(jié)點標號小于目的節(jié)點標號。(三)有益效果本發(fā)明的方法中通過負向優(yōu)先選擇策略,在不使用虛擬通道的情況下實現(xiàn)了在結構無故障網(wǎng)絡中無死鎖的適應性路由。
圖1是本發(fā)明的無死鎖自適應路由方法基于的容錯網(wǎng)絡結構;圖2是圖1的容錯網(wǎng)絡中可能構成的死鎖結構;圖3是采用本路由策略后對死鎖的消除后的示意圖。
具體實施例方式下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。對容錯網(wǎng)絡的第一個子網(wǎng)絡中的N個交換器按O N-1編號,第二個子網(wǎng)絡中N個交換器按N 2N-1編號,若位于不同網(wǎng)絡的兩個交換器的節(jié)點編號對N取模的值相同,則位于不同網(wǎng)絡的這兩個交換器之間存在一條鏈路。以每個子網(wǎng)絡8個交換器為例,對容錯網(wǎng)絡中的兩個子網(wǎng)絡的所有的交換器都是用一個二進制數(shù)表示(也可以用其他進制數(shù)表示),第一個子網(wǎng)絡結構由下列8個交換器構成:0000、0001、0010、0011、0100、0101、0110、0111 ;第二個子網(wǎng)絡中交換器序號為:1000,1001、1010、1011、1100、1101、1110、1111。兩個子網(wǎng)絡之間,若位于不同網(wǎng)絡的兩個交換器的節(jié)點編號對N取模的值相同,則兩個交換器之間存在一條鏈路,對于8個交換器的情況,表現(xiàn)為兩個交換器編號僅首位不同。首先,系統(tǒng)中每個節(jié)點的方向由下述方式定義。令(V1, V2)是兩個節(jié)點間的鏈路。當V1比V2標號大時,則認為鏈路(Vl,V2)是負向的;反之,則認為這條鏈路是正向的。若報文包沿負向鏈路傳輸,則稱報文傳輸了一個負跨度;同理,當報文傳輸了正向鏈路之后就稱其傳輸了一個正跨度。其次,系統(tǒng)中的任意一個環(huán)路一定是由如下兩種模式構成的(I) 一次或是兩次正跨度+ —次或是兩次的負跨度+—次或是兩次的正跨度,(2) 一次或是兩次負跨度+ —次或兩次正跨度+ —次或兩次負跨度。最后,死鎖的產(chǎn)生有四個必要條件:互斥,請求與保持,非搶占式以及循環(huán)等待,破壞其中的任何一項都能有效的避免死鎖?;谠撊蒎e計算機網(wǎng)絡的無死鎖路由策略在無故障的狀態(tài)下,不使用任何虛擬通道加以實現(xiàn)。考慮死鎖產(chǎn)生的四個必要條件:資源互斥,請求與保持,非搶占式以及循環(huán)等待。因此,采用消除循環(huán)等待的方式進行死鎖的避免。使報文傳輸時滿足下列規(guī)則:若報文沿負跨度傳輸,允許其向負跨度以及正跨度傳輸;若報文沿正跨度傳輸后,則允許報文沿正跨度傳輸。考慮從1100向0011傳輸?shù)膱笪?。那么?100向0011傳輸有兩條最短路徑:(1) 1100-0100-0011以及(2) 1100-1011-0011。這兩個通道序列都是由兩個負跨度組成,則
這兩條通路都能夠用來傳輸報文。考慮從1011向0100傳輸?shù)膱笪?。同樣的,存在兩條最短路徑:
(1)1011-0011-0100, (2) 1011-1100-0100。第一條路徑中,報文首先沿負跨度傳輸,接著沿正跨度傳輸,能夠用來傳輸報文;第二條路徑中,報文首先沿正跨度傳輸,接著沿負跨度傳輸,這是一條違反傳輸規(guī)則的路徑,報文不能選擇這條路徑進行傳輸??紤]從0011向1100傳輸?shù)膱笪?,存在兩條最短路徑:(I) 0011-0100-1100、
(2)0011-1011-1100。兩條通路都是兩個正跨度,都能夠用來作為報文的傳輸選擇。考慮從0100向1011傳輸?shù)膱笪?,存在兩條最短路徑:(I) 0100-1100-1011、
(2)0100-0011-1011。第一條通路先沿正跨度傳輸,再沿負跨度傳輸,違反了傳輸規(guī)則,因此報文不能選擇這條路徑進行傳輸;第二條通路先沿負跨度進行傳輸,再沿正跨度傳輸,可以米用。當最小可選路徑被占用時,特別是當報文只有一條可選路徑的情況下,采用繞道路由的方式。繞道路由將會使報文包傳輸時增加一到多次跨度。在本發(fā)明中,當報文繞道路由時只增加一個跨度??紤]由0100向1001傳輸?shù)膱笪陌斂蛇x通路被阻塞了之后,報文可以首先路由至Ij 0010,0000或者0011,這樣隨后就會分別傳輸?shù)?010、1000以及1011之中。對于這三種不同的傳輸方式來說,當報文首先傳輸?shù)?000時,報文傳輸了一個負跨度,之后再經(jīng)由兩次正跨度傳輸?shù)侥康墓?jié)點1001;對報文包經(jīng)由0010,0011繞道的情況下,報文傳輸將經(jīng)過一次負跨度,一次正跨度后再經(jīng)過一次負跨度,顯然是違背了傳輸?shù)脑瓌t,不允許進行這樣的路由選擇。那么,給出的容錯計算機網(wǎng)絡中,無故障無死鎖自適應路由策略可以用如下幾條規(guī)則描述:規(guī)則1:報文包進行路由的通道序列必須首先沿負跨度傳輸,如果沿正跨度傳輸之后,報文包不允許再沿負跨度傳輸。規(guī)則2:報文包在進行通道選擇時,根據(jù)規(guī)則I對備選的通路進行選擇。規(guī)則3:若產(chǎn)生的兩個備選通道都可使用時,任選一條。若僅有一條通道可用,選擇本通道。若可選通道均阻塞,根據(jù)規(guī)則4與規(guī)則5進行繞道路由。規(guī)則4:當源節(jié)點在第二個子網(wǎng)絡中時,報文繞道路由時選取的繞道節(jié)點滿足節(jié)點的編碼號小于源節(jié)點編號。規(guī)則5:當源節(jié)點在第一個子網(wǎng)絡中時,報文繞道路由時選取繞道節(jié)點滿足節(jié)點編碼小于目的節(jié)點編碼。下面結合
本發(fā)明的方法如何通過消除循環(huán)等待以消除死鎖的原理。圖1中展示了本發(fā)明所適用的容錯計算機網(wǎng)絡結構。系統(tǒng)結構含有32個計算節(jié)點,其中每一個計算節(jié)點都能提供足夠強大的計算能力。此系統(tǒng)可以劃分為兩個子網(wǎng)絡,其中每一子網(wǎng)絡中均含有十六個計算節(jié)點。且每個子網(wǎng)絡中含有8個彼此連接的交換器,每一個交換器連接兩個計算節(jié)點。每個交換器連接到另一子網(wǎng)絡中的一臺交換器。每一個交換器的度均為10,其連接了兩個本地計算節(jié)點以及八個相鄰的交換器。圖2展示了本網(wǎng)絡中可能出現(xiàn)的死鎖情況以及此時的通道依賴圖。如圖2中
(a)所示,緩存 B1, B2, B3 以及 B4 分別表示通道 0100-0101,0101-1101,1100-1101 以及1100-0100。報文包P1占用緩存B1且申請緩存B4,報文P2占用B4申請緩存匕,報文p3占用B3申請緩存B2,報文p4占用緩存B2申請緩存I。此時,很顯然的產(chǎn)生了通道依賴關系,也就是說產(chǎn)生了死鎖,如圖2中(b)所示,即環(huán)0101-0100-1100-1101-0101中的四個報文可能產(chǎn)生死鎖配置。類似的死鎖結構很容易構成,緩存B’ 1;B’ 2,B’ 3以及B’ 4分別表示通道0100-0011、0011-1011、1011-1100 以及 1100-0100。報文包 P’ !占用緩存 B’ !且申請緩存B’ 2,報文P’ 2占用B’ 2申請緩存B’ 3,報文P’ 3占用B’ 3申請緩存B’ 4,報文P’ 4占用緩存B’ 4申請緩存B’ 10此時,很顯然的產(chǎn)生了通道依賴關系,也就是說同樣產(chǎn)生了死鎖,即環(huán)0100-0011-1011-0100中的四個報文可能產(chǎn)生死鎖配置。表I中展示了無故障網(wǎng)絡中如何進行無死鎖路由。首先根據(jù)當前節(jié)點的狀態(tài)進行判斷,如果當前節(jié)點為源節(jié)點且與終點之間不直接相連,那么判斷最短路徑上的中繼節(jié)點是否可以作為報文傳輸?shù)南乱豢缍?。若兩條最小路徑上的中繼節(jié)點均可作為傳輸節(jié)點,那么任選傳向任一中繼節(jié)點的通道作為輸出通道。若僅存在一條最小路徑上的中繼節(jié)點可以作為報文傳輸?shù)南乱唤Y點,那么使用圖4中所示的繞道路由策略進行傳輸。如果當前節(jié)點與目的節(jié)點d直接相連,那么就將報文傳輸給d 。若當前節(jié)點為目的節(jié)點,則將報文收起。表I無故障網(wǎng)絡中的無死鎖適應性路由偽代碼
權利要求
1.一種無死鎖自適應路由方法,其特征在于,根據(jù)數(shù)據(jù)源節(jié)點與目的節(jié)點的邏輯連接關系,按照負向選擇策略選擇所述源節(jié)點到目的節(jié)點的通路,所述邏輯連接關系定義如下: 對容錯網(wǎng)絡的第一個子網(wǎng)絡中的N個交換器按O N-1編號,第二個子網(wǎng)絡中N個交換器按N 2N-1編號,若位于不同網(wǎng)絡的兩個交換器的節(jié)點編號對N取模的值相同,則位于不同網(wǎng)絡的這兩個交換器之間存在一條鏈路; 所述負向選擇策略定義如下: 當前節(jié)點的編號大于下一節(jié)點編號,那么則這條通路定義為負跨度;反之則為正跨度,若報文沿負跨度傳輸后,允許其向負跨度以及正跨度傳輸;若報文沿正跨度傳輸后,則僅允許報文沿正跨度傳輸。
2.如權利要求1所述的無死鎖自適應路由方法,其特征在于,按照負向選擇策略選擇所述源節(jié)點到目的節(jié)點的通路的方式為: 若有兩條最短路徑,且路徑都可用,則隨機選擇一條輸出; 若有兩條最短路徑,有一條的路徑可用,則選擇該條路徑輸出; 若無可用最短路徑,則繞道路由。
3.如權利要求2所述的無死鎖自適應路由方法,其特征在于,所述繞道路由的方式具體為:根據(jù)數(shù)據(jù)源節(jié)點與目的節(jié)點所在網(wǎng)絡的位置關系,選擇符合傳輸原則的中繼節(jié)點,所述中繼節(jié)點符合以下情況: 若數(shù)據(jù)源節(jié)點標號比目的節(jié)點標號大,中繼節(jié)點需滿足節(jié)點標號小于數(shù)據(jù)源節(jié)點。
若數(shù)據(jù)源節(jié)點標號比目的節(jié)點標號小,中繼節(jié)點需滿足節(jié)點標號小于目的節(jié)點標號。
全文摘要
本發(fā)明公開了一種無死鎖自適應路由方法,涉及高性能服務器技術領域,該方法根據(jù)數(shù)據(jù)源節(jié)點與目的節(jié)點的邏輯連接關系,按照負向選擇策略選擇所述源節(jié)點到目的節(jié)點的通路,對容錯網(wǎng)絡的第一個子網(wǎng)絡中的N個交換器按0~N-1編號,第二個子網(wǎng)絡中N個交換器按N~2N-1編號,若位于不同網(wǎng)絡的兩個交換器的節(jié)點編號對N取模的值相同,則位于不同網(wǎng)絡的這兩個交換器之間存在一條鏈路。本發(fā)明在不使用虛擬通道的情況下實現(xiàn)了在結構無故障網(wǎng)絡中無死鎖的適應性路由。
文檔編號H04L12/721GK103179034SQ201110436008
公開日2013年6月26日 申請日期2011年12月22日 優(yōu)先權日2011年12月22日
發(fā)明者向東, 張研 申請人:清華大學