高级检索

    利用动态二进制翻译加速应用程序行为特征分析

    Accelerating Program Behavior Analysis with Dynamic Binary Translation

    • 摘要: 应用程序运行时典型行为特征分析的一种重要方法是SimPoint,但是为SimPoint生成基本块向量剖析(basic block vector profile, BBV profile)文件非常耗时.首先提出了一个利用动态二进制翻译技术生成BBV profile的通用框架DBT-BBV,然后详细分析了几种降低开销的优化技术,最后基于DBT-BBV和提出的优化技术设计实现了一个高效的BBV Profile收集工具QPoint.利用SPEC2006测试程序集评估了所提出的优化技术和QPoint的性能和开销.与现有工具相比,QPoint有两个优势:①QPoint的性能高于现有工具,在普通PC机上最高速度为292 MIPS,平均速度为109 MIPS,BBV Profile收集的平均开销小于4%,在同类工具中最低;②QPoint支持众多体系结构平台,包括x86/x86_64,ARM,POWER,SPARC,MIPS等,并且可跨指令集收集BBV Profile.结果显示,动态二进制翻译技术在应用程序行为特征分析加速方面具有非常好的效果.

       

      Abstract: SimPoint methodology is one of the important methods for program runtime behavior analysis. BBV (basic block vector) profiles for SimPoint are usually gathered with functional simulators. However, BBV profile gathering is very time consuming since the speed of functional simulation is very slow. To solve this problem, this paper proposes using dynamic binary translation to accelerate BBV profile gathering. Firstly, a general framework on BBV profile gathering with dynamic binary translation, DBT-BBV, is presented. Then several optimization techniques for reducing the overhead of BBV gathering are discussed. Lastly, a highly efficient BBV profiler, QPoint, is designed and implemented based on the proposed DBT-BBV framework and optimization techniques. The performance and overhead of QPoint is evaluated with the SPEC2006 benchmarks. Compared with existing tools, QPoint has two advantages. Firstly, the performance of QPoint is much better, with a speed of up to 292 MIPS, on average 109 MIPS, on an ordinary PC. The overhead is less than 4%, which is the lowest among similar tools. Secondly, QPoint supports most architectures, including x86/x86_64, ARM, POWER, SPARC, MIPS, etc., and can be used to generate cross-platform BBV profiles. Experimental results show that dynamic binary translation technique can be well adapted to program behavior analysis acceleration.

       

    /

    返回文章
    返回