Collective Tuning Initiative: automating and accelerating development and optimization of computing systemsReport as inadecuate




Collective Tuning Initiative: automating and accelerating development and optimization of computing systems - Download this document for free, or read online. Document in PDF available to download.

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.

Keywords : systematic benchmarking performance analysis performance tuning energy minimization size minimization automatic program optimization architecture design software and hardware co-design plugin-based auto-tuning optimization space exploration adaptive sampling predictive analytics machine learning data mining statistical analysis feature detection big data crowdsourcing collective intelligence machine learning based compilation MILEPOST GCC plugin interface for compilers run-time adaptation dynamic adaptation for static binaries static code multi-versioning reproducible research artifact sharing common experimental setups collaborative artifact evaluation community driven research open publication model





Author: Grigori Fursin -

Source: https://hal.archives-ouvertes.fr/



DOWNLOAD PDF




Related documents