The Collective Tuning Initiative is a community-driven initiative started by Grigori Fursin to develop free collaborative open-source research tools with unified API for code and architecture characterization, optimization and co-design. This enables the sharing of benchmarks, data sets and optimization cases from the community in the open optimization repository through unified web services to predict better optimizations or architecture designs. Using common research-and-development tools should help to improve the quality and reproducibility of research into code, architecture design and optimization, encouraging innovation in this area. This approach helped establish Artifact Evaluation at several ACM-sponsored conferences to encourage sharing of artifacts and validation of experimental results from accepted papers. The tools and repository include:
Collective Optimization Database: Open repository to share optimization cases from the community, provide web services and plugins to analyze collective optimization data and predict program optimizations based on statistical and machine-learning techniques and improve the quality and reproducibility of the compiler
Continuous Collective Compilation Framework: Automates and distribute iterative feedback-directed exploration of large optimization spaces by multiple users
Interactive Compilation Interface: Opens and transforms production compilers into stable interactive research tool sets using an event-driven plugin system to avoid the development of new research compilers from scratch
Collective benchmark with multiple data sets: Enables realistic benchmarking and research on iterative compilation and run-time adaptation.
Universal Adaptation Framework: Enables run-time adaptation and optimization of statically-compiled programs for heterogeneous, multi-core architectures.
A new version of these open-source tools to support collaborative and reproducible experimentation was released in 2015.
Collective Optimization Database
The Collective Optimization Database is an open repository to enable sharing of benchmarks, data sets and optimization cases from the community, provide web services and plugins to analyze optimization data and predict program transformations or better hardware designs for multi-objective optimizations based on statistical and machine learning techniques provided there is enough information collected in the repository from multiple users.
Functionality
The Collective Optimization Database is also intended to improve the quality and reproducibility of the research on code and architecture design, characterization and optimization. It includes an online machine learning-based program optimization predictor that can suggest profitable optimizations to improve program execution time, code size, or compilation time, based on similarities between programs. The Collective Optimization Database is an important part of the Collective Tuning Initiative which is developing open-source R&D tools for collaborative and reproducible computing systems research.