本發(fā)明涉及一種計算機網(wǎng)絡的技術領域,特別涉及一種網(wǎng)絡拓樸系統(tǒng)及方法。
背景技術:
高性能計算機或計算機系統(tǒng)可提供硬件和軟件的最佳化使用,并利用包含一個或多個微處理器和存儲器的處理節(jié)點來實現(xiàn)。這些計算機系統(tǒng)有時被稱作共享多處理器系統(tǒng),在一個共享的多處理器計算機系統(tǒng)中,視處理器為網(wǎng)絡節(jié)點以相互連接,使它們可以彼此進行通信,以共享操作系統(tǒng)、資源、數(shù)據(jù)、存儲器等。
在平行運算計算機系統(tǒng)中,隨著計算機節(jié)點數(shù)增加,節(jié)點間網(wǎng)絡通信會大幅度增加,為了使兩兩節(jié)點之間的通信速度增快,會使用交換器來作為各節(jié)點間通信之用。然而,節(jié)點的數(shù)量愈大,所使用的交換器的數(shù)量就愈多,而使用例如胖樹(fattree)結(jié)構(gòu)的交換器的層數(shù)亦會增加,因而造成整個網(wǎng)絡系統(tǒng)的結(jié)構(gòu)相當復雜且耗電,且網(wǎng)絡系統(tǒng)的成本亦會增加。
技術實現(xiàn)要素:
有鑒于上述問題,本發(fā)明的目的是提供一種網(wǎng)絡拓樸系統(tǒng)及方法,其拓樸數(shù)學計算方式是在具有多個節(jié)點的系統(tǒng)中為各節(jié)點尋找一組節(jié)點連線規(guī)則(connectionrules)以及各節(jié)點與其他節(jié)點連接的數(shù)目,使其可建構(gòu)出一個讓所有節(jié)點根據(jù)其連線規(guī)則和其連接數(shù)所構(gòu)成的網(wǎng)絡拓樸,而無需使用交換器,使整個網(wǎng)絡系統(tǒng)的結(jié)構(gòu)變得簡單且無交換器的耗電,所以網(wǎng)絡系統(tǒng)的成本不會增加,再者每個節(jié)點通過相同形式的通信自由(使用同一組連線規(guī)則),并使得所有節(jié)點的連接數(shù)非常接近者,而達成所謂民主化維度(democratizeddimension)。
本發(fā)明的第一態(tài)樣提供一種網(wǎng)絡拓樸系統(tǒng),其包括:
多個節(jié)點,每一節(jié)點是一單核心芯片、一處理器、一計算機、一組計算機的內(nèi)部最佳化組及一計算機中心的其中一個,每一節(jié)點根據(jù)連線規(guī)則與這些節(jié)點中的多個目的節(jié)點進行連接;
其中,該連線規(guī)則的建立包括下列步驟:
計算一質(zhì)數(shù)序列中相鄰質(zhì)數(shù)的差值,以產(chǎn)生一質(zhì)數(shù)數(shù)值差序列;
計算該質(zhì)數(shù)數(shù)值差序列中目前位置的數(shù)值與所有之前位置的數(shù)值之和,以產(chǎn)生一通信策略數(shù)值序列;
取出一遞歸序列中個數(shù)為一連接節(jié)點數(shù)的數(shù)值作為一索引序列,取出該通信策略數(shù)值序列中個數(shù)為該連接節(jié)點數(shù)的數(shù)值,以產(chǎn)生一連線策略數(shù)值序列,其中該索引序列中的數(shù)值為該通信策略數(shù)值序列的序列位置,其序列位置的數(shù)值為該連線策略數(shù)值序列的數(shù)值;以及
計算每一奇數(shù)與該連線策略數(shù)值序列中的數(shù)值之和,以產(chǎn)生多個連線節(jié)點編號序列,以建立為每一奇數(shù)編號的節(jié)點連結(jié)相應的連線節(jié)點編號序列中的數(shù)值編號的節(jié)點的該連線規(guī)則。
本發(fā)明的第二態(tài)樣提供一種網(wǎng)絡拓樸方法,其應用于一網(wǎng)絡拓樸系統(tǒng),該網(wǎng)絡拓樸系統(tǒng)包括多個節(jié)點,每一節(jié)點是一單核心芯片、一處理器、一計算機、一組計算機的內(nèi)部最佳化組及一計算機中心的其中一個,該方法包括下列步驟:
由該網(wǎng)絡拓樸系統(tǒng)根據(jù)一組連線規(guī)則將這些節(jié)點中的任一起始節(jié)點與多個節(jié)點進行連接;
其中,建立該連線規(guī)則包括下列步驟:
計算一質(zhì)數(shù)序列中相鄰質(zhì)數(shù)的差值,以產(chǎn)生一質(zhì)數(shù)數(shù)值差序列;
計算該質(zhì)數(shù)數(shù)值差序列中目前位置的數(shù)值與所有之前位置的數(shù)值之和,以產(chǎn)生一通信策略數(shù)值序列;
取出一遞歸序列中個數(shù)為一連接節(jié)點數(shù)的數(shù)值作為一索引序列,取出該通信策略數(shù)值序列中個數(shù)為該連接節(jié)點數(shù)的數(shù)值,以產(chǎn)生一連線策略數(shù)值序列,其中該索引序列中的數(shù)值為該通信策略數(shù)值序列的序列位置,其序列位置的數(shù)值為該連線策略數(shù)值序列的數(shù)值;以及
計算每一奇數(shù)與該連線策略數(shù)值序列中的數(shù)值之和,以產(chǎn)生多個連線節(jié)點編號序列,以建立為每一奇數(shù)編號的節(jié)點連結(jié)相應的連線節(jié)點編號序列中的數(shù)值編號的節(jié)點的該連線規(guī)則。
附圖說明
圖1為本發(fā)明的網(wǎng)絡拓樸系統(tǒng)的節(jié)點架構(gòu)示意圖;
圖2為本發(fā)明的網(wǎng)絡拓樸方法的流程圖;
圖3為本發(fā)明的建立連線規(guī)則的方法的流程圖;以及
圖4a至圖4d為本發(fā)明的網(wǎng)絡拓樸系統(tǒng)與各種網(wǎng)絡拓樸系統(tǒng)的效能比較的示意圖。
具體實施方式
為使本領域技術人員能更進一步了解本發(fā)明,下文特列舉本發(fā)明的較佳實施例,并配合附圖,詳細說明本發(fā)明的構(gòu)成內(nèi)容及所欲達成的功效。
圖1為本發(fā)明的網(wǎng)絡拓樸系統(tǒng)的節(jié)點架構(gòu)示意圖。在圖1中,網(wǎng)絡拓樸系統(tǒng)包括多個節(jié)點(節(jié)點編號1、2、…、16),每一節(jié)點為一單核心芯片(singlecoreonchip)、一處理器、一計算機、一組計算機的內(nèi)部最佳化組(agroupofinternallyoptimizedgroupofcomputers)或一計算機中心(acomputationalcenter),網(wǎng)絡拓樸系統(tǒng)中的每一節(jié)點依據(jù)一組連線規(guī)則(connectionrule)于這些節(jié)點中的任一起始節(jié)點與多個節(jié)點進行連接。
本發(fā)明的實施例以16個節(jié)點為例說明網(wǎng)絡拓樸系統(tǒng)的通信操作,但該節(jié)點數(shù)量并非局限本發(fā)明,本發(fā)明的網(wǎng)絡拓樸系統(tǒng)的節(jié)點數(shù)量可高達數(shù)千個或甚至百萬個節(jié)點數(shù)量。
連線規(guī)則的建立方式說明如下。首先輸入一總節(jié)點數(shù)n及一連接節(jié)點數(shù)k,其中總節(jié)點數(shù)n表示網(wǎng)絡拓樸系統(tǒng)的節(jié)點數(shù)量,連接節(jié)點數(shù)k表示每一節(jié)點可平行連接其它節(jié)點的數(shù)量。在本實施中,總節(jié)點數(shù)n為16,連接節(jié)點數(shù)k為4。
接著,列出數(shù)值小于總節(jié)點數(shù)n的一遞歸序列,其中遞歸序列可采用已知的遞歸序列。列出數(shù)值為質(zhì)數(shù)的一質(zhì)數(shù)序列,如2、3、5、7、11、13、17、19、…。計算質(zhì)數(shù)序列中相鄰質(zhì)數(shù)的差值,如3-2=1、5-3=2、7-5=2、11-7=4、13-11=2、17-13=4、…以產(chǎn)生數(shù)值為1、2、2、4、2、4、…的一質(zhì)數(shù)數(shù)值差序列。
計算質(zhì)數(shù)數(shù)值差序列中目前位置的數(shù)值與所有之前位置的數(shù)值之和,亦即第1位置的數(shù)值和為1、第2位置的數(shù)值和為1+2=3、第3位置的數(shù)值和為1+2+2=5、第4位置的數(shù)值和為1+2+2+4=9、第5位置的數(shù)值和為1+2+2+4+2=11、第6位置的數(shù)值和為1+2+2+4+2+4=15、…,經(jīng)上述計算以產(chǎn)生數(shù)值為1(1)、3(2)、5(3)、9(4)、11(5)、15(6)、…的一通信策略數(shù)值序列,其中括號中的數(shù)字表示該數(shù)值在通信策略數(shù)值序列中的位置的索引。
取出遞歸序列中位置為第3個至第k+2個(k為4)的數(shù)值作為一索引序列,在本實施例中,索引序列的數(shù)值為1、2、3、5。取出通信策略數(shù)值序列中k個數(shù)值,以產(chǎn)生一連線策略數(shù)值序列,其中k個數(shù)值是索引序列中的數(shù)值對應通信策略數(shù)值序列的序列位置的數(shù)值,在本實施例中,連線策略數(shù)值序列的數(shù)值為1(1)、3(2)、5(3)、11(5)。
計算每一奇數(shù)與連線策略數(shù)值序列中的數(shù)值之和,以產(chǎn)生多個連線節(jié)點編號序列,以建立為每一奇數(shù)編號的節(jié)點連結(jié)相應的連線節(jié)點編號序列中的數(shù)值編號的節(jié)點的連線規(guī)則,在本實施例中,奇數(shù)為1的節(jié)點平行連結(jié)編號為1+1=2、1+3=4、1+5=6、1+11=12等節(jié)點、奇數(shù)為3的節(jié)點平行連結(jié)編號為3+1=4、3+3=6、3+5=8、3+11=14等節(jié)點、…(如圖1所示)。
在一總節(jié)點數(shù)為n的網(wǎng)絡拓樸系統(tǒng)中找出每一個節(jié)點的連接數(shù)接近一特定值,即kt→k,i=1,2,.....,n,其中k=log2n,且具有最短的平均距離者,稱為拓樸優(yōu)化(topologyoptimization)。
在一個總節(jié)點數(shù)為n的網(wǎng)絡拓樸中,所有節(jié)點彼此之間的最長距離可以表示成以下的距離矩陣(distancematrix):
其中dij為節(jié)點i與j之間的最長距離,且dii=0,即對角線元素皆為0。
一個拓樸的平均距離a的定義如下:
其中dtj是指任意兩節(jié)點i與j之間的最長距離。例如總節(jié)點數(shù)n為4,連接節(jié)點數(shù)k為2,距離矩陣表示成
則a=(1+2+1+…+2+1)/(4×3)=1.33
讓每個節(jié)點通過相同形式的通信自由(使用同一組節(jié)點連線規(guī)則),并使得所有節(jié)點的連接數(shù)非常接近者,即kt→k,i=1,2,.....,n,便稱為民主化維度環(huán)境。
圖2為本發(fā)明的網(wǎng)絡拓樸方法的流程圖。在說明圖2的流程步驟時參考圖1的節(jié)點。
在圖2中,建立好的連線規(guī)則首先用以連接于圖1的各個節(jié)點(步驟s20)。
圖3為本發(fā)明的建立連線規(guī)則的方法的流程圖,建立連線規(guī)則的數(shù)據(jù)的步驟如圖3的流程圖所示。在圖3中,輸入一總節(jié)點數(shù)n及一連接節(jié)點數(shù)k,在本實施中,網(wǎng)絡拓樸系統(tǒng)的總節(jié)點數(shù)n為16,每一節(jié)點可平行連接其它節(jié)點的連接節(jié)點數(shù)k為4(步驟s30)。
列出數(shù)值小于總節(jié)點數(shù)n的一遞歸序列,在本實施例中,遞歸序列的數(shù)值為0、1、1、2、3、5、8、13(步驟s32),其中遞歸序列可采用已知的遞歸序列。
列出數(shù)值為質(zhì)數(shù)的一質(zhì)數(shù)序列,其數(shù)值為2、3、5、7、11、13、17、19、…(步驟s34)。計算質(zhì)數(shù)序列中相鄰質(zhì)數(shù)的差值,如3-2=1、5-3=2、7-5=2、11-7=4、13-11=2、17-13=4、…以產(chǎn)生數(shù)值為1、2、2、4、2、4、…的一質(zhì)數(shù)數(shù)值差序列(步驟s36)。
計算質(zhì)數(shù)數(shù)值差序列中目前位置的數(shù)值與所有之前位置的數(shù)值之和,以產(chǎn)生一通信策略數(shù)值序列,如在本實施例中,第1位置的數(shù)值和為1、第2位置的數(shù)值和為1+2=3、第3位置的數(shù)值和為1+2+2=5、第4位置的數(shù)值和為1+2+2+4=9、第5位置的數(shù)值和為1+2+2+4+2=11、第6位置的數(shù)值和為1+2+2+4+2+4=15、…,經(jīng)上述計算以產(chǎn)生數(shù)值為1(1)、3(2)、5(3)、9(4)、11(5)、15(6)、…的通信策略數(shù)值序列,其中括號中的數(shù)字表示該數(shù)值在通信策略數(shù)值序列中的位置的索引(步驟s38)。
取出遞歸序列(0、1、1、2、3、5、8、13)中位置為第3個至第k+2個(本實施例的k為4)的數(shù)值作為一索引序列,在本實施例中,索引序列位置為第3個至第6個的數(shù)值為1、2、3、5。接著,取出通信策略數(shù)值序列中k個數(shù)值,以產(chǎn)生一連線策略數(shù)值序列,其中k個數(shù)值是索引序列中的數(shù)值對應通信策略數(shù)值序列的序列位置的數(shù)值,在本實施例中,連線策略數(shù)值序列的數(shù)值為1(1)、3(2)、5(3)、11(5)(步驟s40)。
計算每一奇數(shù)與連線策略數(shù)值序列中的數(shù)值之和,以產(chǎn)生多個連線節(jié)點編號序列,以建立為每一奇數(shù)編號的節(jié)點連結(jié)相應的連線節(jié)點編號序列中的數(shù)值編號的節(jié)點的連線規(guī)則(步驟s42),如在本實施例中,奇數(shù)為1的節(jié)點平行連結(jié)編號為1+1=2、1+3=4、1+5=6、1+11=12等節(jié)點、奇數(shù)為3的節(jié)點平行連結(jié)編號為3+1=4、3+3=6、3+5=8、3+11=14等節(jié)點、…(如圖1所示),而將所建立的連線規(guī)則用以連接圖1的網(wǎng)絡節(jié)點。
再次參考圖2,由網(wǎng)絡拓樸系統(tǒng)于圖1的這些節(jié)點中的任一起始節(jié)點及任一目的節(jié)點間進行通信傳輸(步驟s22)。
上述的網(wǎng)絡拓樸系統(tǒng)與已知的網(wǎng)絡拓樸系統(tǒng)的比較說明如下。在圖4a中,本發(fā)明的總節(jié)點數(shù)n為324及連接節(jié)點數(shù)k為8的網(wǎng)絡拓樸系統(tǒng)與fijitsu的tofu-3x3x3n324k7-10的網(wǎng)絡拓樸系統(tǒng)比較發(fā)現(xiàn),本發(fā)明的網(wǎng)絡拓樸系統(tǒng)的平均距離a=3.41、最長距離d=5,而fijitsu的網(wǎng)絡拓樸系統(tǒng)的平均距離a=4.35、最長距離d=9,由于本發(fā)明的網(wǎng)絡拓樸系統(tǒng)的平均距離a與最長距離d的數(shù)值皆小于fijitsu的網(wǎng)絡拓樸系統(tǒng)的平均距離a與最長距離d的數(shù)值,所以本發(fā)明的網(wǎng)絡拓樸系統(tǒng)的通信傳輸效能優(yōu)于fijitsu的網(wǎng)絡拓樸系統(tǒng)的通信傳輸效能。
同樣地,在圖4b中,本發(fā)明的總節(jié)點數(shù)n為1500及連接節(jié)點數(shù)k為9的網(wǎng)絡拓樸系統(tǒng)的平均距離a=4.23、最長距離d=6,fijitsu的tofu-5x5x5n1500k7-10的網(wǎng)絡拓樸系統(tǒng)的平均距離a=6.47、最長距離d=15;在圖4c中,本發(fā)明的總節(jié)點數(shù)n為1024及連接節(jié)點數(shù)k為10的網(wǎng)絡拓樸系統(tǒng)的平均距離a=3.63、最長距離d=5,ibm的bluegene/qn1024k10的網(wǎng)絡拓樸系統(tǒng)的平均距離a=5.00、最長距離d=10;在圖4d中,本發(fā)明的總節(jié)點數(shù)n為80及連接節(jié)點數(shù)k為4的網(wǎng)絡拓樸系統(tǒng)的平均距離a=3.59、最長距離d=6,motorola's的mc68xxxprocessorn80k2-4的網(wǎng)絡拓樸系統(tǒng)的平均距離a=4.73、最長距離d=8。
由圖4b至圖4d中發(fā)現(xiàn)本發(fā)明的網(wǎng)絡拓樸系統(tǒng)的通信傳輸效能優(yōu)于fijitsu的tofu-5x5x5n1500k7-10的網(wǎng)絡拓樸系統(tǒng)、ibm的bluegene/qn1024k10的網(wǎng)絡拓樸系統(tǒng)及motorola's的mc68xxxprocessorn80k2-4的網(wǎng)絡拓樸系統(tǒng)等的通信傳輸效能。
本發(fā)明提供一種網(wǎng)絡拓樸系統(tǒng)及方法,其優(yōu)點在于拓樸數(shù)學計算方式是在具有多個節(jié)點的系統(tǒng)中為各節(jié)點尋找一組節(jié)點連線規(guī)則以及各節(jié)點與其他節(jié)點連接的數(shù)目,使其可建構(gòu)出一個讓所有節(jié)點根據(jù)其連線規(guī)則和其連接數(shù)所構(gòu)成的網(wǎng)絡拓樸,而無需使用交換器,使整個網(wǎng)絡系統(tǒng)的結(jié)構(gòu)變的簡單且無交換器的耗電,所以網(wǎng)絡系統(tǒng)的成本不會增加,再者每個節(jié)點通過相同形式的通信自由(使用同一組連線規(guī)則),并使得所有節(jié)點的連接數(shù)非常接近者,而達成所謂民主化維度。
雖然本發(fā)明已參照較佳具體例及舉例性附圖敘述如上,但其不應被視為對本發(fā)明的限制。本領域技術人員對其形態(tài)及具體例的內(nèi)容所做的各種修改、省略及變化,均不離開本發(fā)明的權(quán)利要求書的所主張范圍。