It is increasingly important for parallel applications to run together on the same machine. However, current performance is often poor: programs do not adapt well to dynamically varying numbers of cores, and the CPU time received by concurrent jobs can differ drastically. This paper introduces Callisto, a resource management layer for parallel runtime systems. We describe Callisto and the implementation of two Callisto-enabled runtime systems---one for OpenMP, and another for a task-parallel programming model. We show how Callisto eliminates almost all of the scheduler-related interference between concurrent jobs, while still allowing jobs to claim otherwise-idle cores. We use examples from two recent graph analytics projects and from SPEC OMP.
%0 Conference Paper
%1 Harris:2014:CCP
%A Harris, Tim
%A Maas, Martin
%A Marathe, Virendra J.
%B Proceedings of the Ninth European Conference on Computer Systems
%D 2014
%I ACM
%K Cloud Cooperative Parallel Resources Runtime Scheduling
%P 24:1--24:14
%R 10.1145/2592798.2592807
%T Callisto: Co-scheduling Parallel Runtime Systems
%X It is increasingly important for parallel applications to run together on the same machine. However, current performance is often poor: programs do not adapt well to dynamically varying numbers of cores, and the CPU time received by concurrent jobs can differ drastically. This paper introduces Callisto, a resource management layer for parallel runtime systems. We describe Callisto and the implementation of two Callisto-enabled runtime systems---one for OpenMP, and another for a task-parallel programming model. We show how Callisto eliminates almost all of the scheduler-related interference between concurrent jobs, while still allowing jobs to claim otherwise-idle cores. We use examples from two recent graph analytics projects and from SPEC OMP.
%@ 978-1-4503-2704-6
@inproceedings{Harris:2014:CCP,
abstract = {It is increasingly important for parallel applications to run together on the same machine. However, current performance is often poor: programs do not adapt well to dynamically varying numbers of cores, and the CPU time received by concurrent jobs can differ drastically. This paper introduces Callisto, a resource management layer for parallel runtime systems. We describe Callisto and the implementation of two Callisto-enabled runtime systems---one for OpenMP, and another for a task-parallel programming model. We show how Callisto eliminates almost all of the scheduler-related interference between concurrent jobs, while still allowing jobs to claim otherwise-idle cores. We use examples from two recent graph analytics projects and from SPEC OMP.},
acmid = {2592807},
added-at = {2015-08-07T11:56:43.000+0200},
articleno = {24},
author = {Harris, Tim and Maas, Martin and Marathe, Virendra J.},
biburl = {https://www.bibsonomy.org/bibtex/272b90866c659469ac76d9df6544d86ca/gron},
booktitle = {Proceedings of the Ninth European Conference on Computer Systems},
description = {Callisto},
doi = {10.1145/2592798.2592807},
interhash = {076efe3137b0010023acd02458be966d},
intrahash = {72b90866c659469ac76d9df6544d86ca},
isbn = {978-1-4503-2704-6},
keywords = {Cloud Cooperative Parallel Resources Runtime Scheduling},
location = {Amsterdam, The Netherlands},
numpages = {14},
pages = {24:1--24:14},
publisher = {ACM},
series = {EuroSys '14},
timestamp = {2015-08-07T11:56:43.000+0200},
title = {Callisto: Co-scheduling Parallel Runtime Systems},
year = 2014
}