一、光纖網(wǎng)簡介
在半實(shí)物仿真系統(tǒng)等實(shí)時系統(tǒng)中,要求系統(tǒng)各部分之間的數(shù)據(jù)傳輸具有很高的實(shí)時性,而傳統(tǒng)的網(wǎng)絡(luò)技術(shù),如以太網(wǎng)、FDDI等在實(shí)時應(yīng)用中存在以下缺點(diǎn):(1)數(shù)據(jù)傳輸速率不高;(2)數(shù)據(jù)傳輸實(shí)時性差,傳輸延遲較大且延遲具有不可預(yù)測性;(3)網(wǎng)絡(luò)通信需要借助多種網(wǎng)絡(luò)協(xié)議來完成,通訊效率較低。
實(shí)時光纖反射內(nèi)存網(wǎng)(Reflective memory network簡稱實(shí)時光纖網(wǎng))是一種基于高速光纖網(wǎng)絡(luò)共享存儲技術(shù)的實(shí)時網(wǎng)絡(luò)。與傳統(tǒng)的聯(lián)網(wǎng)技術(shù)相比,它除了具有嚴(yán)格的傳輸確定性和可預(yù)測性外,還具有數(shù)據(jù)傳輸速度高、通信協(xié)議簡單、宿主機(jī)負(fù)載輕、軟硬件平臺適應(yīng)性強(qiáng)等特點(diǎn)。
實(shí)時光纖反射內(nèi)存網(wǎng)(簡稱實(shí)時光纖網(wǎng))由插在計算機(jī)內(nèi)的光纖接口板通過光纖線連接在一起,形成一個環(huán)網(wǎng)(如圖1),每個節(jié)點(diǎn)的光纖接口板的板載存儲器都有其他節(jié)點(diǎn)的共享數(shù)據(jù)拷貝,在邏輯上全網(wǎng)的所有節(jié)點(diǎn)共享同一塊存儲器,數(shù)據(jù)一點(diǎn)寫入,多點(diǎn)同時更新,通過這種方式實(shí)現(xiàn)了數(shù)據(jù)的高速傳輸與共享。
二、實(shí)時網(wǎng)絡(luò)需求
為提升計算能力,人們自然地想到研發(fā)性能更強(qiáng)的計算機(jī),如天河系列等超級計算機(jī)應(yīng)運(yùn)而生,但超級計算機(jī)研制周期長、成本大、應(yīng)用領(lǐng)域受限。為此,提出了集群系統(tǒng)概念,計算機(jī)集群系統(tǒng)是通過網(wǎng)絡(luò)將PC機(jī)或工作站連接起來組成高性能計算系統(tǒng)。集群系統(tǒng)將一個任務(wù)并行在多臺計算機(jī)上執(zhí)行,組成一個實(shí)時系統(tǒng)。
在實(shí)時系統(tǒng)中,系統(tǒng)最終結(jié)果的正確性不僅依賴于每一步計算得到的邏輯結(jié)果,而且依賴于得到結(jié)果的時刻,任務(wù)的完成時間是實(shí)時系統(tǒng)的決定性特征。根據(jù)實(shí)時性能的要求程度,實(shí)時系統(tǒng)可認(rèn)為兩類,即軟實(shí)時和硬實(shí)時系統(tǒng)。對于軟實(shí)時系統(tǒng),要求事件相應(yīng)是實(shí)時的,但并不是嚴(yán)格強(qiáng)制的。但是,對于硬實(shí)時系統(tǒng)來講,每個任務(wù)都有一個處理截止事件,任務(wù)必須在規(guī)定的時間內(nèi)完成,否則會影響全局任務(wù)的完成,給系統(tǒng)帶來不希望的破壞或者造成不可恢復(fù)的災(zāi)難性后果。目前許多實(shí)時系統(tǒng)都采用硬實(shí)時系統(tǒng),因?yàn)榫哂懈鼜?qiáng)的實(shí)時性能。實(shí)時系統(tǒng)的應(yīng)用需要實(shí)時互聯(lián),構(gòu)建實(shí)時網(wǎng)絡(luò),完成數(shù)據(jù)在網(wǎng)絡(luò)節(jié)點(diǎn)間的實(shí)時傳輸。
實(shí)時網(wǎng)絡(luò)必須具備高速、可靠、可預(yù)測三個特點(diǎn),最重要的是通信的可預(yù)測性,可預(yù)測性是指實(shí)時網(wǎng)絡(luò)中各個節(jié)點(diǎn)之間數(shù)據(jù)傳輸?shù)臅r間是確定的。隨著實(shí)時網(wǎng)絡(luò)應(yīng)用領(lǐng)域的不斷擴(kuò)展,目前已不僅僅局限于計算機(jī)集群系統(tǒng)的互聯(lián),而是廣泛地應(yīng)用在各種具有實(shí)時需求的互聯(lián)系統(tǒng)中,如半實(shí)物仿真、高速數(shù)據(jù)獲取等。
實(shí)時網(wǎng)絡(luò)發(fā)展過程中,出現(xiàn)過兩種設(shè)計思路:基于單一總線的多CPU共享全局內(nèi)存和基于網(wǎng)絡(luò)的分布式內(nèi)存:
相比基于單一總線的多CPU共享全局內(nèi)存系統(tǒng),在基于網(wǎng)絡(luò)的分布式內(nèi)存體系中每個節(jié)點(diǎn)只訪問自己的本地內(nèi)存,不存在內(nèi)存占有沖突,由于這種方式能夠避免大量的總線仲裁控制時間而成為實(shí)時網(wǎng)絡(luò)的主要設(shè)計方式。
實(shí)時網(wǎng)絡(luò)要保證高速、可靠、可預(yù)測這三大指標(biāo),但千兆以太網(wǎng)、光纖通道(Fiber Channel,FC)協(xié)議等,在可預(yù)測性上很差,首先是因?yàn)橥ㄟ^設(shè)備驅(qū)動和軟件網(wǎng)絡(luò)協(xié)議的工作模式增加了額外的不確定開銷,其次是同樣存在共享沖突和碰撞的問題(如千兆以太網(wǎng)GBE中采用CSMA/CD載波監(jiān)聽多路訪問/沖突檢測機(jī)制、FC協(xié)議采用令牌環(huán)仲裁等)進(jìn)一步增加了傳輸時間的不確定性。光纖反射內(nèi)存網(wǎng)很好的解決了上述問題。
反射內(nèi)存網(wǎng)是基于網(wǎng)絡(luò)的分布式內(nèi)存硬實(shí)時網(wǎng)絡(luò)的一種設(shè)計思想,特點(diǎn):1)反射內(nèi)存網(wǎng)硬件實(shí)現(xiàn)分布式RAM之間數(shù)據(jù)的傳輸、共享,整個過程具有很低的實(shí)現(xiàn)延遲;2)反射內(nèi)存網(wǎng)依靠硬件實(shí)現(xiàn)、不需要復(fù)雜的網(wǎng)絡(luò)協(xié)議控制,能夠在相同的傳輸帶寬下達(dá)到更高的有效速率;3)反射內(nèi)存網(wǎng)對數(shù)據(jù)的各種處理是通過硬件電路實(shí)現(xiàn),在固定的時鐘頻率下周期工作,沒有不確定的時間開銷,確保數(shù)據(jù)處理的可預(yù)測性。
三、光纖反射內(nèi)存網(wǎng)與以太網(wǎng)比較
1)實(shí)時性
反射內(nèi)存(RFM)是基于環(huán)狀/星狀的,高速復(fù)制的共享內(nèi)存網(wǎng)絡(luò)。它支持不同總線結(jié)構(gòu)的多計算機(jī)系統(tǒng),并且可以使用不同操作系統(tǒng)來共享高速的、穩(wěn)定速率的實(shí)時數(shù)據(jù)
基于反射內(nèi)存構(gòu)建的實(shí)時網(wǎng)絡(luò)是一種強(qiáng)實(shí)時高帶寬局域網(wǎng)技術(shù),在互連的計算機(jī)間提供高效的數(shù)據(jù)傳輸。反射內(nèi)存網(wǎng)在所有互連的節(jié)點(diǎn)中虛擬出一段全局共享的網(wǎng)絡(luò)內(nèi)存,在分布系統(tǒng)中實(shí)現(xiàn)內(nèi)存至內(nèi)存的通信,因此應(yīng)用程序沒有軟件開銷。每臺結(jié)點(diǎn)機(jī)上插一塊反射內(nèi)存卡,卡上帶有雙端口內(nèi)存。每個節(jié)點(diǎn)機(jī)的各層應(yīng)用軟件可以直接讀寫反射內(nèi)存卡上內(nèi)存。當(dāng)數(shù)據(jù)
網(wǎng)絡(luò)內(nèi)存網(wǎng)主要是由網(wǎng)絡(luò)內(nèi)存卡通過光纖連接而成的,網(wǎng)絡(luò)上的每臺計算機(jī)插入一塊。網(wǎng)絡(luò)內(nèi)存卡形成各個節(jié)點(diǎn),而每個節(jié)點(diǎn)的網(wǎng)絡(luò)內(nèi)存卡上的存儲器中都有網(wǎng)絡(luò)內(nèi)存網(wǎng)上其它節(jié)點(diǎn)的共享數(shù)據(jù)拷貝。網(wǎng)絡(luò)內(nèi)存卡可以插在多種總線的主板上,如VME、PCI、CompactPCI、PMC接口等。每個網(wǎng)絡(luò)內(nèi)存卡都占有一段內(nèi)存地址,網(wǎng)上任何計算機(jī)向本地網(wǎng)絡(luò)內(nèi)存卡寫數(shù)據(jù)時,該數(shù)據(jù)和相應(yīng)內(nèi)存地址被廣播到網(wǎng)上所有其他網(wǎng)絡(luò)內(nèi)存卡并存儲在相同的位置。
所以計算機(jī)將數(shù)據(jù)寫入其本地網(wǎng)絡(luò)內(nèi)存卡后的,極短時間內(nèi),網(wǎng)上所有計算機(jī)都可以訪問這個新數(shù)據(jù)。網(wǎng)絡(luò)內(nèi)存卡使用簡單的讀寫方式,網(wǎng)絡(luò)內(nèi)存網(wǎng)上的數(shù)據(jù)傳輸是純硬件操作,不需要考慮網(wǎng)絡(luò)的通信協(xié)議,軟件上只需要幾行代碼就可完成對網(wǎng)絡(luò)內(nèi)存卡的讀、寫操作,因此它與以太網(wǎng)等其他傳統(tǒng)網(wǎng)絡(luò)相比具有更低的數(shù)據(jù)傳輸延遲、更快的傳輸速度,更簡單靈活的使用操作,可以滿足實(shí)時系統(tǒng)快速反應(yīng)周期的要求,而采用其他網(wǎng)絡(luò)就很難滿足這種要求。
反射內(nèi)存是一種通過局域網(wǎng)在互連的計算機(jī)間提供高效的數(shù)據(jù)傳輸?shù)募夹g(shù),強(qiáng)實(shí)時網(wǎng)絡(luò)設(shè)計人員已經(jīng)越來越多地采用這種技術(shù)。反射內(nèi)存實(shí)時局域網(wǎng)的概念十分簡單,就是設(shè)計一種網(wǎng)絡(luò)內(nèi)存板,在分布系統(tǒng)中實(shí)現(xiàn)內(nèi)存至內(nèi)存的通信,并且沒有軟件開銷。每臺計算機(jī)上插一塊反射內(nèi)存卡,卡上帶有雙口內(nèi)存,各層軟件既可以讀也可以寫這些內(nèi)存,當(dāng)數(shù)據(jù)被寫入一臺機(jī)器的反射內(nèi)存卡的內(nèi)存中后,反射內(nèi)存卡自動地通過光纖傳輸?shù)狡渌B在網(wǎng)絡(luò)上的反射內(nèi)存卡的內(nèi)存里,通常,只需幾百納秒的時間延遲,所有的反射內(nèi)存卡上的內(nèi)存將寫入同樣的內(nèi)容。而各成員在訪問數(shù)據(jù)時,只要訪問本地的反射內(nèi)存卡中的內(nèi)存即可。VMIC反射內(nèi)存具有以下主要特點(diǎn):
(1)高速度和高性能
傳輸速度達(dá)到174M字節(jié)/秒。使用光纖,可以連接更多節(jié)點(diǎn)(*到256個節(jié)點(diǎn)),具有很高的抗*能力。測試結(jié)果表明,從數(shù)據(jù)寫入RAM到傳到另一個節(jié)點(diǎn)的反射內(nèi)存卡上,只有不到400納秒的時延。
(2)使用方便
反射內(nèi)存卡通過向每個節(jié)點(diǎn)機(jī)提供一套相同的數(shù)據(jù)備份使得各節(jié)點(diǎn)可以并發(fā)的訪問相同的內(nèi)容在訪問反射內(nèi)存卡的內(nèi)存時與訪問自身的內(nèi)存沒有差別。各節(jié)點(diǎn)間數(shù)據(jù)一致性是由反射內(nèi)存卡保證,對應(yīng)用軟件是透明的。安裝簡單,將反射內(nèi)存卡插在主板一個可用槽口上,再將各臺主機(jī)通過光纖網(wǎng)或扁平數(shù)據(jù)線連在一起即可。
(3)獨(dú)立于操作系統(tǒng)和處理機(jī)
反射內(nèi)存卡可以VME、PCI、PMC、Compact PCI、Multibus I等多種總線上使用,可以將ALPHA、Power PC、Macintosh、奔騰等計算機(jī)通過反射內(nèi)存卡實(shí)時網(wǎng)絡(luò)連接在一起,組成一個集群系統(tǒng)。
(4)確定的數(shù)據(jù)傳輸時間
在反射內(nèi)存卡中,當(dāng)數(shù)據(jù)被寫入本地的反射內(nèi)存卡板的內(nèi)存中時,就被同時傳輸?shù)狡渌噙B的計算機(jī)上,沒有軟件延遲,硬件延遲也非常小。光纖反射內(nèi)存卡在節(jié)點(diǎn)間傳輸數(shù)據(jù)時只需400納秒。這種確定的時間延遲為設(shè)計實(shí)時應(yīng)用提供了有效的保證。
(5)經(jīng)濟(jì)、高效
反射內(nèi)存卡的數(shù)據(jù)傳輸速率大,沒有以太網(wǎng)那樣要多層協(xié)議。其次,反射內(nèi)存卡使用簡單,不需要開發(fā)額外通訊軟件,利于提高系統(tǒng)的可靠性,也節(jié)省了軟件的開發(fā)費(fèi)用。
基于反射內(nèi)存實(shí)時網(wǎng)的實(shí)現(xiàn)機(jī)制
反射內(nèi)存卡是一組雙口內(nèi)存板。當(dāng)數(shù)據(jù)存儲到反射內(nèi)存卡時,板上的高速邏輯會自動將此數(shù)據(jù)連同地址送到網(wǎng)上的其它反射內(nèi)存卡板上,數(shù)據(jù)傳遞完全由硬件驅(qū)動,不需要CPU干預(yù),結(jié)果網(wǎng)上下一節(jié)點(diǎn)在400納秒內(nèi)就會在相同地址處有相同數(shù)據(jù)。反射內(nèi)存卡可看成是由網(wǎng)上所有節(jié)點(diǎn)共享的單元內(nèi)存卡,不存在訪問限制與仲裁,每個節(jié)點(diǎn)就像訪問本地內(nèi)存一樣,實(shí)現(xiàn)了節(jié)點(diǎn)間的數(shù)據(jù)共享。
(1)數(shù)據(jù)傳輸方式
的反射內(nèi)存卡*可以連接256個互相獨(dú)立的節(jié)點(diǎn),共享內(nèi)存的*量可以到128M字節(jié),數(shù)據(jù)傳輸速度可達(dá)174M/秒、節(jié)點(diǎn)間距離可以到10KM。反射內(nèi)存卡支持中斷,通過中斷機(jī)制可以實(shí)現(xiàn)節(jié)點(diǎn)機(jī)之間的通訊同步。
(2)使用中斷實(shí)現(xiàn)同步
VMIC反射內(nèi)存卡支持用中斷方式通知節(jié)點(diǎn)接收數(shù)據(jù),當(dāng)數(shù)據(jù)被送到某節(jié)點(diǎn)時,可以通過中斷告訴該節(jié)點(diǎn)。反射內(nèi)存卡提供了三個中斷,用戶可以定義這些中斷的優(yōu)先級、中斷相量及具體功能。
(3)錯誤管理技術(shù)
反射內(nèi)存卡有錯誤監(jiān)測和報告的功能,通過對數(shù)據(jù)的奇偶校驗(yàn)位的檢查,可以發(fā)現(xiàn)數(shù)據(jù)是否有錯。反射內(nèi)存卡提供冗余傳輸模式,即每次傳輸數(shù)據(jù)時都傳兩份,當(dāng)*份出錯時,使用第二