SiblingRivalry: Online Autotuning Through Local Competitions

Modern high performance libraries, such as ATLAS and FFTW, and programming languages, such as PetaBricks, have shown that autotuning computer programs can lead to significant speedups. However, autotuning can be burdensome to the deployment of a program, since the tuning process can take a long time...

Full description

Bibliographic Details
Main Authors: Ansel, Jason Andrew, Pacula, Maciej, Wong, Yee Lok, Chan, Cy, Olszewski, Marek Krystyn, O'Reilly, Una-May, Amarasinghe, Saman P.
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: Association for Computing Machinery 2014
Online Access:http://hdl.handle.net/1721.1/85937
https://orcid.org/0000-0002-7231-7643
_version_ 1826216276590067712
author Ansel, Jason Andrew
Pacula, Maciej
Wong, Yee Lok
Chan, Cy
Olszewski, Marek Krystyn
O'Reilly, Una-May
Amarasinghe, Saman P.
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Ansel, Jason Andrew
Pacula, Maciej
Wong, Yee Lok
Chan, Cy
Olszewski, Marek Krystyn
O'Reilly, Una-May
Amarasinghe, Saman P.
author_sort Ansel, Jason Andrew
collection MIT
description Modern high performance libraries, such as ATLAS and FFTW, and programming languages, such as PetaBricks, have shown that autotuning computer programs can lead to significant speedups. However, autotuning can be burdensome to the deployment of a program, since the tuning process can take a long time and should be re-run whenever the program, microarchitecture, execution environment, or tool chain changes. Failure to re-autotune programs often leads to widespread use of sub-optimal algorithms. With the growth of cloud computing, where computations can run in environments with unknown load and migrate between different (possibly unknown) microarchitectures, the need for online autotuning has become increasingly important. We present SiblingRivalry, a new model for always-on online autotuning that allows parallel programs to continuously adapt and optimize themselves to their environment. In our system, requests are processed by dividing the available cores in half, and processing two identical requests in parallel on each half. Half of the cores are devoted to a known safe program configuration, while the other half are used for an experimental program configuration chosen by our self-adapting evolutionary algorithm. When the faster configuration completes, its results are returned, and the slower configuration is terminated. Over time, this constant experimentation allows programs to adapt to changing dynamic environments and often outperform the original algorithm that uses the entire system.
first_indexed 2024-09-23T16:45:08Z
format Article
id mit-1721.1/85937
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T16:45:08Z
publishDate 2014
publisher Association for Computing Machinery
record_format dspace
spelling mit-1721.1/859372022-09-29T21:13:30Z SiblingRivalry: Online Autotuning Through Local Competitions Ansel, Jason Andrew Pacula, Maciej Wong, Yee Lok Chan, Cy Olszewski, Marek Krystyn O'Reilly, Una-May Amarasinghe, Saman P. Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Ansel, Jason Andrew Pacula, Maciej Wong, Yee Lok Chan, Cy Olszewski, Marek Krystyn O'Reilly, Una-May Amarasinghe, Saman P. Modern high performance libraries, such as ATLAS and FFTW, and programming languages, such as PetaBricks, have shown that autotuning computer programs can lead to significant speedups. However, autotuning can be burdensome to the deployment of a program, since the tuning process can take a long time and should be re-run whenever the program, microarchitecture, execution environment, or tool chain changes. Failure to re-autotune programs often leads to widespread use of sub-optimal algorithms. With the growth of cloud computing, where computations can run in environments with unknown load and migrate between different (possibly unknown) microarchitectures, the need for online autotuning has become increasingly important. We present SiblingRivalry, a new model for always-on online autotuning that allows parallel programs to continuously adapt and optimize themselves to their environment. In our system, requests are processed by dividing the available cores in half, and processing two identical requests in parallel on each half. Half of the cores are devoted to a known safe program configuration, while the other half are used for an experimental program configuration chosen by our self-adapting evolutionary algorithm. When the faster configuration completes, its results are returned, and the slower configuration is terminated. Over time, this constant experimentation allows programs to adapt to changing dynamic environments and often outperform the original algorithm that uses the entire system. United States. Dept. of Energy (DOE Award DE-SC0005288) 2014-03-27T20:28:48Z 2014-03-27T20:28:48Z 2012-10 Article http://purl.org/eprint/type/ConferencePaper 9781450314244 1450314244 http://hdl.handle.net/1721.1/85937 Ansel, Jason, Maciej Pacula, Yee Lok Wong, Cy Chan, Marek Olszewski, Una-May O’Reilly, and Saman Amarasinghe. “Siblingrivalry: Online Autotuning Through Local Competitions.” In Proceedings of the 2012 International Conference on Compilers, Architectures and Synthesis for Embedded Systems - CASES ’12 (2012), October 7-12, 2012, Tampere, Finland. https://orcid.org/0000-0002-7231-7643 en_US http://dx.doi.org/10.1145/2380403.2380425 Proceedings of the 2012 international conference on Compilers, architectures and synthesis for embedded systems - CASES '12 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery MIT web domain
spellingShingle Ansel, Jason Andrew
Pacula, Maciej
Wong, Yee Lok
Chan, Cy
Olszewski, Marek Krystyn
O'Reilly, Una-May
Amarasinghe, Saman P.
SiblingRivalry: Online Autotuning Through Local Competitions
title SiblingRivalry: Online Autotuning Through Local Competitions
title_full SiblingRivalry: Online Autotuning Through Local Competitions
title_fullStr SiblingRivalry: Online Autotuning Through Local Competitions
title_full_unstemmed SiblingRivalry: Online Autotuning Through Local Competitions
title_short SiblingRivalry: Online Autotuning Through Local Competitions
title_sort siblingrivalry online autotuning through local competitions
url http://hdl.handle.net/1721.1/85937
https://orcid.org/0000-0002-7231-7643
work_keys_str_mv AT anseljasonandrew siblingrivalryonlineautotuningthroughlocalcompetitions
AT paculamaciej siblingrivalryonlineautotuningthroughlocalcompetitions
AT wongyeelok siblingrivalryonlineautotuningthroughlocalcompetitions
AT chancy siblingrivalryonlineautotuningthroughlocalcompetitions
AT olszewskimarekkrystyn siblingrivalryonlineautotuningthroughlocalcompetitions
AT oreillyunamay siblingrivalryonlineautotuningthroughlocalcompetitions
AT amarasinghesamanp siblingrivalryonlineautotuningthroughlocalcompetitions