Introducing the pseudorandom value generator selection in the compilation toolchain

Michael Leonard, Simone Campanoni

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Scopus citations

Abstract

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.

Original languageEnglish (US)
Title of host publicationCGO 2020 - Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization
EditorsJason Mars, Lingjia Tang, Jingling Xue, Peng Wu
PublisherAssociation for Computing Machinery, Inc
Pages256-267
Number of pages12
ISBN (Electronic)9781450370479
DOIs
StatePublished - Feb 22 2020
Event18th ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2020 - San Diego, United States
Duration: Feb 22 2020Feb 26 2020

Publication series

NameCGO 2020 - Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization

Conference

Conference18th ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2020
Country/TerritoryUnited States
CitySan Diego
Period2/22/202/26/20

Keywords

  • Code generation
  • Code selection
  • Pseudorandom value generators

ASJC Scopus subject areas

  • Applied Mathematics
  • Computer Science Applications
  • Control and Optimization
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'Introducing the pseudorandom value generator selection in the compilation toolchain'. Together they form a unique fingerprint.

Cite this