Embla - Data Dependence Profiling for Parallel Programming
2008 (Engelska)Ingår i: Proceedings of the 2008 International Conference on Complex, Intelligent and Software Intensive Systems, 2008, 10, s. 780-785Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]
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.
Ort, förlag, år, upplaga, sidor
2008, 10. s. 780-785
Nationell ämneskategori
Data- och informationsvetenskap
Identifikatorer
URN: urn:nbn:se:ri:diva-22255OAI: oai:DiVA.org:ri-22255DiVA, id: diva2:1041800
Konferens
2008 International Conference on Complex, Intelligent and Software Intensive Systems
Projekt
Embla2016-10-312016-10-312023-06-08Bibliografiskt granskad