Embla - Data Dependence Profiling for Parallel Programming

Faxén, Karl-Filip and Popov, Konstantin and Janson, Sverker and Albertsson, Lars (2008) Embla - Data Dependence Profiling for Parallel Programming. In: 2008 International Conference on Complex, Intelligent and Software Intensive Systems, 4-7 March 2008, Barcelona, Spain.

Full text not available from this repository.


With the proliferation of multicore processors, there is an urgent need for tools and methodologies supporting parallelization of existing applications. In this paper, we present a novel tool for aiding programmers in parallelizing programs. The tool, Embla, is based on the Valgrind framework, and allows the user to discover the data dependences in a sequential program, thereby exposing opportunities for parallelization. Embla performs an off-line dynamic analysis, and records dependences as they arise during program execution. It reports an optimistic view of parallelizable sequences, and ignores dependences that do not arise during execution. Moreover, since the tool instruments the machine code of the program, it is largely language independent. Since Embla finds the dependencies that occur for particular executions, the confidence one would assign to its results depend on whether different executions yield different (bad) or largely the same (good) dependencies. We present a preliminary investigation into this issue using 84 different inputs to the SPEC CPU 2006 benchmark 403.gcc. The results indicate that there is a strong correlation between coverage and finding dependencies; executing the entire program is likely to reveal all dependencies.

Item Type:Conference or Workshop Item (Paper)
ID Code:3942
Deposited By:Sverker Janson
Deposited On:12 May 2010 12:34
Last Modified:12 May 2010 12:34

Repository Staff Only: item control page