Redline: first class support for interactivity in commodity operating systems

  • Authors:
  • Ting Yang;Tongping Liu;Emery D. Berger;Scott F. Kaplan;J. Eliot B. Moss

  • Affiliations:
  • Dept. of Computer Science, University of Massachusetts Amherst, Amherst, MA;Dept. of Computer Science, University of Massachusetts Amherst, Amherst, MA;Dept. of Computer Science, University of Massachusetts Amherst, Amherst, MA;Dept. of Mathematics and Computer Science, Amherst College, Amherst, MA;Dept. of Computer Science, University of Massachusetts Amherst, Amherst, MA

  • Venue:
  • OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

While modern workloads are increasingly interactive and resource-intensive (e.g., graphical user interfaces, browsers, and multimedia players), current operating systems have not kept up. These operating systems, which evolved from core designs that date to the 1970s and 1980s, provide good support for batch and command-line applications, but their ad hoc attempts to handle interactive workloads are poor. Their best-effort, priority-based schedulers provide no bounds on delays, and their resource managers (e.g., memory managers and disk I/O schedulers) are mostly oblivious to response time requirements. Pressure on any one of these resources can significantly degrade application responsiveness. We present Redline, a system that brings first-class support for interactive applications to commodity operating systems. Redline works with unaltered applications and standard APIs. It uses lightweight specifications to orchestrate memory and disk I/O management so that they serve the needs of interactive applications. Unlike realtime systems that treat specifications as strict requirements and thus pessimistically limit system utilization, Redline dynamically adapts to recent load, maximizing responsiveness and system utilization. We show that Redline delivers responsiveness to interactive applications even in the face of extreme workloads including fork bombs, memory bombs and bursty, large disk I/O requests, reducing application pauses by up to two orders of magnitude.