Evaluating Iterative Optimization Across 1000 Data Sets

被引:11
作者
Chen, Yang [1 ,2 ]
Huang, Yuanjie [1 ,2 ]
Eeckhout, Lieven [4 ]
Fursin, Grigori [3 ]
Peng, Liang [1 ,2 ]
Temam, Olivier [3 ]
Wu, Chengyong [1 ]
机构
[1] Chinese Acad Sci, ICT, LCSA, Key Lab Comp Syst & Architecture, Beijing, Peoples R China
[2] Chinese Acad Sci, Grad Sch, Beijing, Peoples R China
[3] INRIA, Saclay, France
[4] Univ Ghent, Ghent, Belgium
关键词
Design; Experimentation; Measurement; Performance;
D O I
10.1145/1809028.1806647
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
While iterative optimization has become a popular compiler optimization approach, it is based on a premise which has never been truly evaluated: that it is possible to learn the best compiler optimizations across data sets. Up to now, most iterative optimization studies find the best optimizations through repeated runs on the same data set. Only a handful of studies have attempted to exercise iterative optimization on a few tens of data sets. In this paper, we truly put iterative compilation to the test for the first time by evaluating its effectiveness across a large number of data sets. We therefore compose KDataSets, a data set suite with 1000 data sets for 32 programs, which we release to the public. We characterize the diversity of KDataSets, and subsequently use it to evaluate iterative optimization. We demonstrate that it is possible to derive a robust iterative optimization strategy across data sets: for all 32 programs, we find that there exists at least one combination of compiler optimizations that achieves 86% or more of the best possible speedup across all data sets using Intel's ICC (83% for GNU's GCC). This optimal combination is program-specific and yields speedups up to 1.71 on ICC and 2.23 on GCC over the highest optimization level (-fast and -03, respectively). This finding makes the task of optimizing programs across data sets much easier than previously anticipated, and it paves the way for the practical and reliable usage of iterative optimization. Finally, we derive pre-shipping and post-shipping optimization strategies for software vendors.
引用
收藏
页码:448 / 459
页数:12
相关论文
共 31 条
[1]  
Agakov F, 2006, INT SYM CODE GENER, P295
[2]  
[Anonymous], 2004, LIPPOLIS
[3]   Improving virtual machine performance using a cross-run profile repository [J].
Arnold, M ;
Welc, A ;
Rajan, VT .
ACM SIGPLAN NOTICES, 2005, 40 (10) :297-311
[4]  
Berube P, 2006, INT SYM PERFORM ANAL, P251
[5]   The PARSEC Benchmark Suite: Characterization and Architectural Implications [J].
Bienia, Christian ;
Kumar, Sanjeev ;
Singh, Jaswinder Pal ;
Li, Kai .
PACT'08: PROCEEDINGS OF THE SEVENTEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2008, :72-81
[6]  
Cavazos J, 2007, INT SYM CODE GENER, P185
[7]   Optimizing for reduced code space using genetic algorithms [J].
Cooper, KD ;
Schielke, PJ ;
Subramanian, D .
ACM SIGPLAN NOTICES, 1999, 34 (07) :1-9
[8]  
COOPER KD, 2005, P ACM SIGPLAN SIGBED, P69
[9]  
Eeckhout L., 2003, J INSTRUCTION LEVEL, V5, P1
[10]  
FRANKE B, 2005, P ACM SIGPLAN SIGBED, P78