Title :
HELIX-UP: Relaxing program semantics to unleash parallelization
Author :
Campanoni, Simone ; Holloway, Glenn ; Gu-Yeon Wei ; Brooks, David
Abstract :
Automatic generation of parallel code for general-purpose commodity processors is a challenging computational problem. Nevertheless, there is a lot of latent thread-level parallelism in the way sequential programs are actually used. To convert latent parallelism into performance gains, users may be willing to compromise on the quality of a program´s results. We have developed a parallelizing compiler and runtime that substantially improve scalability by allowing parallelized code to briefly sidestep strict adherence to language semantics at run time. In addition to boosting performance, our approach limits the sensitivity of parallelized code to the parameters of target CPUs (such as core-to-core communication latency) and the accuracy of data dependence analysis.
Keywords :
parallel programming; program compilers; program diagnostics; software quality; software reliability; CPUs; HELIX-UP; automatic parallel code generation; core-to-core communication latency; data dependence analysis; general-purpose commodity processors; language semantics; latent thread-level parallelism; parallelizing compiler; program quality; program semantics relaxation; sequential programs; Measurement; Multicore processing; Optimization; Parallel processing; Program processors; Runtime; Semantics;
Conference_Titel :
Code Generation and Optimization (CGO), 2015 IEEE/ACM International Symposium on
Conference_Location :
San Francisco, CA
DOI :
10.1109/CGO.2015.7054203