摘要:針對POOSL不支持定量分析系統的吞吐量、時延等長期樣本均值性能指標的缺點,引入再生周期技術擴展了POOSL的構件庫。這對在系統早期設計階段確定可行的參數設置具有重要的應用價值。
關鍵詞:面向對象的并行描述語言; 長期樣本均值; 再生周期; 性能分析
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2007)08-0109-03
POOSL(parallel objectoriented specification language)是荷蘭Eindhoven大學研究和設計的面向對象的形式化建模語言[1]。它是專門為復雜實時軟/硬件系統開發而設計的,該語言基于數學定義的語義使得它能夠精確地描述系統并發、分布、實時特性[2]。它已經被證明是一種非常高效的分析和評估工業級系統的建模語言,并已成功地建模分析了以下幾種系統:IBMZurich research laboratory的packet switch system[3]、network processor[4]、DECT wireless protocol[5]。
POOSL的顯著特點[1,2]有:基于離散馬爾科夫鏈,能夠有效地描述系統并發、分布和實時的行為;執行速度快,能夠以直觀的方式描述大型工業級系統;能夠再現模擬執行結果,即執行結果具有確定性和惟一性。
在系統的建模和性能分析中,經常需要定量分析和評估系統吞吐量、時延和緩存平均利用率等長期樣本均值性能指標,但POOSL本身不支持分析這類指標。
1POOSL及建模工具
1.1 POOSL
POOSL基于古典的進程代數,很適合描述復雜系統的實時行為和驗證其功能正確性。POOSL由數據類、處理器類以及聚類三部分組成。
1.2建模工具SHESim和Rotalumis
為了在早期設計階段開發出POOSL可執行模型,荷蘭Eindhoven大學開發了交互式建模工具SHESim和高速執行引擎Rotalumis[1,6]。SHESim能夠生成POOSL的可執行抽象模型,能夠以可視化的方式建立和修改POOSL數據類、處理器類及聚類。通過SHESim工具也可以方便地調試模型,借助模擬執行中產生的交互圖表可以分析消息交互情況,并動態驗證模型的正確性。Rotalumis能夠快速模擬執行大型的工業級系統模型,從而能夠迅速獲取SHESim所建模型的執行結果。
1.3POOSL的特點
POOSL模型能夠被轉換為離散馬爾科夫鏈。如果轉換后的離散馬爾科夫鏈的狀態空間不大,則可以用數學方法分析計算由它確定的性能指標。但是由于工業級系統非常復雜,狀態空間極其龐大,實際應用中采用模擬方式進行分析。模擬執行的結果只有達到足夠精度時才有實際意義,在使用POOSL進行系統的建模和性能分析中,為了準確地分析性能指標的精度,并使模擬執行過程在達到預先給定的精度時自動終止,采用置信區間技術。
通常應用該技術分析計算性能指標的置信區間要求所分析的隨機變量是獨立同分布的,但在分析系統吞吐量、時延、緩存平均利用率等長期樣本均值性能指標時,這個屬性通常得不到滿足[2]。為了解決這個問題,應用再生周期技術分析計算這類性能指標,并擴展了POOSL的構件庫。
2再生周期技術
應用上述傳統的置信區間技術分析計算性能指標的精度要求r(X1),r(X2),…,r(Xn)是獨立同分布的隨機變量。但是在分析計算長期樣本均值性能指標時,這個屬性通常得不到滿足[2]。本文采用再生周期技術計算長期樣本均值性能指標。
3POOSL構件庫的擴展及應用
3.1POOSL構件庫的擴展
為了在嵌入式系統建模時重復使用,建立了典型的功能構件類庫、資源構件類庫以及性能評價類庫。嵌入式系統功能構件類庫(進程類和聚類)包括任務調度類、隊列類、緩沖器類、信息通道類等。嵌入式資源構件類庫(進程類和聚類)包括CPU處理器、存儲器、總線、I/O設備等。將再生周期技術應用于實際的POOSL建模和性能分析中,建立了一個可量化的性能評價類庫(數據類)。為了評估一些不同性質的系統性能,如反映被設計系統的時延、抖動、吞吐量、信道丟包率、CPU利用率等,構造了多個典型的性能分析數據類,包括長期樣本均值類、長期時間均值類和長期速率類,分別用于計算時延、緩存平均利用率、吞吐量等性能指標。另外還包括一些常用的類,如normal(正態分布)、uniform(平均分布)等。
在計算過程中,首先設定需要達到的置信度和相對錯誤ε值;模型執行過程中在每個時間點采樣計算各項性能指標,同時計算置信區間和相對錯誤。若相對錯誤滿足需要,則模擬執行自動終止,并輸出性能指標的值。在多次采樣過程中,需要反復調用addSample(reward:real,renewal:boolean)函數計算性能指標值及置信區間。它是實現再生周期技術的主要實現函數,下面給出該函數的執行過程。
3.2應用實例
在POOSL模型模擬執行過程中應用再生周期技術分析計算長期樣本均值指標的具體方法是根據中心極限定理,通過多次模擬估計性能指標值及其置信區間,同時計算相對錯誤;當相對錯誤小于預先給定的值時,該性能指標值就達到要求的精度。
用擴展后的POOSL對滑動窗口協議進行性能分析,如吞吐量指標的計算。吞吐量是個長期速率類指標,需要應用式(11)計算其值。它的計算過程為:首先設定求取該性能指標的置信度為0.95和相對錯誤ε;當數據鏈路層發送一個數據后,調用addSample(reward:real,renewal:boolean)采樣計算該時間點的吞吐量大小;同時計算其置信區間和相對錯誤;若相對錯誤滿足需要(即|μ-μ/μ|≤ε),則模擬執行自動終止,并輸出吞吐量的值。
4結束語
POOSL是一種在系統建模和性能分析中應用廣泛的建模語言。但POOSL本身不提供如吞吐量、時延等長期均值類指標的分析和計算,同時為了解決無法利用傳統的置信區間技術分析長期樣本均值性能指標的置信區間和精度的問題,引入了再生周期技術,并擴展了POOSL的性能分析類庫。分析表明,通過對POOSL建立擴展庫的方式可以拓展它在系統性能分析中的應用,對在系統的早期設計階段確定可行的參數設置具有重要的應用價值。
參考文獻:
[1]GEILEN M C W, VOETEN J P M, van der PUTTEN P H A, et al. Objectoriented modeling and specification using SHE[J]. Journal of Computer Languages, 2001,27(3):19-38.
[2]THEELEN B D. Performance modeling for systemlevel design[D]. [S.l.]: Eindhoven University of Technology, 2004:1116.
[3]HUANG Zhangqin, VOETEN J P M, THEELEN B D. Modeling and simulation of a packet switch system using POOSL[C]//Proc of PROGRESS’02.Utrecht:[s.n.], 2002:18-27.
[4]THEELEN B D, VOETEN J P M, KRAMER R D J. Performance modeling of a network processor using POOSL[J]. Journal of Computer Networks, 2003,41(5):667-684.
[5]HUANG Zhuangqin, VOETEN J P M, VENTEVOGEL A,et al. Performance modeling of the DCET wireless protocol[C]//Proc of PROGRESS’03 on Embedded Systems.Netherland:[s.n.], 2003:115-221.
[6]van BOKHOVEN L J. Constructive tool design for formal languages: from semantics to excuting models[D].[S.l.]: Eindhoven University of Technology, 2002:20-37.
[7]MILNER R. Comunication and concurrency[M]. California: Englewood Cliffs, 1999:463-467.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”