TY - GEN
T1 - Introducing the pseudorandom value generator selection in the compilation toolchain
AU - Leonard, Michael
AU - Campanoni, Simone
N1 - Funding Information:
This project is made possible by support from the United States National Science Foundation via the grant CNS1753743.
Publisher Copyright:
© 2020 Copyright held by the owner/author(s).
PY - 2020/2/22
Y1 - 2020/2/22
N2 - As interest in randomization has grown within the computing community, the number of pseudorandom value generators (PRVGs) at developers' disposal dramatically increased. Today, developers lack the tools necessary to obtain optimal behavior from their PRVGs. We provide the first deep study into the tradeoffs among the PRVGs in the C++ standard, finding no silver bullet for all programs and architectures. With this in mind, we have built PRV Jeeves, the first fully automatic PRVG selector. We demonstrate that when compiling widely-used, highly optimized programs with PRV Jeeves, we are able to cut execution time by 34% on average. This enhancement comes at no cost to developers.
AB - As interest in randomization has grown within the computing community, the number of pseudorandom value generators (PRVGs) at developers' disposal dramatically increased. Today, developers lack the tools necessary to obtain optimal behavior from their PRVGs. We provide the first deep study into the tradeoffs among the PRVGs in the C++ standard, finding no silver bullet for all programs and architectures. With this in mind, we have built PRV Jeeves, the first fully automatic PRVG selector. We demonstrate that when compiling widely-used, highly optimized programs with PRV Jeeves, we are able to cut execution time by 34% on average. This enhancement comes at no cost to developers.
KW - Code generation
KW - Code selection
KW - Pseudorandom value generators
UR - http://www.scopus.com/inward/record.url?scp=85082102160&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85082102160&partnerID=8YFLogxK
U2 - 10.1145/3368826.3377906
DO - 10.1145/3368826.3377906
M3 - Conference contribution
AN - SCOPUS:85082102160
T3 - CGO 2020 - Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization
SP - 256
EP - 267
BT - CGO 2020 - Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization
A2 - Mars, Jason
A2 - Tang, Lingjia
A2 - Xue, Jingling
A2 - Wu, Peng
PB - Association for Computing Machinery, Inc
T2 - 18th ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2020
Y2 - 22 February 2020 through 26 February 2020
ER -