Sambamba: A Runtime System for Online Adaptive Parallelization
by Kevin Streit, Clemens Hammacher, Andreas Zeller, Sebastian Hack

Proc. 21st International Conference on Compiler Construction (CC), Pages 240-243, March 2012.

Digital Library via DOI: 10.1007/978-3-642-28652-0_13 - Local copy: Download as PDF file.

See also

More information is available at


How can we exploit a microprocessor as efficiently as possible? The "classic" approach is static optimization at compile-time, optimizing a program for all possible uses. Further optimization can only be achieved by anticipating the actual usage profile: If we know, for instance, that two computations will be independent, we can run them in parallel. In the Sambamba project, we replace anticipation by adaptation. Our runtime system provides the infrastructure for implementing runtime adaptive and speculative transformations. We demonstrate our framework in the context of adaptive parallelization. We show the fully automatic parallelization of a small irregular C program in combination with our adaptive runtime system. The result is a parallel execution which adapts to the availability of idle system resources. In our example, this enables a 1.92 fold speedup on two cores while still preventing oversubscription of the system.

BibTeX Entry

    title = "Sambamba: A Runtime System for Online Adaptive Parallelization",
    author = "Kevin Streit and Clemens Hammacher and Andreas Zeller and Sebastian Hack",
    year = "2012",
    month = mar,
    booktitle = "Proc. 21st International Conference on Compiler Construction (CC)",
    pages = "240--243",
    doi = "10.1007/978-3-642-28652-0_13",

Show all publications of the Software Engineering Chair.