周 強,傅 余,修言彬
(北京航空航天大學 自動化科學與電氣工程學院,北京100191)
反射內存網絡通常采用光纖作為傳輸介質,每個網絡中的宿主機配置一塊節點卡,每個節點卡都有自身獨立的板載內存,并映射到宿主機內存[1,2]。每塊節點卡的板載內存又通過環形光纖網絡映射到一個虛擬的全局內存。如此能夠實現各個宿主機之間的數據交換。反射內存網絡允許采用不同的總線結構和不同操作系統的宿主機以確定的速率實時共享數據,其具有嚴格的傳輸確定性和可預測性、速度高、通信協議簡單、宿主機負載輕、軟硬件平臺適應性強、兼容性 好等突出優 點[3-5]。
現有反射內存網絡產品長期被國外產品所占據,而且存在以下缺陷:板載內存容量有待擴充;底層數據包僅4 bytes,有待優化;手工設置節點板卡的節點號。因此,有必要開發針對上述問題進行優化的PCI總線接口反射內存網絡節點卡。
同時,對于反射內存網絡節點卡的設計多采用經驗法,有必要引入形式化設計與研究方法,對節點進行理論分析。Petri網是基于圖形的形式化數學建模工具,能夠很好地刻畫系統的動態行為、分析系統的性能[6,7]。特別是可以利用隨機Petri網對節點卡進行建模,而后將模型轉化為具有馬爾可夫特性的隨機過程進行分析,進而得出相關的性能參數指標[8-11]。
反射內存網絡節點卡主要由以下部分構成:PCI總線接口模塊、鏈路層FPGA 模塊、板載內存模塊、串并/并串轉換模塊、光纖收發模塊、ID 號配置模塊、供電模塊。節點卡模塊結構如圖1所示。

圖1 反射內存卡模塊結構
PCI總線接口模塊設計選用了PCI-9054接口芯片,其工作于從模式,將宿主機33 M32bit PCI總線接口轉換為50MHz 32bits地址/數據分離C模式本地總線。鏈路層FPGA 模塊設計選用CycloneⅢ系列FPGA產品EP3C120F780C8N,構成鏈路層中邏輯鏈路控制(LLC)子層的核心組成部分。
板載SDRAM 模塊配置容量為256 MB,讀寫時鐘頻率最高應達到140 MHz以上。串并/并串轉換模塊選用千兆位級收發器芯片TLK2501,其參考時鐘頻率為106.25 MHz。光纖收發SFP 模塊選用FTLF8519P2BNL,其采用了垂直腔面發射激光器 (VCSEL),光纖接口插頭為標準LC形式,全雙工雙向傳輸,最高傳輸速率2.125Gb/s。ID號配置模塊為每塊節點板卡存儲唯一的16位識別號。
建模主要是對節點卡鏈路層和物理層的處理過程建立廣義隨機Petri網模型。對節點卡建立廣義隨機Petri網模型的方法是用庫所表示節點卡運行過程中的各個狀態,用變遷表示各個功能模塊的操作,位置和變遷之間的有向弧標識系統狀態與操作兩者之間的映射關系[12]。模型中引入了抑制弧,用來標識緩存FIFO 滿之后不可寫入的映射關系。每個時延變遷均針對所代表的操作賦予一個服從指數分布的實施時間τi(1/λi)。而λi為變遷的平均實施速率。節點卡隨機Petri網模型如圖2所示。
圖2中各庫所和變遷的含義見表1。
模型中用實心矩形表示瞬時變遷,空心矩形表示隨機時延變遷。由于節點卡鏈路層對映射數據的處理是以幀為單位進行的,因此模型中庫所中的一個標志均代表與一幀數據相關的狀態。對上述節點卡隨機Petri網進行化簡,去除瞬時變遷后的隨機Petri網模型如圖3所示。

圖2 節點卡隨機Petri網

表1 模型中庫所與變遷含義

