Making the Extraction of Thread-Level Parallelism Mainstream
Simone Campanoni, Timothy Jones, Glenn Holloway, Gu-Yeon Wei, David Brooks
IEEE Micro Special Issue on Parallelization of Sequential Code, 2012
Improving system performance increasingly depends on exploiting microprocessor parallelism, yet mainstream compilers still do not parallelize code automatically. Promising parallelization approaches have either required manual programmer assistance, depended on special hardware features, or risked slowing down programs they should have speeded up. HELIX is one such approach that automatically parallelizes general-purpose programs without requiring any special hardware. In this paper we show that in practice HELIX always avoids slowing down compiled programs, making it a suitable candidate for mainstream compilers. We also show experimentally that HELIX outperforms the most similar historical technique that has been implemented in production compilers.