透過您的圖書館登入
IP:3.144.86.138
  • 學位論文

多執行緒程式在多核處理器之自動化相位偵測與分類工具

A Toolset for Automatic Phase Detection and Characterization for Multi-threaded Applications on Chip Multiprocessors

指導教授 : 楊佳玲

摘要


週期精確的架構模擬在計算機結構的研究裡扮演了重要的角色。它允許計算機架構研究者在不同的計算機結構中評估程式的行為及效能表現。然而,週期精確軟體模擬器,其模擬速度相當緩慢,完整模擬一個單核心程式就需花費數週至數月的時間。隨著多核心處理器的普及化,模擬多核心處理器架構需同時模擬許多處理器及其周邊架構,其模擬速度更加緩慢,所以改善多核心系統模擬器的效能變得極為重要。 過去的研究中已知程式裡存在重複出現的程式行為,這些重複出現的行為能被利用來減少程式模擬的時間。取樣模擬是一種利用程式中重複行為來減少程式模擬時間的技術,它把程式中相似行為的區間聚集成相位,相位是由相似行為的程式區間組成的集合,取樣模擬藉由只週期精確模擬程式中每一個相位裡具有代表性的區間來減少程式模擬的時間,這些具有代表性的區間稱為程式的特徵點。傳統在單一執行緒的程式中,程式碼簽章被利用來偵測程式中的相位。然而對於平行程式,程式的行為並不只受執行的指令影響,執行緒間的互動也會影響程式的效能行為表現。 在本論文中,我們深入了解取樣模擬的技術,並基於此技術提出一個能加速多核心系統模擬的機制。我們提出了一個能紀錄執行緒間共享資源競爭情形且獨立於計算機架構的相位偵測方法。透過只採計特徵點的程式行為與程式完整執行的實驗結果比較,我們設計的方法能有效幫助傳統的程式碼簽章方法,在三台不同架構的實驗機器上,其平均錯誤率相較程式碼簽章的方法減少了22%,而平均錯誤率為2.61%。 我們還開發了一個實用的工具,AACS (Application Annotation and Characterization System)。AACS提供了快速程式行為觀察的功能,它能幫助使用者了解程式在多核心架構下之行為,而且它能自動利用我們提出的方法產生出使用者選定之目標程式的特徵點,此特徵點能被利用來加速多執行緒程式在多核心處理器系統之模擬。

參考文獻


[21] H. Patil, R. Cohn, M. Charney, R. Kapoor, A. Sun, and A. Karunanidhi. Pinpointing representative portions of large intel itanium programs with dynamic instrumentation. In Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture, MICRO 37, pages 81–92, Washington, DC, USA, 2004. IEEE Computer Society.
[4] R. Balasubramonian, D. Albones, A. Buyuktosunoglu, and S. Dwarkadas. Memory hierarchy reconfiguration for energy and performance in general-purpose processor architectures. In Microarchitecture, 2000. MICRO-33. Proceedings. 33rd Annual IEEE/ACM International Symposium on, pages 245 –257, 2000.
[11] E. Duesterwald, C. Cascaval, and S. Dwarkadas. Characterizing and predicting program behavior and its variability. In Parallel Architectures and Compilation Techniques, 2003. PACT 2003. Proceedings. 12th International Conference on, pages 220 – 231, sept.-1 oct. 2003.
[12] S. Eranian. Perfmon2: A flexible performance monitoring interface for linux.
[15] C. Isci. Phase characterization for power: Evaluating control-flow-based and event-counter-based techniques.

延伸閱讀