實時反射內存網絡是一種為使多個獨立的計算機進行數據共享而特別設計的共享內存系統。實時反射內存網絡在系統中的每個節點放置一個共享內存的獨立的拷貝。每個節點都有寫入數據訪問和讀取本地內存的權限。當數據寫入本地內存,FPGA 捕獲并發送數據到實時反射內存中網絡下數據寫入本地內存并送到下一節點,數據寫入本地內存并送到下一節點,直到數據回到源發送的節點才將網絡中的數據移除。
由于這種特別的硬件和一系列的節點,在極短的時間內,網絡中所有的節點都被更新,在同樣的地址有同樣的數據。本地處理器可以隨時訪問內存中的數據,而不需要以隨時訪問內存中的數據,而不需要通過網絡進行訪問。由此,每個計算機都有新的的內存數據拷貝。在 4節點的實例中,僅需要 2.1us,所有的計算機都會收到寫入實時反射內存的數據。實時反射內存卡(節點)由本地內存,PCI(或 PCIE,VME)接口,和提供計算機訪問和實時網絡內存網絡更新的仲裁邏輯組成。實時反射內存卡可以與計算機總線連接,安裝在VME,PCI/PCI-X,CPCI,PCIE 和其它標準系統中。這可以使大多部工作站和單板計算機通過實時網絡內存連接而不用考慮與背板接口的互通性。其它串行網絡連接計算機和 PLC 進行連接的地方,但它不是所有應用的解決方案。實時反射內存在實時是主要考慮因素的的系統中起到很大的作用。在需要低潛伏期,高速通迅的系統中,實時反射內存提供超高性能硬件和易用性。使用類似實時反射內存的低軟件開銷,高速,硬件驅動網絡在整個網絡和獨立的網絡節點有低的潛伏期,短潛伏時間性能對建立一個仿真的實時系統是十分重要的。
PCI5565 PCI-5565 PMC5565 VMIC5565 反射內存 反射內存卡 GE反射內存
反射內存網中的每個反射內存節點(任何5565反射內存卡)以菊花鏈的形式用光纖線互聯。第一塊卡的發送必須連接到第二塊卡的接收端,第二塊卡的發送端連接到第三塊卡的接收端,以此類推,直到再連接到第一塊卡的接收端完成一個完整的環形連接。也可以將所有節點連接到一個或多個ACC-5595反射內存HUB,每個節點的接收和發送都必須連接,如果沒有檢測到光信號或失去同步反射內存卡RFM-5565將不會發送數據包(例如光纖線已損壞)。反射內存網中每個節點的節點號必須一,節點號通過板上的撥碼開關S2進行設置,任何兩個節點不能有設置成同一個節點號,每個板卡的節點號可以在通過NODEID進行讀取顯示,節點號的順序并不重要。
主系統對反射內存卡的板載SDRAM的寫操作后,反射內內卡的硬件檢測電路將自動發起一個整個反射內存網的數據傳輸動作。這個寫操作可以是一個簡單的PIO寫或是一個DMA周期。當產生一個對SDRAM的寫操作時,RFM-5565反射內存卡自動將數據和其它相關的信息寫入到發送緩沖器中(其它相關信息包括節點號,數據地址等信息),在發送緩沖器中,發送電路檢測數據,并且將數據變成一個4到64字節長度可變的數據包。通過光纖接口發送到下一個板卡的接收端口。接收電路檢查數據包是否有錯誤,當無錯誤發生時數據被接收。接收電路解開數據包并且將數據存儲到板載的接收緩沖器。在接收緩沖器中,另一個電路將數據寫入到本地的SDRAM的和源節點相同的地址中。同時,該電路將數據同時發送到發送FIFO中,重復這個處理過程直到這個數據返回到源節點的接收端,在源節點中,接收電路檢測到數據包的NODEID和源節點的NODEID相同,因此將數據包從網絡中移除,這樣所有的節點數據都被更新了。所以計算機將數據寫入其本地網絡內存卡后的,極短時間內,網上所有計算機都可以訪問這個新數據。網絡內存卡使用簡單的讀寫方式,網絡內存網上的數據傳輸是純硬件操作,不需要考慮網絡的通信協議,軟件上只需要幾行代碼就可完成對網絡內存卡的讀、寫操作,因此它與以太網等其他傳統網絡相比具有更低的數據傳輸延遲、更快的傳輸速度,更簡單靈活的使用操作,可以滿足實時系統快速反應周期的要求,而采用其他網絡就很難滿足這種要求。
反射內存是一種通過局域網在互連的計算機間提供高效的數據傳輸的技術,強實時網絡設計人員已經越來越多地采用這種技術。反射內存實時局域網的概念十分簡單,就是設計一種網絡內存板,在分布系統中實現內存至內存的通信,并且沒有軟件開銷。每臺計算機上插一塊反射內存卡,卡上帶有雙口內存,各層軟件既可以讀也可以寫這些內存,當數據被寫入一臺機器的反射內存卡的內存中后,反射內存卡自動地通過光纖傳輸到其他連在網絡上的反射內存卡的內存里,通常,只需幾百納秒的時間延遲,所有的反射內存卡上的內存將寫入同樣的內容。而各成員在訪問數據時,只要訪問本地的反射內存卡中的內存即可
實時網絡需求
為提升計算能力,人們自然地想到研發性能更強的計算機,如天河系列等超級計算機應運而生,但超級計算機研制周期長、成本大、應用領域受限。為此,提出了集群系統概念,計算機集群系統是通過網絡將PC機或工作站連接起來組成高性能計算系統。集群系統將一個任務并行在多臺計算機上執行,組成一個實時系統。
在實時系統中,系統終結果的正確性不僅依賴于每一步計算得到的邏輯結果,而且依賴于得到結果的時刻,任務的完成時間是實時系統的決定性特征。根據實時性能的要求程度,實時系統可認為兩類,即軟實時和硬實時系統。對于軟實時系統,要求事件相應是實時的,但并不是嚴格強制的。但是,對于硬實時系統來講,每個任務都有一個處理截止事件,任務必須在規定的時間內完成,否則會影響全局任務的完成,給系統帶來不希望的破壞或者造成不可恢復的災難性后果。目前許多實時系統都采用硬實時系統,因為具有更強的實時性能。實時系統的應用需要實時互聯,構建實時網絡,完成數據在網絡節點間的實時傳輸。
實時網絡必須具備高速、可靠、可預測三個特點,重要的是通信的可預測性,可預測性是指實時網絡中各個節點之間數據傳輸的時間是確定的。隨著實時網絡應用領域的不斷擴展,目前已不僅僅局限于計算機集群系統的互聯,而是廣泛地應用在各種具有實時需求的互聯系統中,如半實物仿真、高速數據獲取等。
實時網絡發展過程中,出現過兩種設計思路:基于單一總線的多CPU共享全局內存和基于網絡的分布式內存:
相比基于單一總線的多CPU共享全局內存系統,在基于網絡的分布式內存體系中每個節點只訪問自己的本地內存,不存在內存占有沖突,由于這種方式能夠避免大量的總線仲裁控制時間而成為實時網絡的主要設計方式。
實時網絡要保證高速、可靠、可預測這三大指標,但千兆以太網、光纖通道(Fiber Channel,FC)協議等,在可預測性上很差,首先是因為通過設備驅動和軟件網絡協議的工作模式增加了額外的不確定開銷,其次是同樣存在共享沖突和碰撞的問題(如千兆以太網GBE中采用CSMA/CD載波監聽多路訪問/沖突檢測機制、FC協議采用令牌環仲裁等)進一步增加了傳輸時間的不確定性。光纖反射內存網很好的解決了上述問題。
反射內存網是基于網絡的分布式內存硬實時網絡的一種設計思想,特點:1)反射內存網硬件實現分布式RAM之間數據的傳輸、共享,整個過程具有很低的實現延遲;2)反射內存網依靠硬件實現、不需要復雜的網絡協議控制,能夠在相同的傳輸帶寬下達到更高的有效速率;3)反射內存網對數據的各種處理是通過硬件電路實現,在固定的時鐘頻率下周期工作,沒有不確定的時間開銷,確保數據處理的可預測性。
反射內存卡節點延時測試方法:
反射內存卡數據傳輸過程全部由硬件完成,在windows這種非實時操作系統下和實時vxworks操作系統下由軟件測試這種節點延時都是不可取的。
反射內存卡、,首先它是一個PCI設備,提供給用戶128MB的讀寫空間。當一節點有寫入操作時,自動通過光纖鏈路將數據同步到所有節點。這一系列傳輸寫入操作由硬件完成。兩個節點間更新的延時為100ns級。
Sdram時鐘:66MHZ
FIFO時鐘:106MHZ
下面提供兩種方式來說明或測試節點傳輸延時:
A:理論計算方式
Sdram時鐘:66MHZ
FIFO時鐘:106MHZ
在系統無數據傳輸過程是由PCI總線通過橋片PCI9656將數據寫入到SDRAM中,在寫SDRAM的同時數據,地址和控制數據打包發送至發送FIFO,這個過程是同時進行的,SERDES在接收到FIFO數據的中斷后,立即將FIFO的數據讀取至SERDES完成并串轉換并發送至光纖收發器,FIFO的讀取時間約只需要4個周期。在較短距離時,光纖傳輸的時間約為零,不予考慮。在接收端SERDES將光纖收發器數據進行并串轉換。送至接收FIFO,接收FIFO中斷本地SDRAM控制器,將數據寫入SDRAM,完成本次數據的更新過程。SDRAM時鐘周期時間為15NS左右,FIFO時鐘周期為9.4NS,
由此可以計算出理論時間 15*21+9.4*10≈405ns。
B:硬件觸發方式
由于光纖收發器數據傳輸的快速特性,由軟件來來測試時間誤差較大,本方法對兩個節點上的數據信號進行采集并測量延時。測試探頭分別測試節點A的SDRAM和節點B的SDRAM信號,發送特征數據,并在B節點等待觸發信號。由示波器看到信號延時。觸發后在節點B用軟件觀察數據是否更新到節點B,改變特征數據及觸發條件,可重復數次測特征數據與SDRAM控制信號。可以記錄延時約得出延時大小。
2.網絡內存卡帶寬測試:
網絡內存卡帶寬測試可采用本公司提供的軟件進行測試或采用RFM2G下的命令行工具測試不同數據大小包的傳輸速度。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1643文章
21967瀏覽量
614268 -
內存
+關注
關注
8文章
3109瀏覽量
75002 -
網絡
+關注
關注
14文章
7768瀏覽量
90402
發布評論請先 登錄
評論