Tax-and-spend: democratic scheduling for real-time garbage collection

  • Authors:
  • Joshua Auerbach;David F. Bacon;Perry Cheng;David Grove;Ben Biron;Charlie Gracie;Bill McCloskey;Aleksandar Micic;Ryan Sciampacone

  • Affiliations:
  • IBM Research, Hawthrone, NY, USA;IBM Research, Hawthorne, NY, USA;IBM Research, Hawthorne, NY, USA;IBM Research, Hawthorne, NY, USA;IBM Software Group, Ottawa, ON, Canada;IBM Software Group, Ottawa, ON, Canada;U.C. Berkeley, Berkeley, CA, USA;IBM Software Group, Ottawa, ON, Canada;IBM Software Group, Ottawa, ON, Canada

  • Venue:
  • EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
  • Year:
  • 2008

Quantified Score

Hi-index 0.02

Visualization

Abstract

Real-time Garbage Collection (RTGC) has recently advanced to the point where it is being used in production for financial trading, military command-and-control, and telecommunications. However, among potential users of RTGC, there is enormous diversity in both application requirements and deployment environments. Previously described RTGCs tend to work well in a narrow band of possible environments, leading to fragile systems and limiting adoption of real-time garbage collection technology. This paper introduces a collector scheduling methodology called tax-and-spend and the collector design revisions needed to support it. Tax-and-spend provides a general mechanism which works well across a variety of application, machine, and operating system configurations. Tax-and-spend subsumes the predominant pre-existing RTGC scheduling techniques. It allows different policies to be applied in different contexts depending on the needs of the application. Virtual machines can co-exist compositionally on a single machine. We describe the implementation of our system, Metronome-TS, as an extension of the Metronome collector in IBM's Real-time J9 virtual machine product, and we evaluate it running on an 8-way SMP blade with a real-time Linux kernel. Compared to the state-of-the-art Metronome system on which it is based, implemented in the identical infrastructure, it achieves almost 3x shorter latencies, comparable utilization at a 2.5x shorter time window, and mean throughput improvements of 10-20%.