Engineering Parallel Applications with Tunable Architectures

  • Tagung:

    Konferenzartikel 

  • Autoren:

    Christoph A. Schaefer
    Victor Pankratius
    Walter F. Tichy
     

  • Summary

    Current multicore computers differ in many hardware characteristics. Software developers thus hand-tune their parallel programs for a specific platform to achieve the best performance this is tedious and leads to non-portable code. Although the software architecture also requires adaptation to achieve best performance, it is rarely modified because of the additional implementation effort. The Tunable Architectures approach proposed in this paper automates the architecture adaptation of parallel programs and uses an auto-tuner to find the best-performing software architecture for a particular machine. We introduce a new architecture description language based on parallel patterns and a framework to express architecture variants in a generic way. Several case studies demonstrate significant performance improvements due to architecture tuning and show the applicability of our approach to industrial applications. Software developers are exposed to less parallel programming complexity, thus making the approach attractive for inexperienced parallel programmers.

  • Jahr:

    2010 

  • Links:

Bibtex

@inproceedings{,
author={Christoph A. Schaefer, Victor Pankratius, Walter F. Tichy},
title={Engineering Parallel Applications with Tunable Architectures},
year=2010,
month=May,
booktitle={Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering},
publisher={ACM},
volume={1},
url={https://ps.ipd.kit.edu/downloads/ka_2010_engineering_parallel_applications_tunable_architectures.pdf},
abstract={Current multicore computers differ in many hardware characteristics. Software developers thus hand-tune their parallel programs for a specific platform to achieve the best performance this is tedious and leads to non-portable code. Although the software architecture also requires adaptation to achieve best performance, it is rarely modified because of the additional implementation effort. The Tunable Architectures approach proposed in this paper automates the architecture adaptation of parallel programs and uses an auto-tuner to find the best-performing software architecture for a particular machine. We introduce a new architecture description language based on parallel patterns and a framework to express architecture variants in a generic way. Several case studies demonstrate significant performance improvements due to architecture tuning and show the applicability of our approach to industrial applications. Software developers are exposed to less parallel programming complexity, thus making the approach attractive for inexperienced parallel programmers.},
pages={405-414},