Exploring Potential Parallelism of Sequential Programs with Superblock Reordering

John M. Ye,Tianzhou Chen
DOI: https://doi.org/10.1109/HPCC.2012.12
2012-01-01
Abstract:The growing number of processing cores in a single CPU is demanding more parallelism from sequential programs. But in the past decades few work has succeeded in automatically exploiting enough parallelism, which casts a shadow over the many-core architecture and the automatic parallelization research. However, actually few work was tried to understand the nature, inner structure, or amount, of the potentially available parallelism in programs. In this paper we will try to analyze at runtime the dynamic data dependencies among superblocks of sequential programs. We designed a Meta Reorder Buffer (Meta-RB) to measure and exploit the available parallelism, with which the superblocks are dynamically analyzed, reordered and dispatched to run in parallel on an ideal many-core processor, and the data dependencies and program correctness are still maintained. In our experiments, we observed that with the superblock reordering, the potential speedup ranged from 1.627 to 95.275, and reached 22.852 on average. The results shows that the potential parallelism of normal programs is still far from fully exploited by existing technologies, which makes the automatic parallelization a promising research direction for many-core architectures.
What problem does this paper attempt to address?