WCET是計算機術語,是英文Worst-case Execution Time(最壞執行時間)的簡寫。
基本介紹
- 中文名:最壞執行時間
- 外文名:WCET
- 全稱:Worst-case Execution Time
- 類型:計算機術語
- 分析:最壞執行時間(WCET)分析
- 特點:特定的硬體平台
簡介,結構化分析方法,研究小組,WCET工具挑戰,
簡介
結構化分析方法
一般在兩個層面上進行實時分析:
1. 最壞執行時間(WCET)分析
2. 高級/系統級分析
WCET分析考慮一個獨立任務的執行時間。在這個層面上,忽略和考慮的任務無關的活動,認為任務永遠不會阻塞或者中斷(阻塞被調度系統處理)。
在高級層面,通過WCET分析對每一個任務或者程式的分析結果,得到系統的總體性能。多任務通常被假設為運行在一個單處理器上進行資源競爭,這樣當任務訪問資源的時候有可能被阻塞。最常見的分析模式就是調度分析:例如,固定優先權分析或者單調速率調度分析。不可入性或者調度分析精度依靠WCET分析的精度,如果WCET數值是悲觀的(在一個運行系統中比可能出現的任何執行時間都大)那么調度程式會為這些任務強制分配比實際需要更多的時間。
一個靜態的WCET分析工具,應該能夠在高級層面工作以確定程式的任務的結構,可以分析一段原始碼或者拆解的二級制執行檔。並且它還應能夠使用任務執行所用實時硬體的時間信息包括所有特徵工作在低級層面上。結合這兩種分析,分析工具應該給出在給定平台上執行一個給定任務對時間要求的上界。
在低級層面上,由於存在可以改善處理器平均性能的結構特徵(例如:指令/數據快取,分支預測和指令管道等),靜態WCET分析變的複雜。如果在分析的時間模型中顧及這些現代的結構特徵,是有可能決定WCET的緊邊界的。
在這個研究領域,從上世紀80年代後期的研究中靜態分析的方法占有統治地位,除此之外,最近動力的或者基於測量的方法在這個領域也開始使用。在這個分支的研究人員引用的動機是計算機硬體(尤其是CPU)已經達到了一個非常難以建模的複雜性。尤其是建模過程中可以引入來自多個來源的錯誤:晶片設計中的錯誤,缺乏檔案、檔案中的錯誤,模型建立的錯誤等。所有這些錯誤都會導致模型預測的結果和在實際硬體的觀測中得到的結果不同。因此證明機構例如歐洲航空安全局(European Aviation Safety Agency)主要使用模型驗證套件。在另一方面,基於測試的方法同時也被認為存在潛在的不準確性,因為它們依賴於觀察測試中的最壞情況結果。基於測試的方法通常嘗試測量短代碼片段(基於塊的片段)的執行時間然後使用靜態分析方法計算代碼在全局中的最壞情況的表現。這是一個基本塊的WCET容易測量的理念,但是創建一個在每個塊按照最壞情況的路徑練習的測試案例是極其困難的。此外,這種構造在執行狀態的執行時間基礎會導致搜尋空間的爆炸。
從歷史角度來看,產業也對的端到端的測量加入了軟實時系統安全邊緣,或者在簡單硬體上對安全關鍵系統進行手工靜態分析。最近產業已經對計算WCET的最動畫方法的研究表示了更大的興趣。在手工分析中複雜性正在逐漸的變成一個大問題,並且安全邊緣已經成為軟實時系統的一個責任:它們太大量增加了設備的成本,或者太緊導致設備失敗。
研究小組
最活躍的研究小組在瑞典(Mälardalen, Linköping)、德國(Saarbrücken, Dortmund, Braunschweig)、法國(Toulouse, Saclay, Rennes)、澳大利亞(Vienna)、美國(York)、義大利(Bologna)、西班牙(Cantabria, Valencia)和瑞士(Zurich)。最近,在歐洲以外的地區代碼級時間分析的話題引起了研究小組的注意,注意在美國(NorthCarolina, Florida)、加拿大、澳大利亞和新加坡。