Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
6885505 | Journal of Systems and Software | 2016 | 23 Pages |
Abstract
The stagnation of single-core performance leaves application developers with software parallelism as the only option to further benefit from Moore's Law. However, in view of the complexity of writing parallel programs, the parallelization of myriads of sequential legacy programs presents a serious economic challenge. A key task in this process is the identification of suitable parallelization targets in the source code. In this paper, we present an approach to automatically identify potential parallelism in sequential programs of realistic size. In comparison to earlier approaches, our work combines a unique set of features that make it superior in terms of functionality: It not only (i) detects available parallelism with high accuracy but also (ii) identifies the parts of the code that can run in parallel-even if they are spread widely across the code, (iii) ranks parallelization opportunities according to the speedup expected for the entire program, while (iv) maintaining competitive overhead both in terms of time and memory.
Related Topics
Physical Sciences and Engineering
Computer Science
Computer Networks and Communications
Authors
Zhen Li, Rohit Atre, Zia Huda, Ali Jannesari, Felix Wolf,