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

基於程式相態特性的異質系統效能分析

Characterization of Program Phases for Heterogeneous Systems with Virtual Platforms

指導教授 : 洪士灝
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


面對不熟悉的程式時,程式行為分析工具扮演著重要的角色。面對複雜的程式,能夠針對程式各段不同的行為做出分析,也成為重要的課題。先前的研究聚焦在分析程式的各個函式或是迴圈,然而這樣的分析忽略了在函式及迴圈的內部也存在著不同的行為。 在這份研究中,我們使用程式相態判別(Program Phase Detection)的技術做為將程式切分的依據,並建立了以此為基礎的分析工具。更進一步,我們藉由機器學習預測每個程式相態的GPU友善度,驗證了程式相態在某些高階特徵上確實存在群聚效果,其預測準確度為94%。最後我們藉由實際的例子,說明以程式相態為基礎的分析工具確實可以偵測出函式及迴圈內部的不同行為。

並列摘要


When we first met an unfamiliar program, the profiling tool plays an important role in understanding program behavior. As software applications become more and more complicated, to profile each section with different behavior in the program is crucial. Previous studies focus on profiling each function or loop in the program, however, which might ignore the fact that different behaviors happen inside a loop or a function. In this study, we use program phase detection to partition the program and build up a profiling tool based on it. Furthermore, we verified the grouping effect of program phases on some high-level features by predicting GPU friendliness of each program phase with machine learning model. The accuracy of prediction comes to 94%. At last, we take real applications as test cases, showing that the profiling tool based on program phase detection is able to detect behavior changing inside a loop or a function.

參考文獻


[1] Intel vtune performance analyzer. https://software.intel.com/en-us/intel-vtune-amplifier-xe.
[7] C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J.Reddi, and K. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In ACM Sigplan Notices, volume 40, pages 190–200. ACM, 2005.
[10] E. Perelman, G. Hamerly, and B. Calder. Picking statistically valid and early simulation points. In Parallel Architectures and Compilation Techniques, 2003. PACT 2003. Proceedings. 12th International Conference on, pages 244–255. IEEE, 2003.
[12] Y. Sato, Y. Inoguchi, and T. Nakamura. On-the-fly detection of precise loop nests across procedures on a dynamic binary translation system. In Proceedings of the 8th ACM International Conference on Computing Frontiers, page 25. ACM, 2011.
[14] T. Sherwood, E. Perelman, G. Hamerly, and B. Calder. Automatically characterizing large scale program behavior. In ACM SIGARCH Computer Architecture News, volume 30, pages 45–57. ACM, 2002.

延伸閱讀