• 沒有找到結果。

透過事件驅動錯誤注入方進行故障模式分析模擬

在文檔中 中 華 大 學 (頁 58-62)

第五章 實驗環境介紹

6.3 透過事件驅動錯誤注入方進行故障模式分析模擬

第三種實驗是將我們的錯誤注入方法實際應用在故障模式分析上以此來進 行的一個簡單的應用展示。在這次實驗中我們以 50* 50 矩陣相乘和快速排序法 兩種不同的應用程式來做為我們的測試程式,而我們所要測試的傳輸模式是 Burst Read。透過此故障模式分析來得知在 Burst Read 此傳輸模式運作下系統是 否夠強韌,若不是則對此傳輸模式造成最大影響的是什麼,以此來得知若是要進 行容錯設計時我們該優先保護的項目列表。在此實驗中我們透過 50 乘 50 矩陣 相乘和快速排序法各別產生的 Burst Read Transaction 的總數中去進行亂數選 取,再更進一步從這些選出的 Burst Read 中各自爆發式傳輸次數 (Burst Length) 去進行亂數選出其中一次,最後再將以上資訊做為我們錯誤注入的啟動條件。之 後我們分別針對位址 (Address)、資料 (Data) 和每筆傳輸的大小 (AccessSize) 各自進行 100 次的錯誤注入,實驗結果如表 6.3、表 6.4、表 6.5 和表 6.6,而我 們所注入錯誤是屬於單一位元翻轉的錯誤方式。由於此實驗是以 Burst Read Transaction 為主所進行的錯誤注入實驗,所以寫入動作的位址 (Write Address) 和寫入動作的資料 (Write Data) 這兩種類型不會列入我們的測試項目進行考 量。在錯誤注入後的結果反映的部份我們主要分成五大類型: Fatal Error (FE),

Silent Data Corruption (SDC),Correct Data Incorrect Time (CD/IT)、Deadlock (DL) 和 No Effect(NE)。

1. Fatal Error (FE) :此類型所代表的事系統進入到了一個無法挽回的狀態,因 此導致系統的崩潰。此類型的錯誤會因以下幾種狀態發生:

[1] 在進行資料讀寫時所設定的位址並不存在。

[2] 系統在運作時出現一個寫入資料的指令到唯讀的裝置上。

2. Silent Data Corruption (SDC):錯誤發生並且一直存在系統上直到模擬結果出 現時才被發現。

3. Correct Data Incorrect Time (CD/IT):錯誤發生導致最後答案雖然正確但在模 擬時間上產生誤差。

4. Deadlock (DL):由於錯誤的發生導致系統無法繼續下個程序。

5. No Effect(NE):錯誤的出現並未對系統產生影響。

表 6-3 測試程式為 50 乘 50 矩陣相乘之故障模式分析的模擬結果

表 6-4 測試程式為快速排序數量為 99 之故障模式分析的模擬結果 Fault types FE SDC CD/IT DL NE HADDR fault 21% 44% 6% 1% 28%

FRDATA fault 3% 45% 0% 1% 51%

HSIZE fault 2% 19% 39% 2% 38%

Fault types FE SDC CD/IT DL NE HADDR fault 17% 1% 40% 2% 40%

FRDATA fault 3% 1% 52% 0% 44%

HSIZE fault 1% 1% 65% 0% 33%

表 6-5 測試程式為快速排序數量為 500 之故障模式分析的模擬結果

表 6-6 測試程式為快速排序數量為 3000 之故障模式分析的模擬結果

表 6-7 不同測試程式之故障模式分析模擬結果

透過以上的實驗結果我們可簡單看出即使是在同樣的系統平台之上,若是所 使用的測試程式不同,所產生的結果也將會因為程式特性的不同在故障模式分析 上所會呈現的結果也不會完全相同,如同上表的矩陣相乘和快速排序法。矩陣相 乘的部份經常會運用到之前計算過的結果來進行運算,若是前面的結果出錯時最 後結果會正確的可能性相對變低。反觀快速排序法,雖然錯誤的發生可能會對排 列的結果造成影響但是只需要再多花時間進行排序最後仍可以得到正確的答

Fault types FE SDC CD/IT DL NE HADDR fault 17% 5% 41% 2% 35%

FRDATA fault 3% 9% 38% 0% 50%

HSIZE fault 1% 11% 53% 0% 35%

Fault types FE SDC CD/IT DL NE HADDR fault 13% 28% 12% 1% 46%

FRDATA fault 3% 50% 0% 2% 45%

HSIZE fault 0% 45% 22% 0% 33%

Fault types FE SDC CD/IT DL NE

Matrix 8.7% 36% 15% 1.3% 39%

Quicksort(99) 7% 1% 52.3% 0.7% 39%

Quicksort(500) 7% 8.3% 44% 0.7% 40%

Quicksort(3000) 5.4% 41% 11.3% 1% 41.3%

Matrix+

Quicksort

7.025% 21.575% 30.65% 0.925% 39.825%

案。除此之外即使是相同特性的測試程式,在程式中所宣告的參數或是變數數量 的不同會產生的結果也會不同,如上表中快速排序的測試程式所呈現的結果。排 序數量的改變也會使最後實驗的結果有所改變。透過以上實驗我們可以得知程式 特性和變數的數量都會是影響到實驗結果的一項參數,因此在進行失敗模式分析 時是需要周詳的考慮到各種相關參數所會造成的影響才能做出正確的判斷。此部 分主要是透過我們的錯誤注入方法所進行的一個簡單的實驗展示,在此也是為了 一併驗證我們所提供的錯誤注入方法可以用來進行故障模式分析。在這之後的研 究中我們將把過這錯誤注入方法開發成自動化工具,並且針對不同的系統或應用 平台來進行更為完整的故障模式分析。

在文檔中 中 華 大 學 (頁 58-62)

相關文件