圖3 化簡后的節點卡隨機Petri網
對化簡后的模型進行可達樹分析,得到模型的可達樹。因為可達樹同構于嵌入式馬爾科夫鏈,因此可得到模型的嵌入式馬爾科夫狀態如圖4所示。

圖4 節點卡的嵌入式馬爾科夫狀態
圖4中各個變遷的激發率見表2。

表2 變遷的激發率
從圖4中可以看出,嵌入式馬爾科夫狀態圖有17個狀態。記Π= (π0,π1,…,π16)為嵌入式馬爾科夫鏈中的穩態概率,其為一個行向量,Q= (qij)17X17為變遷的激發率轉移矩陣。

通過計算解得的穩定概率Π= (π0,π1,…,π16)=(0.1301,0.1289,0.0079,0.0361,0.0164,0.0165,0.0009,0.0011, 0.0097, 0.2664, 0.1211, 0.1215,0.0032,0.0038,0.1219,0.0067,0.0078)。
通過穩定概率Π 可以計算分析出節點卡的標記概率密度、位置中的平均標記數、子系統平均延時時間等性能指標。
在節點卡的設計中,RXFIFO、TXFIFO、FIFO1 這3個FIFO 的利用率至關重要。3 個庫所PRXFIFO、PTXFIFO、PRXFIFO1中在穩定狀態下的平均標記數珔uRXFIFO、珔uTXFIFO和珔uRXFIFO1,反應了各個FIFO 的利用率。
(1)計算標記概率密度
對 s∈S,i∈N ,令P[M(s)=i]表示位置s中包含i個標記的概率,則可從標識的穩定概率求得位置s的標記概率密度函數如下

