• DocumentCode
    3311980
  • Title

    Benchmark synthesis for architecture and compiler exploration

  • Author

    Van Ertvelde, Luk ; Eeckhout, Lieven

  • Author_Institution
    Ghent Univ., Ghent, Belgium
  • fYear
    2010
  • fDate
    2-4 Dec. 2010
  • Firstpage
    1
  • Lastpage
    11
  • Abstract
    This paper presents a novel benchmark synthesis framework with three key features. First, it generates synthetic benchmarks in a high-level programming language (C in our case), in contrast to prior work in benchmark synthesis which generates synthetic benchmarks in assembly. Second, the synthetic benchmarks hide proprietary information from the original workloads they are built after. Hence, companies may want to distribute synthetic benchmark clones to third parties as proxies for their proprietary codes; third parties can then optimize the target system without having access to the original codes. Third, the synthetic benchmarks are shorter running than the original workloads they are modeled after, yet they are representative. In summary, the proposed framework generates small (thus quick to simulate) and representative benchmarks that can serve as proxies for other workloads without revealing proprietary information; and because the benchmarks are generated in a high-level programming language, they can be used to explore both the architecture and compiler spaces. The results obtained with our initial framework are promising. We demonstrate that we can generate synthetic proxy benchmarks for the MiBench benchmarks, and we show that they are representative across a range of machines with different instruction-set architectures, microarchitectures, and compilers and optimization levels, while being 30 times shorter running on average. We also verify using software plagiarism detection tools that the synthetic benchmark clones hide proprietary information from the original workloads.
  • Keywords
    C language; instruction sets; program compilers; software architecture; MiBench benchmark; benchmark synthesis; compiler exploration; compiler space; high level programming language; instruction set architecture; microarchitecture; optimization level; proprietary information; software plagiarism detection tool; synthetic benchmark; synthetic proxy; target system; three key feature; Benchmark testing; Cloning; Computer architecture; Computer languages; Hardware; Optimization; Program processors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Workload Characterization (IISWC), 2010 IEEE International Symposium on
  • Conference_Location
    Atlanta, GA
  • Print_ISBN
    978-1-4244-9297-8
  • Electronic_ISBN
    978-1-4244-9296-1
  • Type

    conf

  • DOI
    10.1109/IISWC.2010.5650208
  • Filename
    5650208