Title
Symphony: A Scheduler for Client-Server Applications on Coprocessor-Based Heterogeneous Clusters
Abstract
Coprocessors such as GPUs are increasingly being deployed in clusters to process scientific and compute-intensive jobs. In this work, we study if GPU-based heterogeneous clusters can benefit client-server applications. Specifically, we consider the practical situation where multiple client-server applications share a heterogeneous cluster (multi-tenancy), and experience unpredictable variations in incoming client request rates, including steep load spikes. Even for "compute-intensive" client-server applications, it is unclear if a GPU-based cluster can seamlessly deliver acceptable response times in the presence of multi-tenancy and load spikes. We argue that a cluster-level scheduler that is aware of application load, request deadlines and the heterogeneity is necessary in this situation. We propose a novel scheduler called Symphony that enables efficient, dynamic sharing of a GPU-based heterogeneous cluster across multiple concurrently-executing client-server applications, each with arbitrary load spikes. Symphony performs three key tasks: it (i) monitors the load on each application, (ii) collects past performance data and dynamically builds simple performance models of available processing resources and (iii) computes a priority for pending requests based on the above parameters and the requests' slack. Based on this, it reorders client requests across different applications to achieve acceptable response times. We also define how client-server applications should interact with a scheduler such as Symphony, and develop an API to this end. We deploy Symphony as user-space middleware on a high-end heterogeneous cluster with dual quad-core Xeon CPUs and dual NVIDIA Fermi GPUs. An evaluation using representative applications shows that in the presence of load spikes (i) Symphony incurs 2-20x fewer requests that do not meet response time constraints compared with other schedulers, and (ii) in order to achieve the same performance as Symphony, other schedulers need 2x more cluster nodes.
Year
DOI
Venue
2011
10.1109/CLUSTER.2011.46
CLUSTER
Keywords
Field
DocType
acceptable response time,gpu-based heterogeneous cluster,load spike,cluster node,gpu-based cluster,client-server applications,arbitrary load spike,coprocessor-based heterogeneous clusters,heterogeneous cluster,application load,steep load spike,client-server application,history,kernel,middleware,scheduling,resource allocation,measurement,coprocessors
Middleware,Computer science,Scheduling (computing),Symphony,Real-time computing,Xeon,Coprocessor,Distributed computing,Client–server model,GPU cluster,Parallel computing,Operating system,Computer cluster
Conference
ISSN
ISBN
Citations 
1552-5244
978-1-4577-1355-2
3
PageRank 
References 
Authors
0.40
29
5
Name
Order
Citations
PageRank
M. Mustafa Rafique115715.49
Srihari Cadambi252737.06
Kunal Rao3333.03
Ali R. Butt465147.51
Srimat T. Chakradhar52492185.94