Avoiding unbounded priority inversion in barrier protocols using gang priority management

  • Authors:
  • Harald Röck;Joshua Auerbach;Christoph M. Kirsch;David F. Bacon

  • Affiliations:
  • University of Salzburg;IBM Research;University of Salzburg;IBM Research

  • Venue:
  • Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Large real-time software systems such as real-time Java virtual machines often use barrier protocols, which work for a dynamically varying number of threads without using centralized locking. Such barrier protocols, however, still suffer from priority inversion similar to centralized locking. We introduce gang priority management as a generic solution for avoiding unbounded priority inversion in barrier protocols. Our approach is either kernel-assisted (for efficiency) or library-based (for portability) but involves cooperation from the protocol designer (for generality). We implemented gang priority management in the Linux kernel and rewrote the garbage collection safe-point barrier protocol in IBM's WebSphere Real Time Java Virtual Machine to exploit it. We run experiments on an 8-way SMP machine in a multi-user and multi-process environment, and show that by avoiding unbounded priority inversion, the maximum latency to reach a barrier point is reduced by a factor of 5.3 and the application jitter is reduced by a factor of 1.5.