Javascript must be enabled to continue!
Collective optimization
View through CrossRef
Iterative optimization is a popular and efficient research approach to optimize programs using feedback-directed compilation. However, one of the key limitations that prevented widespread use in production compilers and day-to-day practice is the necessity to perform a large number of program runs with the same dataset and environment (architecture, OS, compiler) to test many different combinations of optimizations. In this article, we propose to overcome such a practical obstacle using
collective optimization
, where the task of optimizing a program or tuning default compiler optimization heuristic leverages the experience of many other users continuously, rather than being performed in isolation, and often redundantly, by each user. During this unobtrusive approach, performance information is sent to a central database after each run and statistically combined with the data from all users to suggest most profitable optimizations for a given program and an architecture, or to gradually improve default optimization level of a compiler for a given architecture.
In this article, we address two key challenges of collective optimization. We show that it is possible to simultaneously learn and improve performance while avoiding long training phases. We also demonstrate how to use our approach with static compilers to learn optimizations across multiple datasets and architectures without even a reference run normally needed to compute speedups over the baseline optimization by using static function cloning and dynamic adaptation. We present a novel probabilistic approach based on
competition
among pairs of optimizations
(program reaction to optimizations)
to enable optimization knowledge reuse and achieve nearly the best possible iterative optimization performance. We implemented our technique in GCC (widespread production open-source compiler that supports multiple architectures) and connected it to a public collective optimization database at cTuning.org to gather profile and optimization data continuously and transparently in realistic environments ranging from desktop PCs and mobile systems to supercomputers and data centers.
Association for Computing Machinery (ACM)
Title: Collective optimization
Description:
Iterative optimization is a popular and efficient research approach to optimize programs using feedback-directed compilation.
However, one of the key limitations that prevented widespread use in production compilers and day-to-day practice is the necessity to perform a large number of program runs with the same dataset and environment (architecture, OS, compiler) to test many different combinations of optimizations.
In this article, we propose to overcome such a practical obstacle using
collective optimization
, where the task of optimizing a program or tuning default compiler optimization heuristic leverages the experience of many other users continuously, rather than being performed in isolation, and often redundantly, by each user.
During this unobtrusive approach, performance information is sent to a central database after each run and statistically combined with the data from all users to suggest most profitable optimizations for a given program and an architecture, or to gradually improve default optimization level of a compiler for a given architecture.
In this article, we address two key challenges of collective optimization.
We show that it is possible to simultaneously learn and improve performance while avoiding long training phases.
We also demonstrate how to use our approach with static compilers to learn optimizations across multiple datasets and architectures without even a reference run normally needed to compute speedups over the baseline optimization by using static function cloning and dynamic adaptation.
We present a novel probabilistic approach based on
competition
among pairs of optimizations
(program reaction to optimizations)
to enable optimization knowledge reuse and achieve nearly the best possible iterative optimization performance.
We implemented our technique in GCC (widespread production open-source compiler that supports multiple architectures) and connected it to a public collective optimization database at cTuning.
org to gather profile and optimization data continuously and transparently in realistic environments ranging from desktop PCs and mobile systems to supercomputers and data centers.
Related Results
From cooperation to conflict: The role of collective narratives in shaping group behaviour
From cooperation to conflict: The role of collective narratives in shaping group behaviour
In this paper, we review the concept of collective narratives and their role in shaping group behaviour. We see collective narratives as ‘meta-stories’ embraced by groups that inco...
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
The project aims at the design and development of six hybrid nature inspired algorithms based on Grey Wolf Optimization algorithm with Artificial Bee Colony Optimization algorithm ...
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
The project aims at the design and development of six hybrid nature inspired algorithms based on Grey Wolf Optimization algorithm with Artificial Bee Colony Optimization algorithm ...
A new type bionic global optimization: Construction and application of modified fruit fly optimization algorithm
A new type bionic global optimization: Construction and application of modified fruit fly optimization algorithm
Fruit fly optimization algorithm, which is put forward through research on the act of foraging and observing groups of fruit flies, has some merits such as simplified operation, st...
Hybrid Optimization Algorithm for Multi-level Image Thresholding Using Salp Swarm Optimization Algorithm and Ant Colony Optimization
Hybrid Optimization Algorithm for Multi-level Image Thresholding Using Salp Swarm Optimization Algorithm and Ant Colony Optimization
The process of identifying optimal threshold for multi-level thresholding in image segmentation is a challenging process. An efficient optimization algorithm is required to find th...
An improved Coati Optimization Algorithm with multiple strategies for engineering design optimization problems
An improved Coati Optimization Algorithm with multiple strategies for engineering design optimization problems
AbstractAiming at the problems of insufficient ability of artificial COA in the late optimization search period, loss of population diversity, easy to fall into local extreme value...
Efficient Optimization and Robust Value Quantification of Enhanced Oil Recovery Strategies
Efficient Optimization and Robust Value Quantification of Enhanced Oil Recovery Strategies
With an increasing demand for hydrocarbon reservoir produces such as oil, etc., and difficulties in finding green oil fields, the use of Enhanced Oil Recovery (EOR) methods such as...
Analisis Pandemi Covid-19 Dalam Presfektif Collective Action (Studi Kasus: Kecamatan Cariu Kabupaten Bogor)
Analisis Pandemi Covid-19 Dalam Presfektif Collective Action (Studi Kasus: Kecamatan Cariu Kabupaten Bogor)
In the midst of the Covid-19 pandemic, many people are affected by health, economic and social aspects. With the existence of a government policy regarding large-scale social restr...