其中,Mj∈[M0>且Mj(s)=i,P[M(PRXFIFO)=1]=π2+π8+π9+π10+π11+π14+π15+π16=0.663,P[M(PTXFIFO)=1]=π3+π6+π9+π12+π15=0.3133,P [M(PRXFIFO1)=1]=π5+π8+π14=0.0165+0.0097+0.1219=0.1481。
(2)位置中的平均標記數

子系統N1 (包括庫所PRX、PRXFIFO、PTXFIFO、PTX1、以及變遷TRX1、TRX、TRD、TTX1、TTX2)的平均延時時間,即一個標記從庫所PRX2出發再返回PRX2的平均時間,時間上也就是每個節點卡處理數據所引起的平均延時時間 (也就是平均處理時間)。
(1)首先求出子系統N1庫所集中所含有的平均標記數N


(2)計算出流入子系統的平均標記流速

(3)利用Little規則和平衡原理,子系統N1的平均延時時間

實驗中由一塊、兩塊、三塊反射內存節點卡構分別建成了環形網絡,稱為環形網絡1、環形網絡2 和環形網絡3。實驗對這3個典型網絡分別進行了測試,例如由三塊節點卡構成的環形網絡物理連接圖5所示。

圖5 三節點環形網絡配置
實驗主要測試反射內存網絡的數據更新延時時間。實驗中選取一個節點卡 (如節點1)為測試發起卡,其它節點卡為輔助卡。在測試發起卡開始發送一幀數據的時刻啟動計時器。當一幀數據經節點2和節點3返回節點1后,停止計時器,同時觸發中斷,宿主機讀取該計時器的值便可轉換為此幀數據經過整個網絡的延時時間。
測試實驗結果見表3、表4和表5。

表3 環形網絡1測試結果

表4 環形網絡2測試結果

表5 環形網絡3測試結果
從表3、表4、表5的實驗數據中可以看出:傳輸平均時間與傳輸的一幀數據量和網絡中的節點數量有關,數據量和更新延時時間呈線性關系。同時,在環形網絡中每增加一個節點,延時時間平均增加28.2ns/byte。
設計實現了一種基于PCI總線的反射內存網絡節點卡硬件和鏈路層協議,克服了傳統節點卡的缺陷。其可廣泛應用于對數據共享實時性要求高的網絡化工業過程控制領域,以及航空航天等分布式測控、仿真領域。廣義隨機Petri建模分析和實驗測試結果表明,反射內存網絡節點卡設計合理,更新數據量和更新延時時間呈線性關系,工作穩定、可靠。
[1]Chen Xin,Fan Wenhui,Yue Yingchao.A reflective memory network based runtime infrastructure[C]//International Conference on Industrial Engineering and Engineering Management,2010:2048-2051.
[2]Duan Xiaojun,Wu Chengfu,Chen Huaimin,et al.A rapid test platform of redundant flight control computer software based on RFM [C]//The 7th International Conference on Computer Science &Education,2012:403-406.
[3]ZHENG Xiaobao.Real-time infrared image generation system based on reflective memory network [J].Computer Applications,2008,28 (S2):344-359 (in Chinese). [鄭小寶.基于反射內存網的紅外圖像實時生成系統 [J].計算機應用,2008,28 (S2):344-359.]
[4]XU Qi,FANG Cheng.Realization of clock synchronization in multi-simulator based on shared-memory network [J].Fire Control & Command Control,2009,34 (11):164-167 (in Chinese).[徐琦,方澄.基于反射內存網的多飛行模擬器時間同步 [J].火力與指揮控制,2009,34 (11):164-167.]
[5]LI Hai,WU Siliang.Hardware-in-the-loop simulation system of communication satellite countermeasure based on HLA and reflective memory network [J].Journal of System Simulation,2006,18 (6):1520-1523 (in Chinese). [李海,吳嗣亮.基于HLA 和反射內存網的半實物衛星對抗仿真系統 [J].系統仿真學報,2006,18 (6):1520-1523.]
[6]CHEN Lijie,TANG Tao.Modeling of GSM-R double-level network and its reliability analysis based on stochastic petri net[J].Journal of the China Railway Society,2012,34 (3):75-81 (in Chinese).[陳黎潔,唐濤.基于隨機Petri網的GSM_R雙層網絡建模與性能分析[J].鐵道學報,2012,34 (3):75-81.]
[7]Wang Ming,Zhang Chunxi,Yi Xiaosu.Performance evaluation of IEEE 1394bserial bus with deterministic and stochastic Petri nets[J].China Communications,2013,10 (2):121-133.
[8]HE Yanxiang,SHEN Hua.Rules and implementation of converting stochastic Petri net model to Markov chain [J].Journal of Frontiers of Computer Science and Technology,2013,7(1):55-62 (in Chinese).[何炎祥,沈華.隨機Petri網模型到馬爾可夫鏈的轉換規則與實現 [J].計算機科學與探索,2013,7 (1):55-62.]
[9]LEI Ge,CHEN Xin.Performance analysis based on generalized stochastic Petri net [J].Journal of Beijing Information Science and Technology University,2013,28 (6):38-41 (in Chinese).[雷舸,陳昕.廣義隨機Petri網及性能分析 [J].北京信息科技大學學報,2013,28 (6):38-41.]
[10]FANG Dan,LU Huiqing,LIAN Guangyao,et al.Parallel ATS performance analysis based on generalized stochastic Petri nets [J].Computer Measurement & Control,2012,20(3):651-653 (in Chinese). [方丹,盧慧卿,連光耀,等.基于廣義隨機Petri網的并行自動測試系統性能分析研究[J].計算機測量與控制,2012,20 (3):651-653.]
[11]WANG Wenhao,WU Yong,ZHANG Jiandong.Fibre channel bus transport model based on the SPN [J].Fire Control&Command Control,2012,37 (4):185-187 (in Chinese).[王文豪,吳勇,張建東.隨機Petri網的光纖通道總線傳輸模型 [J].火力與指揮控制,2012,37 (4):185-187.]
[12]ZHAO Tao,ZHAN Huiqin,GU Jun.Modeling and performance analysis of Petri nets of multi-channel pressure measurement system [J].Measurement & Control Technology,2012,31 (6):87-90 (in Chinese). [趙濤,詹惠琴,古軍.多通道壓力測試系統Petri網建模及其性能分析 [J].測控技術,2012,31 (6):87-90.]