Collective Tuning Initiative: automating and accelerating development and optimization of computing systems

Grigori Fursin 1
1 ALCHEMY - Architectures, Languages and Compilers to Harness the End of Moore Years
LRI - Laboratoire de Recherche en Informatique, UP11 - Université Paris-Sud - Paris 11, CNRS - Centre National de la Recherche Scientifique : UMR8623, Inria Saclay - Ile de France
Abstract : Computing systems rarely deliver best possible performance due to ever increasing hardware and software complexity and limitations of the current optimization technology. Additional code and architecture optimizations are often required to improve execution time, size, power consumption, reliability and other important characteristics of computing systems. However, it is often a tedious, repetitive, isolated and time consuming process. In order to automate, simplify and systematize program optimization and architecture design, we are developing open-source modular plugin-based Collective Tuning Infrastructure (http://ctuning.org) that can distribute optimization process and leverage optimization experience of multiple users. The core of this infrastructure is a Collective Optimization Database that allows easy collection, sharing, characterization and reuse of a large number of optimization cases from the community. The infrastructure also includes collaborative R\&D tools with common API (Continuous Collective Compilation Framework, MILEPOST GCC with Interactive Compilation Interface and static feature extractor, Collective Benchmark and Universal Run-time Adaptation Framework) to automate optimization, produce adaptive applications and enable realistic benchmarking. We developed several tools and open web-services to substitute default compiler optimization heuristic and predict good optimizations for a given program, dataset and architecture based on static and dynamic program features and standard machine learning techniques. Collective tuning infrastructure provides a novel fully integrated, collaborative, "one button" approach to improve existing underperfoming computing systems ranging from embedded architectures to high-performance servers based on systematic iterative compilation, statistical collective optimization and machine learning. Our experimental results show that it is possible to reduce execution time (and code size) of some programs from SPEC2006 and EEMBC among others by more than a factor of 2 automatically. It can also reduce development and testing time considerably. Together with the first production quality machine learning enabled interactive research compiler (MILEPOST GCC) this infrastructure opens up many research opportunities to study and develop future realistic self-tuning and self-organizing adaptive intelligent computing systems based on systematic statistical performance evaluation and benchmarking. Finally, using common optimization repository is intended to improve the quality and reproducibility of the research on architecture and code optimization.
Complete list of metadatas

Cited literature [51 references]  Display  Hide  Download

https://hal.inria.fr/inria-00436029
Contributor : Grigori Fursin <>
Submitted on : Friday, July 4, 2014 - 3:41:00 AM
Last modification on : Thursday, April 5, 2018 - 12:30:12 PM
Long-term archiving on : Saturday, October 4, 2014 - 10:45:35 AM

Files

fursin.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00436029, version 2

Collections

Citation

Grigori Fursin. Collective Tuning Initiative: automating and accelerating development and optimization of computing systems. GCC Developers' Summit, Jun 2009, Montreal, Canada. ⟨inria-00436029v2⟩

Share

Metrics

Record views

5659

Files downloads

439