首页> 外文期刊>ACM Transactions on Architecture and Code Optimization >Thread Tranquilizer: Dynamically Reducing Performance Variation
【24h】

Thread Tranquilizer: Dynamically Reducing Performance Variation

机译:线程宁静器:动态减少性能差异

获取原文
获取原文并翻译 | 示例
           

摘要

To realize the performance potential of multicore systems, we must effectively manage the interactions between memory reference behavior and the operating system policies for thread scheduling and migration decisions. We observe that these interactions lead to significant variations in the performance of a given application, from one execution to the next, even when the program input remains unchanged and no other applications are being run on the system. Our experiments with multithreaded programs, including the TATP database application, SPECjbb2005, and a subset of PAESEC and SPEC OMP programs, on a 24-core Dell PowerEdge R905 server running OpenSolaris confirms the above observation. In this work we develop Thread Tranquilizer, an automatic technique for simultaneously reducing performance variation and improving performance by dynamically choosing appropriate memory allocation and process scheduling policies. Thread Tranquilizer uses simple utilities available on modern Operating Systems for monitoring cache misses and thread context-switches and then utilizes the collected information to dynamically select appropriate memory allocation and scheduling policies. In our experiments, Thread Tranquilizer yields up to 98% (average 68%) reduction in performance variation and up to 43% (average 15%) improvement in performance over default policies of OpenSolaris. We also demonstrate that Thread Tranquilizer simultaneously reduces performance variation and improves performance of the programs on Linux. Thread Tranquilizer is easy to use as it does not require any changes to the application source code or the OS kernel.
机译:为了实现多核系统的性能潜力,我们必须有效地管理内存引用行为和操作系统策略之间的交互,以进行线程调度和迁移决策。我们观察到,即使程序输入保持不变并且系统上没有其他应用程序在运行,这些交互也会导致给定应用程序的性能从一次执行到下一次显着变化。我们在运行OpenSolaris的24核Dell PowerEdge R905服务器上对多线程程序(包括TATP数据库应用程序,SPECjbb2005以及PAESEC和SPEC OMP程序的子集)进行的实验证实了上述观点。在这项工作中,我们开发了Thread Tranquilizer,这是一种自动技术,可通过动态选择适当的内存分配和进程调度策略来同时减少性能差异并提高性能。 Thread Tranquilizer使用现代操作系统上可用的简单实用程序来监视高速缓存未命中和线程上下文切换,然后利用收集的信息动态选择适当的内存分配和调度策略。在我们的实验中,与OpenSolaris的默认策略相比,Thread Tranquilizer的性能变化最多可减少98%(平均68%),性能最多可提高43%(平均15%)。我们还演示了Thread Tranquilizer同时减少了性能差异并提高了Linux上程序的性能。 Thread Tranquilizer易于使用,因为它不需要对应用程序源代码或OS内核进行任何更改。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号