Parceive: Interactive parallelization based on dynamic analysis
Andreas Wilhelm, Bharatkumar Sharmay, Ranajoy Malakary, Tobias Schüle, Michael Gerndt · 2015
The advent of multicore processors poses an urgent need for tools to parallelize legacy software. Automatic parallelization methods are usually limited to the instruction level or to simple loops. However, identifying parallelism in industrial applications additionally requires deep program comprehension. To solve this problem, we propose Parceive, an interactive tool that aids parallelization of software at various granularity levels. Parceive uses dynamic binary instrumentation to trace programs written in C/C++. The collected data dependencies and profiling information are then analyzed to visualize potential parallelization candidates. This approach helps developers to comprehend the application and to parallelize their software. In this paper, we motivate our approach, illustrate the architecture of Parceive, and highlight optimizations to cope with industrial applications. A case study shows the usefulness of our approach.