TY - GEN
T1 - Workload Characterization of Nondeterministic Programs Parallelized by STATS
AU - Deiana, Enrico A.
AU - Campanoni, Simone
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/4/22
Y1 - 2019/4/22
N2 - Chip Multiprocessors (CMP) are everywhere, from mobile systems, to servers. Thread Level Parallelism (TLP) is the characteristic of a program that makes use of the parallel cores of a CMP to generate performance. Despite all efforts for creating TLP, multiple cores are still underutilized even though we have been in the multicore era for more than a decade. Recently, a new approach called STATS has been proposed to generate additional TLP for complex and irregular nondeterministic programs. STATS allows a developer to describe application-specific information that its compiler uses to automatically generate a new source of TLP. This new source of TLP increases with the size of the input and it has the potential to generate scalable performance with the number of cores. Even though STATS obtains most of its potential, some of it is still unreached. This paper identifies and characterizes the sources of overhead that are currently blocking STATS parallelized programs to achieve their full potential. To this end, we characterized the workloads generated by the STATS compiler on a 28 core Intel-based machine (dual-socket). This paper shows that the performance loss is due to a combination of factors: some can be optimized via engineering efforts and some require a deeper evolution of STATS. We also highlight potential solutions to significantly reduce most of this overhead. Exploiting these insights will unblock scalable performance for the parallel binaries generated by STATS.
AB - Chip Multiprocessors (CMP) are everywhere, from mobile systems, to servers. Thread Level Parallelism (TLP) is the characteristic of a program that makes use of the parallel cores of a CMP to generate performance. Despite all efforts for creating TLP, multiple cores are still underutilized even though we have been in the multicore era for more than a decade. Recently, a new approach called STATS has been proposed to generate additional TLP for complex and irregular nondeterministic programs. STATS allows a developer to describe application-specific information that its compiler uses to automatically generate a new source of TLP. This new source of TLP increases with the size of the input and it has the potential to generate scalable performance with the number of cores. Even though STATS obtains most of its potential, some of it is still unreached. This paper identifies and characterizes the sources of overhead that are currently blocking STATS parallelized programs to achieve their full potential. To this end, we characterized the workloads generated by the STATS compiler on a 28 core Intel-based machine (dual-socket). This paper shows that the performance loss is due to a combination of factors: some can be optimized via engineering efforts and some require a deeper evolution of STATS. We also highlight potential solutions to significantly reduce most of this overhead. Exploiting these insights will unblock scalable performance for the parallel binaries generated by STATS.
KW - Nondeterminism
KW - Parallelizing compiler
KW - Speculation
KW - Workload characterization
UR - http://www.scopus.com/inward/record.url?scp=85065424848&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85065424848&partnerID=8YFLogxK
U2 - 10.1109/ISPASS.2019.00032
DO - 10.1109/ISPASS.2019.00032
M3 - Conference contribution
AN - SCOPUS:85065424848
T3 - Proceedings - 2019 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2019
SP - 190
EP - 201
BT - Proceedings - 2019 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2019
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2019 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2019
Y2 - 24 March 2019 through 26 March 2019
ER -