kirancodes.me
To Proof Maintenance & Beyond!

Improving implicit parallelism

José Manuel Calderón Trilla, Colin Runciman

Abstract

Using static analysis techniques compilers for lazy functional languages can be used to identify parts of a program that can be legitimately evaluated in parallel and ensure that those expressions are executed concurrently with the main thread of execution. These techniques can produce improvements in the runtime performance of a program, but are limited by the static analyses’ poor prediction of runtime performance. This paper outlines the development of a system that uses iterative profile-directed improvement in addition to well-studied static analysis techniques. This allows us to achieve higher performance gains than through static analysis alone.

DOI 10.1145/2804302.2804308

Related papers