Sharc: Managing CPU and Network Bandwidth in Shared Clusters

Bhuvan Urgaonkar, Prashant Shenoy

Research output: Contribution to journalArticlepeer-review

54 Scopus citations


In this paper, we argue the need for effective resource management mechanisms for sharing resources in commodity clusters. To address this issue, we present the design of Sharc - a system that enables resource sharing among applications in such clusters. Sharc depends on single node resource management mechanisms such as reservations or shares, and extends the benefits of such mechanisms to clustered environments. We present techniques for managing two important resources - CPU and network interface bandwidth - on a cluster-wide basis. Our techniques allow Sharc to 1) support reservation of CPU and network interface bandwidth for distributed applications, 2) dynamically allocate resources based on past usage, and 3) provide performance isolation to applications. Our experimental evaluation has shown that Sharc can scale to 256 node clusters running 100,000 applications. These results demonstrate that Sharc can be an effective approach for sharing resources among competing applications in moderate size clusters.

Original languageEnglish (US)
Pages (from-to)2-17
Number of pages16
JournalIEEE Transactions on Parallel and Distributed Systems
Issue number1
StatePublished - Jan 2004

All Science Journal Classification (ASJC) codes

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'Sharc: Managing CPU and Network Bandwidth in Shared Clusters'. Together they form a unique fingerprint.

Cite this