首页> 外文会议>IEEE International Symposium on Parallel Distributed Processing >Improving the performance of program monitors with compiler support in multi-core environment
【24h】

Improving the performance of program monitors with compiler support in multi-core environment

机译:在多核环境中提高编译器支持程序监视器的性能

获取原文

摘要

Dynamic program execution monitors allow programmers to observe and verify an application while it is running. Instrumentation-based dynamic program monitors often incur significant performance overhead due to instrumentation. Special hardware supports have been proposed to reduce this overhead. However, these supports mostly target specific monitoring requirements and thus have limited applicability. Recently, with multi-core processors becoming mainstream, executing the monitored program and the monitor simultaneously on separate cores has emerged as an attractive option. However, communication between the two often becomes the new performance bottleneck due to large amounts of information forwarded to the monitor. In this paper, we present compiler techniques that aim to minimize the communication overhead. Our proposal is based on the observations that a monitor only requires specific information from the monitored programs and some information can be easily computed by the monitor from data that have already been communicated. We developed a code generator and optimization techniques to decide the set of data items to forward and the set to compute, so that the total execution time of the monitor is minimized. Our compiler can optimize a variety of monitors with diverse monitoring requirements, taking as input the control flow graph of the monitored program and the set of data that needs verification. Using a static binary rewriter, we evaluate the performance impact of the proposed compiler techniques on the SPEC2006 integer benchmarks for two intensive monitoring tasks: taint-propagation and memory bug detection. Comparing to instrumentation-based monitors, the proposed techniques can bring down the performance overhead of the two monitors from 10.6???? and 9.0???? to 2.36???? and 2.17????, respectively.
机译:动态程序执行监视器允许程序员在运行时观察和验证应用程序。基于仪器的动态程序监视器通常由于仪器而产生显着的性能开销。已经提出了特殊的硬件支持来减少此开销。但是,这些支持主要是针对特定的监测要求,从而具有有限的适用性。最近,通过成为主流的多核处理器,在单独的内核上同时执行受监控的程序和监视器已成为有吸引力的选择。然而,由于转发到显示器的大量信息,两者之间的通信通常成为新的性能瓶颈。在本文中,我们提出了编制技术,旨在最大限度地减少通信开销。我们的提议基于观察到监视器仅需要来自监视程序的特定信息,并且可以通过已传送的数据容易地计算一些信息。我们开发了一种代码生成器和优化技术,以确定要转发的数据项集和设置为计算,从而最小化监视器的总执行时间。我们的编译器可以优化各种监视器的监视要求,作为输入监控程序的控制流程图和需要验证的数据集。使用静态二进制复制器,我们评估所提出的编译器技术对两个密集监视任务的规范2006整数基准的性能影响:Taint-Proping和Memory错误检测。与仪表的监视器相比,所提出的技术可以降低来自10.6的两个显示器的性能开销????和9.0 ????到2.36 ???? 2.17分别为2.17 ????。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号