Auto-Tuning Multicore Applications at Run-Time with a Cooperative Tuner

  • Name:

    Technischer Artikel 

  • Author:

    Thomas Karcher, Victor Pankratius 

  • Zusammenfassung

    In response to the growing demand for better performance, multicore platforms have become ubiquitous. A critical problem is that the diversity of hardware and software characteristics is increasing, making it a great challenge for parallel application developers to optimize performance and preserve application portability. In addition, unknown workload compositions and run-time interferences make the effects of tuning parameter settings hard to predict. We tackle this problem at its core and present Perpetuum, a novel operating-system-based auto-tuner that is capable of tuning applications cooperatively at run-time. Applications expose tuning parameters and feedback measurements of a repeatedly executed section to the OS. As part of the OS, Perpetuum monitors workloads and adapts tuning parameter values of all running programs to improve performance. In contrast to earlier approaches, this paper is the first to employ OS-based auto-tuning to improve system-wide performance for simultaneously executing multithreaded applications – not just the partial performance of an isolated application. The entire tuning process does not require any user involvement, and applications are automatically re-tuned while executing on new platforms. In addition, this is the first paper to work out the details and present a fully functional OS-integrated auto-tuner based on a modified Linux kernel. We also present successful evaluations on multicoreplatforms for different application types, such as multimedia and compression.

Beteiligte Mitarbeiter (zufällige Reihenfolge)
Titel Vorname Nachname

Bibtex

@techreport{,
author={Thomas Karcher, Victor Pankratius},
title={Auto-Tuning Multicore Applications at Run-Time with a Cooperative Tuner},
year=2011,
month=Feb,
abstract={In response to the growing demand for better performance, multicore platforms have become ubiquitous. A critical problem is that the diversity of hardware and software characteristics is increasing, making it a great challenge for parallel application developers to optimize performance and preserve application portability. In addition, unknown workload compositions and run-time interferences make the effects of tuning parameter settings hard to predict. We tackle this problem at its core and present Perpetuum, a novel operating-system-based auto-tuner that is capable of tuning applications cooperatively at run-time. Applications expose tuning parameters and feedback measurements of a repeatedly executed section to the OS. As part of the OS, Perpetuum monitors workloads and adapts tuning parameter values of all running programs to improve performance. In contrast to earlier approaches, this paper is the first to employ OS-based auto-tuning to improve system-wide performance for simultaneously executing multithreaded applications – not just the partial performance of an isolated application. The entire tuning process does not require any user involvement, and applications are automatically re-tuned while executing on new platforms. In addition, this is the first paper to work out the details and present a fully functional OS-integrated auto-tuner based on a modified Linux kernel. We also present successful evaluations on multicoreplatforms for different application types, such as multimedia and compression.},
note={EVA STAR},