最小化監控影響-基於多核心架構與輔助執行緒
No Thumbnail Available
Date
2007
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
軟體開發的經驗告訴我們,軟體測試並沒有辦法確保軟體完全沒有問題存在。有時候在除錯與測試階段,程式開發人員會在軟體中插入額外的程式碼(Instrumentation Code)來收集所需資訊,這意味著將對軟體的效能產生一定程度的影響。所以通常軟體業界在軟體釋出前,就會移除這些Instrumentation Code。但是,從實際的經驗來看,總是會有錯誤在龐大的測試過程中殘存下來,然而,軟體進入使用階段之後,軟體本身的偵錯機制(非例外處理)早就被移除殆盡,除了少數不影響效能的 log 。
在許多實際的應用中,就算軟體已經正是上線,持續的軟體品質監控的需求,從來沒有消失。本研究提出了SoftMon,一個利用多核心架構來運行的軟體監測工具,可以有效的降低監測所需要的代價,減少監測行為對軟體的影響,以期能在軟體釋出運作後,持續監控軟體品質。SoftMon使用了Helper Thread的概念,利用閒置的運算資源運行監測行為,有效的將監控代價轉移到Helper Thread中,並且提供簡單的語言MCML(Multi-Core Monitoring Language)給使用者來描述監控的變數與事件,完全自動化程式碼的修改過程,借此達到SoftMon對使用者軟體的透明化與模組化。因此,SoftMon可以借由減少監控代價的方式,將品質監控延續到軟體使用階段,更可以在獲得一定的軟體品質後,快速的將Instrumentation Code自軟體中抽離。所有插入Instrumentation Code的行為,都是利用MCML撰寫,再透過SoftMon來運行,所以使用者可以輕易的保有不含任何Instrumentation Code的原始碼,只要不透過SoftMon修改程式碼即可。
Description
Keywords
Hleper Thread, Multi-core, Probing