Conference Publication

Callisto: Co-Scheduling Parallel Runtime Systems
April 2014

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.

Authors: Tim Harris, Martin Maas, Virendra Marathe,

Venue: EuroSys 2014

Hardware and Software, Engineered to Work Together