Run-Time Automatic Performance Tuning for Multicore Applications

Run-Time Automatic Performance Tuning for Multicore Applications
复制标题

多核应用程序的运行时自动性能调整

DOI:
--
复制
发表时间:
2011
期刊:
European Conference on Parallel Processing
影响因子:
--
通讯作者:
V. Pankratius
V. Pankratius
中科院分区:
--
文献类型:
--
作者:
Thomas Karcher;V. Pankratius

文献摘要

被引文献

相似文献

多核硬件和系统软件已经变得复杂,并且因平台而异。并行应用程序性能优化和可移植性现在是一个真正的挑战。在实践中,调整参数的效果很难预测。当多个应用程序并行运行并间接影响彼此时,程序员面临更多困难。我们使用 Perpetuum 来解决这些问题,这是一种基于操作系统的新型自动调节器,能够在应用程序运行时对其进行调节。我们不仅仅单独调整一个应用程序,而是第一个采用基于操作系统的自动调整来提高系统范围的应用程序性能。我们功能齐全的自动调节器扩展了 Linux 内核,并且应用程序调节过程不需要任何用户参与。一般的多核应用程序在执行时会在新平台上自动重新调整,这使得可移植性变得容易。大量的案例研究和实际应用证明了我们方法的可行性和效率。 Perpetuum 实现了我们愿景中的第一个里程碑,即默认情况下自动调整每个性能关键的多核应用程序。
Multicore hardware and system software have become complex and differ from platform to platform. Parallel application performance optimization and portability are now a real challenge. In practice, the effects of tuning parameters are hard to predict. Programmers face even more difficulties when several applications run in parallel and influence each other indirectly. We tackle these problems with Perpetuum, a novel operating-system-based auto-tuner that is capable of tuning applications while they are running. We go beyond tuning one application in isolation and are the first to employ OS-based auto-tuning to improve system-wide application performance. Our fully functional autotuner extends the Linux kernel, and the application tuning process does not require any user involvement. General multicore applications are automatically re-tuned on new platforms while they are executing, which makes portability easy. Extensive case studies with real applications demonstrate the feasibility and efficiency of our approach. Perpetuum realizes a first milestone in our vision to make every performance-critical multicore application auto-tuned by default.