摘? 要: 采用蛀洞路由機(jī)制是新型多計(jì)算機(jī)并行系統(tǒng)的重要特征,介紹用蛀洞路由器ST_C104構(gòu)造全互連多機(jī)并行系統(tǒng)的方法并給出構(gòu)造實(shí)例,證明它具有并行效率高、通信速度快、拓?fù)浣Y(jié)構(gòu)可變、擴(kuò)展性強(qiáng)等特點(diǎn)。
關(guān)鍵詞: 多計(jì)算機(jī)? 并行? 蛀洞路由? ST_C104
?
近年來(lái),在高性能并行計(jì)算機(jī)系統(tǒng)中,分布存儲(chǔ)型的多計(jì)算機(jī)系統(tǒng)的研究與應(yīng)用得到快速發(fā)展。MPP(Massively Parallel Processors)系統(tǒng)屬于一種松散耦合的計(jì)算機(jī)系統(tǒng),它一般由數(shù)十臺(tái)至百臺(tái)以上計(jì)算機(jī)結(jié)點(diǎn)和高速互連網(wǎng)絡(luò)組成,由于沒(méi)有共享內(nèi)存,各結(jié)點(diǎn)之間通過(guò)互連網(wǎng)以消息傳遞的方式相互通信,各結(jié)點(diǎn)間既相互獨(dú)立又可相互交流、共享信息,它非常適合目前各行各業(yè)方興未艾的網(wǎng)絡(luò)發(fā)展的需要。新型的由硬件支持的路由技術(shù)特別是蛀洞路由器的出現(xiàn),使多計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)互連變得更加靈活方便,更為重要的是大大減小了通信時(shí)延,使遠(yuǎn)程通信時(shí)延和本地通信時(shí)延一樣,即通信時(shí)延與兩個(gè)結(jié)點(diǎn)之間的距離無(wú)關(guān),從而大大提高了多計(jì)算機(jī)并行系統(tǒng)的通信效率。
本文介紹采用蛀洞路由器ST_C104構(gòu)造全互連多機(jī)并行系統(tǒng)的方法,我們將該技術(shù)應(yīng)用于“長(zhǎng)纓-III分布式并行仿真計(jì)算機(jī)系統(tǒng)” 的研制中,取得了良好的效果。
1 ST_C104的結(jié)構(gòu)與特點(diǎn)
ST_C104是SGS-THOMSON公司于1996年推出的32×32高速異步網(wǎng)絡(luò)開關(guān),是專門為多CPU間互連而設(shè)計(jì)的系列產(chǎn)品之一,其結(jié)構(gòu)如圖1所示。
?
ST_C104具有如下主要特點(diǎn):
·支持蛀洞路由方式,且可傳遞任意長(zhǎng)度的信息包(Packet);
·時(shí)延小,不大于1μs;
·通信速率為32×100Mb/s,通信帶寬達(dá)300MB/s;
·支持虛擬通道和自適應(yīng)尋徑;
·具有硬件出錯(cuò)處理機(jī)制(Fault Tolerant Network);
·提供2對(duì)控制鏈Clink,用于初始化及出錯(cuò)處理;
·提供32對(duì)數(shù)據(jù)鏈Dlink,用于數(shù)據(jù)傳遞及校驗(yàn)。一個(gè)C104最多可直接連接32個(gè)滿足Link協(xié)議的CPU(如T9000等),也可通過(guò)與高速鏈路適配器ST_C101相配合,實(shí)現(xiàn)與任意型號(hào)CPU的連接;
·在線編程,可動(dòng)態(tài)改變網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);
·可無(wú)限級(jí)連。
2 基于ST_C104的多計(jì)算機(jī)系統(tǒng)
對(duì)于一般的CPU,因?yàn)橥獠繑?shù)據(jù)線多為并行總線,且時(shí)序、協(xié)議各不相同,因此與C104連接時(shí)需要利用C101進(jìn)行鏈路適配,如圖2中小框所示,而對(duì)于具有Link協(xié)議的CPU,可直接與C104相連,不需加C101。一個(gè)C104最多可連接32個(gè)CPU,如果不需要那么多的CPU,或希望提高鏈路通信帶寬,則可減少CPU數(shù)量,而將C104的多個(gè)鏈路分配給同一個(gè)CPU,如圖2中#30節(jié)點(diǎn),它占用了3根Link,雙向帶寬達(dá)600Mb/s。
?
圖2中各個(gè)CPU的地位是完全相同的,每個(gè)CPU既可做為主控結(jié)點(diǎn),也可做為從結(jié)點(diǎn)。將一個(gè)或多個(gè)任務(wù)按一定策略劃分后分配到各個(gè)結(jié)點(diǎn),所有結(jié)點(diǎn)可同時(shí)進(jìn)行工作,各結(jié)點(diǎn)之間通過(guò)C104為媒介進(jìn)行實(shí)時(shí)通信,因此該多機(jī)系統(tǒng)是全互連的、并行的。
一般將由一個(gè)C104相互連接的結(jié)點(diǎn)合稱為一個(gè)機(jī)群,如圖2中的全部1~30個(gè)CPU結(jié)點(diǎn)機(jī)即構(gòu)成了一個(gè)機(jī)群。
3 ST_C104的級(jí)連與擴(kuò)展
??? C104采用蛀洞路由方式尋徑,通信時(shí)延小,且與結(jié)點(diǎn)間距離無(wú)關(guān),因此理論上C104可無(wú)限級(jí)連構(gòu)成一個(gè)任意大的MPP系統(tǒng)。但實(shí)際上任何系統(tǒng)級(jí)連的數(shù)量與其性能都不可能永遠(yuǎn)線性地增加,而是有一個(gè)平臺(tái),在此之后,系統(tǒng)性能增長(zhǎng)緩慢。事實(shí)上,在現(xiàn)實(shí)應(yīng)用中對(duì)系統(tǒng)規(guī)模一般也是有限的,圖3是用6個(gè)(可繼續(xù)擴(kuò)展)C104構(gòu)成的平面拓?fù)浣Y(jié)構(gòu)的多機(jī)系統(tǒng)。
?
圖中將C104相連的實(shí)線表示數(shù)據(jù)鏈,虛線表示控制鏈,控制鏈的連接順序是任意的,不同的連接順序即可得到不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)??梢奀104間所需連接的線很少,它們的互連是非常簡(jiǎn)單的。圖中每個(gè)C104用于與其它C104互連占用了4根數(shù)據(jù)鏈,因此還可以連接28個(gè)其它CPU結(jié)點(diǎn),即構(gòu)成了一個(gè)由6個(gè)機(jī)群組成,而每個(gè)機(jī)群可各帶28個(gè)CPU結(jié)點(diǎn)的并行機(jī)系統(tǒng)。
可擴(kuò)展性是多機(jī)并行系統(tǒng)的重要性能之一,C104的互連簡(jiǎn)單,其擴(kuò)展功能非常強(qiáng)大,例如可輕易擴(kuò)展成環(huán)形結(jié)構(gòu)、二維網(wǎng)絡(luò)結(jié)構(gòu)、立方體結(jié)構(gòu)、三維超立方體結(jié)構(gòu)等多種拓?fù)浣Y(jié)構(gòu),這里不再重述。
4 ST_C104應(yīng)用實(shí)例
我們以C104為核心構(gòu)造了“長(zhǎng)纓-III分布式并行仿真計(jì)算機(jī)系統(tǒng)”,它主要是針對(duì)部隊(duì)對(duì)仿真計(jì)算機(jī)小型化(機(jī)動(dòng)性強(qiáng))、高速高精度、伸縮性好、環(huán)境適應(yīng)性強(qiáng)等要求而設(shè)計(jì)制造的。該系統(tǒng)由6個(gè)C104構(gòu)成的6個(gè)機(jī)群及1個(gè)I/O子系統(tǒng)組成,每個(gè)機(jī)群包含9個(gè)結(jié)點(diǎn),其中8個(gè)計(jì)算結(jié)點(diǎn)(即CPU結(jié)點(diǎn)),1個(gè)I/O通信結(jié)點(diǎn),總共為48個(gè)計(jì)算結(jié)點(diǎn),6個(gè)I/O通信結(jié)點(diǎn)。為了增加機(jī)群間的通信帶寬,機(jī)群之間的互連用了5根數(shù)據(jù)鏈,通信帶寬達(dá)1000MB/s,如圖4所示,圖中小方塊表示1個(gè)計(jì)算結(jié)點(diǎn),小圓圈表示I/O結(jié)點(diǎn)。
?
?????? 每個(gè)計(jì)算結(jié)點(diǎn)中,CPU采用Intel公司高性能RISC微處理器I860,其主頻為40MHz,單精度峰值運(yùn)算速度為80Mflops,雙精度峰值運(yùn)算速度為60M flops,DRAM采用單體結(jié)構(gòu),頁(yè)方式(Page Mode)工作,字長(zhǎng)64位,每頁(yè)4K字節(jié)。其它輔助電路包括8MB~16MB的動(dòng)態(tài)存儲(chǔ)器DRAM、64KB的只讀存儲(chǔ)器EPROM(用于存放初始引導(dǎo)程序)、定時(shí)電路TIMETR、中斷控制電路INTER、2個(gè)高速并行Link適配器C101(用2個(gè)C101并在一起,是為了得到64位的通訊帶寬)組成,如圖5所示。
?
I/O通信結(jié)點(diǎn)形式有多種,可根據(jù)用戶任務(wù)的需要進(jìn)行選擇,目前應(yīng)用的有2種:(1)多總線通信板。用于與普通PC機(jī)或工作站間的通信,適用于AT、ISA、PCI、VME協(xié)議的插槽,并行機(jī)在運(yùn)行過(guò)程中可與任何具有上述協(xié)議的計(jì)算機(jī)進(jìn)行實(shí)時(shí)通信;(2)A/D、D/A通信板。用于并行機(jī)與外界實(shí)物數(shù)據(jù)采集或輸出系統(tǒng)間的通信,可并行或串行通信,分別適用于高速、近距離與中速、遠(yuǎn)距離通信的場(chǎng)合。長(zhǎng)纓-III并行計(jì)算機(jī)具有非常強(qiáng)大的I/O接口能力,且擴(kuò)展性強(qiáng),目前已配備了16路16位A/D與16路16位D/A,在并行通信方式下,相距100m時(shí)一組A/D、D/A數(shù)據(jù)與并行機(jī)通信時(shí)間小于45μs,完全突破了目前業(yè)界通信時(shí)間在ms級(jí)的瓶頸。
總之,ST_C104是網(wǎng)絡(luò)互連專用產(chǎn)品,我們?cè)趹?yīng)用中發(fā)現(xiàn)它確實(shí)具有優(yōu)秀的互連能力,用它設(shè)計(jì)的“長(zhǎng)纓-III分布式并行仿真計(jì)算機(jī)系統(tǒng)”采用的CPU性能并不高,但構(gòu)成MPP系統(tǒng)后表現(xiàn)出了很高的并行效率,系統(tǒng)性能穩(wěn)定,使用簡(jiǎn)便,其主要性能指標(biāo)如下:
·單精度浮點(diǎn)運(yùn)算速度:38.4億次/s;
·雙精度浮點(diǎn)運(yùn)算速度:21.6億次/s;
·系統(tǒng)總存儲(chǔ)容量:6×64Mbyte;
·機(jī)群間通信帶寬:1000Mbits/s;
·結(jié)點(diǎn)間通信帶寬:200Mbits/s;
·I/O接口配置:16路16位A/D,16路16位D/A;????
·多總線通信板:可直接與外部計(jì)算機(jī)的AT、ISA、PCI、VME總線通信;
·軟件配置:并行C,并行FORTRAN,并行程序開發(fā)環(huán)境。
“長(zhǎng)纓-III分布式并行仿真計(jì)算機(jī)系統(tǒng)”在戰(zhàn)略戰(zhàn)術(shù)導(dǎo)彈的閉環(huán)動(dòng)態(tài)測(cè)試、導(dǎo)彈射前仿真與修偏、大型武器系統(tǒng)性能評(píng)估與決策、氣象數(shù)據(jù)處理等領(lǐng)域均獲得良好運(yùn)用。
?
參考文獻(xiàn)
1 SGS-THOMSON Co.ST_C104 DATA BOOK.1997-06
2 SGS-THOMSON Co.Transputer Development System.1997-06
3 吳少軍等.長(zhǎng)纓-III分布式并行仿真計(jì)算機(jī)系統(tǒng)研究報(bào)告.1998