孫學(xué)
(中國西南電子技術(shù)研究所,成都610036)
基于Fabric網(wǎng)絡(luò)平臺(tái)的中間件設(shè)計(jì)?
孫學(xué)
(中國西南電子技術(shù)研究所,成都610036)
基于Fabric網(wǎng)絡(luò)拓?fù)浼捌鋫鬏斕攸c(diǎn),設(shè)計(jì)了模塊級(jí)綜合化信號(hào)與信息處理機(jī)的網(wǎng)絡(luò)通信中間件模型,詳細(xì)描述了其中的Fabric通信模型、網(wǎng)絡(luò)管理模型和圖形化配置監(jiān)控模型。該中間件通過映射Fabric物理端口為多個(gè)邏輯通信端口,屏蔽網(wǎng)絡(luò)鏈路的容錯(cuò)細(xì)節(jié),以及靜態(tài)邏輯連接關(guān)系和應(yīng)用部署的動(dòng)態(tài)綁定,實(shí)現(xiàn)了位置無關(guān)的網(wǎng)絡(luò)通信、應(yīng)用部署、容錯(cuò)控制、配置及監(jiān)控維護(hù)等處理機(jī)平臺(tái)基礎(chǔ)設(shè)施,減小了系統(tǒng)應(yīng)用與機(jī)器平臺(tái)的設(shè)計(jì)耦合,增強(qiáng)了系統(tǒng)應(yīng)用的設(shè)計(jì)靈活性,可以顯著提高系統(tǒng)應(yīng)用的集成效率。
綜合化信號(hào)與信息處理機(jī);開關(guān)網(wǎng)絡(luò);中間件設(shè)計(jì);網(wǎng)絡(luò)管理
采用協(xié)議開放的開關(guān)互連技術(shù)(Fabric或Switched Fabric)取代共享總線技術(shù)實(shí)現(xiàn)以Fabric網(wǎng)絡(luò)為中心的信號(hào)與信息處理機(jī)硬件架構(gòu)是模塊級(jí)高度綜合集成系統(tǒng)的首選方案[1,2]。同時(shí),F(xiàn)abric網(wǎng)絡(luò)也帶來了一系列需要解決的技術(shù)應(yīng)用問題,涉及網(wǎng)絡(luò)通信、應(yīng)用部署、容錯(cuò)控制、配置及監(jiān)控維護(hù)等,而且這些處理機(jī)平臺(tái)基礎(chǔ)設(shè)施對(duì)平臺(tái)應(yīng)用設(shè)計(jì)人員具有較大技術(shù)挑戰(zhàn)性。
本文基于雙星型Fabric網(wǎng)絡(luò)平臺(tái)引入一種中間件設(shè)計(jì)模型,向下封裝復(fù)雜的Fabric網(wǎng)絡(luò)特性,向上提供應(yīng)用構(gòu)件間的交互接口,實(shí)現(xiàn)應(yīng)用構(gòu)件的邏輯關(guān)聯(lián)和動(dòng)態(tài)配置功能,從而把綜合化設(shè)備緊耦合的物理關(guān)聯(lián)分解成松耦合的邏輯關(guān)聯(lián),把功能波形的物理綜合問題分解為邏輯獨(dú)立的系統(tǒng)構(gòu)件集成問題,把波形綜合對(duì)系統(tǒng)全局的關(guān)聯(lián)影響分解為構(gòu)件集成對(duì)系統(tǒng)局部的接口影響,減小了系統(tǒng)應(yīng)用與機(jī)器平臺(tái)的設(shè)計(jì)耦合,增強(qiáng)了系統(tǒng)應(yīng)用的設(shè)計(jì)靈活性,可以顯著提高系統(tǒng)應(yīng)用的集成效率。
本文第2節(jié)和第3節(jié)描述Fabric硬件拓?fù)浜突谠撈脚_(tái)的中間件模型,第4節(jié)、第5節(jié)和第6節(jié)對(duì)該中間件模型的設(shè)計(jì)實(shí)現(xiàn)進(jìn)行重點(diǎn)描述,分別是Fabric通信設(shè)計(jì)、網(wǎng)絡(luò)管理設(shè)計(jì)和圖形化配置及監(jiān)控設(shè)計(jì)。
Fabric網(wǎng)絡(luò)拓?fù)淙鐖D1所示[3]。S1-1、S1-2和S1-3交換節(jié)點(diǎn)構(gòu)成主交換網(wǎng)絡(luò)S1,S2-1、S2-2和S2-3交換節(jié)點(diǎn)構(gòu)成備交換網(wǎng)絡(luò)S2,S1和S2構(gòu)成雙星型網(wǎng)絡(luò)拓?fù)洹H~子節(jié)點(diǎn)與S1連接的鏈路稱為主鏈路,與S2連接的鏈路稱為備鏈路,SM1與SM2之間的鏈路為網(wǎng)絡(luò)同步鏈路。SM1為系統(tǒng)管理主節(jié)點(diǎn),SM2為系統(tǒng)管理備節(jié)點(diǎn);NM1為網(wǎng)管主節(jié)點(diǎn),NM2為網(wǎng)管備節(jié)點(diǎn);N1~N n為處理機(jī)平臺(tái)普通處理節(jié)點(diǎn)。
Fabric網(wǎng)絡(luò)平臺(tái)的中間件結(jié)構(gòu)模型如圖2所示[4]。N1、N2、N3等葉子節(jié)點(diǎn)由DSP、PowerPC以及FPGA-core等含有Fabric接口的處理器組成;S1和S2是對(duì)等拓?fù)浣Y(jié)構(gòu)的Fabric交換網(wǎng)絡(luò),由Fabric交換節(jié)點(diǎn)組成。在以上Fabric網(wǎng)絡(luò)硬件平臺(tái)上,構(gòu)建的中間件模型組成部分包括通信管理、節(jié)點(diǎn)管理、網(wǎng)絡(luò)管理以及系統(tǒng)管理。
通信管理完成Fabric接口驅(qū)動(dòng)和網(wǎng)絡(luò)枚舉,提供網(wǎng)絡(luò)異構(gòu)節(jié)點(diǎn)硬件的控制和操縱;通過媒體接入管理提取資源信息并完成標(biāo)識(shí)符等信息的統(tǒng)一映射;完成物理鏈路帶寬分配等鏈路控制及其狀態(tài)管理;完成邏輯鏈路協(xié)議等傳輸控制和資源管理。
節(jié)點(diǎn)管理提供Fabric葉子節(jié)點(diǎn)資源的控制管理,包括節(jié)點(diǎn)BIT、程序的動(dòng)態(tài)加載和在線更新等控制管理功能,提供節(jié)點(diǎn)工作狀態(tài)監(jiān)控以及運(yùn)行維護(hù)的遠(yuǎn)程控制代理。
網(wǎng)絡(luò)管理是Fabric網(wǎng)絡(luò)的管理中樞,完成Fabric網(wǎng)絡(luò)資源的信息組織和倉儲(chǔ),根據(jù)系統(tǒng)配置實(shí)現(xiàn)網(wǎng)絡(luò)物理拓?fù)浜瓦壿嬯P(guān)聯(lián)關(guān)系管理、動(dòng)態(tài)路由計(jì)算、網(wǎng)絡(luò)狀態(tài)監(jiān)測和網(wǎng)絡(luò)鏈路的容錯(cuò)處理,實(shí)現(xiàn)通信物理鏈路和邏輯鏈路的狀態(tài)收集和日志記錄。
系統(tǒng)管理是整個(gè)信號(hào)與信息處理機(jī)系統(tǒng)的管理中樞,提供Fabric網(wǎng)絡(luò)物理拓?fù)浜瓦壿媽?duì)象關(guān)聯(lián)關(guān)系的配置和靜態(tài)規(guī)劃;提供網(wǎng)絡(luò)及節(jié)點(diǎn)遠(yuǎn)程監(jiān)控;提供系統(tǒng)節(jié)點(diǎn)資源的容錯(cuò)處理以及應(yīng)用部署策略等。
系統(tǒng)管理的應(yīng)用部署、網(wǎng)絡(luò)拓?fù)湟?guī)劃和邏輯關(guān)聯(lián)配置與網(wǎng)絡(luò)管理的接口,提供邏輯對(duì)象與物理實(shí)體之間的動(dòng)態(tài)綁定,這是綜合化設(shè)備緊耦合的物理關(guān)聯(lián)分解成松耦合的邏輯關(guān)聯(lián)的關(guān)鍵。
網(wǎng)絡(luò)管理和通信管理的接口提供物理對(duì)象和邏輯對(duì)象,邏輯對(duì)象關(guān)聯(lián)信息的集中式分發(fā),實(shí)現(xiàn)應(yīng)用程序之間面向?qū)ο蟮男畔⒔换ァ?/p>
另外,通信管理的網(wǎng)絡(luò)接口和驅(qū)動(dòng)與網(wǎng)絡(luò)管理的資源掃描進(jìn)行接口,這是網(wǎng)絡(luò)底層硬件特性所固有的接口。通過硬件層次緊耦合換取應(yīng)用層次松耦合設(shè)計(jì),把功能波形的物理綜合問題分解為邏輯獨(dú)立的系統(tǒng)構(gòu)件集成問題。
系統(tǒng)管理的節(jié)點(diǎn)監(jiān)控與節(jié)點(diǎn)管理之間的系統(tǒng)控制接口提供系統(tǒng)級(jí)控制管理通道;系統(tǒng)管理的網(wǎng)絡(luò)監(jiān)控與網(wǎng)絡(luò)管理之間的平臺(tái)控制接口提供Fabric平臺(tái)級(jí)控制管理通道。這兩個(gè)通道的分離設(shè)計(jì),有利于把波形綜合對(duì)系統(tǒng)全局的關(guān)聯(lián)影響分解為構(gòu)件集成對(duì)系統(tǒng)局部的接口影響,同時(shí)也為系統(tǒng)和平臺(tái)的配置、監(jiān)視和維護(hù)提供了遠(yuǎn)程控制通道。
在分布式信號(hào)與信息處理機(jī)處理器之間或處理器的不同線程之間,F(xiàn)abric通信軟件利用Fabric網(wǎng)絡(luò)底層硬件通信機(jī)制和操作系統(tǒng)的資源調(diào)度策略,實(shí)現(xiàn)Fabric接口通信資源的管理機(jī)制(如收發(fā)單元的管理)、數(shù)據(jù)緩存管理機(jī)制(如Fabric接口內(nèi)外部存儲(chǔ)資源的復(fù)用策略)、發(fā)送接收隊(duì)列的管理機(jī)制、物理資源和邏輯資源的關(guān)聯(lián)策略(如邏輯端口管理)、定時(shí)管理以及握手協(xié)議等,通過少量的通信庫函數(shù)為應(yīng)用程序提供高效的數(shù)據(jù)傳輸服務(wù)。
根據(jù)中間件模型設(shè)計(jì),F(xiàn)abric通信軟件需要具備在同一個(gè)Fabric物理端口提供多個(gè)邏輯端口通信能力,這是應(yīng)用程序之間面向?qū)ο蟮男畔⒔换サ幕A(chǔ),如圖3所示。
在ISO/OSI七層模型和TCP/IP四層模型基礎(chǔ)上,結(jié)合Fabric網(wǎng)絡(luò)特性為通信軟件設(shè)計(jì)高效輕量的協(xié)議分層模型如圖4所示。
Fabric通信軟件包括進(jìn)程間通信(IPC)功能和網(wǎng)管代理功能。IPC部分提供高速可靠的進(jìn)程間通信功能;網(wǎng)管代理部分輔助網(wǎng)管實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中各節(jié)點(diǎn)的Fabric接口管理和維護(hù),為IPC部分的正常運(yùn)行提供支持。與參考模型相比,F(xiàn)abric協(xié)議更類似于TCP/IP參考模型,得益于Fabric交換技術(shù),數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層設(shè)計(jì)更為簡約。
接口封裝:IPC通過網(wǎng)管接口和應(yīng)用接口分別向網(wǎng)管和應(yīng)用程序提供相應(yīng)的服務(wù)。應(yīng)用程序只需使用其所提供的接口獲取網(wǎng)管代理和IPC所提供的服務(wù),而無需關(guān)心通信協(xié)議內(nèi)部是如何傳輸和實(shí)現(xiàn)的。
網(wǎng)管代理:網(wǎng)管代理將網(wǎng)管發(fā)出的控制命令與信息傳送到每個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)上的網(wǎng)管代理再分別控制IPC中的功能,實(shí)現(xiàn)如建立連接、掛起連接等一系列的操作,通過這種方式實(shí)現(xiàn)網(wǎng)管對(duì)節(jié)點(diǎn)通信的集中管理。
傳輸層:在IPC中傳輸層將邏輯鏈路層的鏈路復(fù)用成多條邏輯的鏈路,為每個(gè)鏈路分配端口標(biāo)識(shí)并維護(hù)這些鏈路的狀態(tài)。應(yīng)用程序收發(fā)的數(shù)據(jù)通過傳輸層的處理后到達(dá)邏輯鏈路層。
邏輯鏈路層:所有復(fù)用的邏輯鏈路最終匯合在這一層上,保障所有數(shù)據(jù)的收發(fā)并維護(hù)在該層上的鏈路。該層同時(shí)保障數(shù)據(jù)的優(yōu)先級(jí),如果在該層的隊(duì)列中同時(shí)存在多個(gè)優(yōu)先級(jí)的數(shù)據(jù),高優(yōu)先級(jí)的數(shù)據(jù)要比低優(yōu)先級(jí)的數(shù)據(jù)先出隊(duì)列并發(fā)送出去。
媒體接入控制層:該層是對(duì)硬件的抽象接口,實(shí)現(xiàn)上層協(xié)議和Fabric底層硬件特性隔離,使用統(tǒng)一的接口實(shí)現(xiàn)數(shù)據(jù)的收發(fā)與配置。
在綜合化信號(hào)與信息處理機(jī)系統(tǒng)中,F(xiàn)abric網(wǎng)絡(luò)是由多個(gè)節(jié)點(diǎn)板卡通過底板互連的,使得同一個(gè)板卡內(nèi)及板卡之間的連接關(guān)系是確定的,網(wǎng)絡(luò)的規(guī)模隨著接入板卡的多少存在變化,但網(wǎng)絡(luò)中的節(jié)點(diǎn)連接關(guān)系是確定的,即實(shí)際的網(wǎng)絡(luò)拓?fù)浔厝皇亲畲笤O(shè)定拓?fù)浣Y(jié)構(gòu)的子集,如圖5所示。
雙星型Fabric網(wǎng)絡(luò)采用了兩級(jí)容錯(cuò)方法,第1級(jí)為中心交換網(wǎng)絡(luò)容錯(cuò),第2級(jí)為交換鏈路容錯(cuò),如圖7所示。當(dāng)主網(wǎng)絡(luò)鏈路故障,備網(wǎng)絡(luò)工作正常時(shí),進(jìn)行主備網(wǎng)絡(luò)切換,實(shí)現(xiàn)第1級(jí)中心網(wǎng)絡(luò)容錯(cuò);當(dāng)備網(wǎng)絡(luò)鏈路繼續(xù)故障時(shí),這時(shí)網(wǎng)絡(luò)帶故工作實(shí)現(xiàn)第2級(jí)網(wǎng)絡(luò)鏈路容錯(cuò);備網(wǎng)絡(luò)故障或單網(wǎng)絡(luò)工作時(shí),主網(wǎng)絡(luò)鏈路故障直接進(jìn)行第2級(jí)鏈路容錯(cuò)。
預(yù)先設(shè)定最大拓?fù)渲忻總€(gè)節(jié)點(diǎn)的關(guān)鍵信息,并將最大拓?fù)湫畔⒈4嬗诜且资Т鎯?chǔ)區(qū),使得系統(tǒng)枚舉的每個(gè)節(jié)點(diǎn)的關(guān)鍵信息均可從模板拓?fù)渲刑崛。岣吡司W(wǎng)絡(luò)枚舉效率,保證了關(guān)鍵應(yīng)用的確定性時(shí)延指標(biāo)。
網(wǎng)絡(luò)中間件的通信配置模型如圖6所示。系統(tǒng)管理向Fabric葉子節(jié)點(diǎn)發(fā)送程序加載控制指令,向Fabric主網(wǎng)管下發(fā)程序部署指令;網(wǎng)絡(luò)管理根據(jù)程序間的邏輯關(guān)聯(lián)關(guān)系和網(wǎng)絡(luò)物理拓?fù)洌瑘?zhí)行動(dòng)態(tài)路由配置并向系統(tǒng)管理上報(bào)節(jié)點(diǎn)間通信配置結(jié)果。
采用在GUI上構(gòu)造網(wǎng)絡(luò)拓?fù)涞姆绞剑浫肱c讀取網(wǎng)絡(luò)物理部件拓?fù)溥B接關(guān)系。通過圖形化描述把應(yīng)用程序模塊信息封裝成標(biāo)準(zhǔn)化的圖形化軟件構(gòu)件,每個(gè)軟件部件信息包括軟件模塊名稱、對(duì)外接口名稱及其綁定的邏輯端口號(hào)等信息。把硬件處理模塊信息封裝成標(biāo)準(zhǔn)化的圖形化硬件部件,每個(gè)硬件部件信息包括硬件類型、硬件模塊插槽編號(hào)等信息。采用鼠標(biāo)拖動(dòng)軟件構(gòu)件到硬件部件相應(yīng)的處理器中來表達(dá)軟件在硬件上的部署和信息綁定關(guān)系,在軟件部件端口間畫連接線表達(dá)軟件部件之間的連接關(guān)系。
用這種可視化方式來翻譯和表達(dá)網(wǎng)絡(luò)物理拓?fù)?、邏輯關(guān)聯(lián)關(guān)系,以及部署關(guān)系等配置信息,并通過軟件工具自動(dòng)轉(zhuǎn)換成網(wǎng)絡(luò)管理軟件可以識(shí)別的文本格式,實(shí)現(xiàn)所見即所得的網(wǎng)絡(luò)配置、監(jiān)視和維護(hù)控制,簡化了中間件的使用要求并提升了用戶體驗(yàn),如圖8所示。
本文提出了一種基于雙星型Fabric網(wǎng)絡(luò)拓?fù)涞闹虚g件設(shè)計(jì)模型,能夠提供與位置無關(guān)的網(wǎng)絡(luò)通信、應(yīng)用服務(wù)的動(dòng)態(tài)部署、網(wǎng)絡(luò)節(jié)點(diǎn)的容錯(cuò)控制,以及圖形化的配置、監(jiān)控與運(yùn)行維護(hù)功能。在某綜合化信號(hào)與信息處理機(jī)的設(shè)計(jì)和集成應(yīng)用過程中,基于該設(shè)計(jì)模型的中間件軟件功能穩(wěn)定、性能優(yōu)良;基于該中間件設(shè)計(jì)的綜合化系統(tǒng)與平臺(tái)耦合度小,能提高3~5倍的系統(tǒng)集成效率,效果明顯。本文可供相關(guān)工程設(shè)計(jì)參考。
[1]錢義東.雙星型網(wǎng)絡(luò)拓?fù)淇煽啃苑治觯跩].計(jì)算機(jī)工程,2009,35(16):224-227.
QIANYi-dong.Availability Analysis of Double-star Network Topology[J].Computer Engineering,2009,35(16):224 -227.(in Chinese)
[2]孫學(xué),段求輝,陳穎.StarFabric技術(shù)綜述[J].中國電子科學(xué)研究院學(xué)報(bào),2007,2(2):191-196.
SUN Xue,DUAN Qiu-hui,CHEN Ying.A Survey of Star-Fabric Technology[J].Journal of China Academy of Electronics and Information Technology,2007,2(2):191-196.(in Chinese)
[3]Gunkel M,Schneiders M.Aggregation Networks:Cost Comparison ofWDM Ring vs.Double Star Topology[C]//Proceedings of2008 International Conference on Optical Network Design and Modeling.Vilanova i la Geltru:IEEE,2008:1-5.
[4]AEEC/ARINC 651-1,Design guidance for integrated modular avionics[S].
Midd leware Software Design Based on Switched Fabric Platform
SUN Xue
(Southwest China Institute of Electronic Technology,Chengdu 610036,China)
Based on Fabric topology and its characteristics,amiddleware designmodel of the Fabric platform applied in the Integrated Modular Architecture Signal&Information Processor is proposed.The Fabric communication model,the Fabric managementmodel,and the graphic Configuration&Surveillance&Control(CSC)model are described.Themiddlewaremaps Fabric physical port tomultiple logic communication ports,shields the details ofmending link faults,and bundles the static logic connection relationship and the dynamic deploymentofapplications.Itprovides themain platform infrastructure of processor,including the function of Fabric communication independent on place,the function of application deployment,the function of faults tolerance control,the function of CSC,and the function of Fabricmaintenance.Italleviates the coupling between applications and processor platform,promotes the agility of application design,and greatly accelerates the integration of applications of the system.
integrated signal&information processor;switched Fabric;middleware design;network management
the M.S.degree from Chongqing University in 2004.He is now an engineer.His research concerns switch Fabric,distributed computing and array computing.
1001-893X(2011)11-0079-05
2011-06-01;
2011-09-26
TN915;TP393
A
10.3969/j.issn.1001-893x.2011.11.016
孫學(xué)(1978—),男,重慶合川人,2004年于重慶大學(xué)獲碩士學(xué)位,現(xiàn)為工程師,主要研究方向?yàn)榻粨Q式總線、分布式計(jì)算和陣列計(jì)算技術(shù)。
Email:sun8xue@163.com
SUN Xue was born in Hechuan,Chongqing,in 1978.He