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, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR8623
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.
Liste complète des métadonnées

https://hal.inria.fr/inria-00436029
Contributeur : Grigori Fursin <>
Soumis le : vendredi 4 juillet 2014 - 03:41:00
Dernière modification le : jeudi 9 février 2017 - 15:55:51
Document(s) archivé(s) le : samedi 4 octobre 2014 - 10:45:35

Fichiers

fursin.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • 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. 2009. <inria-00436029v2>

Partager

Métriques

Consultations de
la notice

1670

Téléchargements du document

219