The utility coprocessor: massively parallel computation from the coffee shop

  • Authors:
  • John R. Douceur;Jeremy Elson;Jon Howell;Jacob R. Lorch

  • Affiliations:
  • Microsoft Research;Microsoft Research;Microsoft Research;Microsoft Research

  • Venue:
  • USENIXATC'10 Proceedings of the 2010 USENIX conference on USENIX annual technical conference
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

UCop, the "utility coprocessor," is middleware that makes it cheap and easy to achieve dramatic speedups of parallelizable, CPU-bound desktop applications using utility computing clusters in the cloud. To make UCop performant, we introduced techniques to overcome the low available bandwidth and high latency typical of the networks that separate users' desktops from a utility computing service. To make UCop economical and easy to use, we devised a scheme that hides the heterogeneity of client configurations, allowing a single cluster to serve virtually everyone: in our Linux-based prototype, the only requirement is that users and the cluster are using the same major kernel version. This paper presents the design, implementation, and evaluation of UCop, employing 32-64 nodes in Amazon EC2, a popular utility computing service. It achieves 6-11× speedups on CPU-bound desktop applications ranging from video editing and photorealistic rendering to strategy games, with only minor modifications to the original applications. These speedups improve performance from the coffee-break timescale of minutes to the 15-20 second timescale of interactive performance.