Evaluating and Optimizing Thread Pool Strategies for Real-Time CORBA

  • Authors:
  • Irfan Pyarali;Marina Spivak;Ron Cytron;Douglas C. Schmidt

  • Affiliations:
  • Washington University, St. Louis, MO, USA;Washington University, St. Louis, MO, USA;Washington University, St. Louis, MO, USA;University of California, Irvine, CA

  • Venue:
  • OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Strict control over the scheduling and execution of processor resources is essential for many fixed-priority real-time applications. To facilitate this common requirement, the Real-Time CORBA (RT-CORBA) specification defines standard middleware features that support end-to-end predictability for operations in such applications. One of the most important features in RT-CORBA is thread pools, which allow application developers and end-users to configure and control processor resources.This paper provides two contributions to the evaluation of techniques for improving the quality of implementation of RT-CORBA thread pools. First, we describe the key patterns underlying common strategies for implementing RT-CORBA thread pools. Second, we evaluate each thread pool strategy in terms of its consequences on (1) feature support, such as request buffering and thread borrowing, (2) scalability in terms of end-points and event demultiplexers required, (3) efficiency in terms of data movement, context switches, memory allocations, and synchronizations required, (4) optimizations in terms of stack and thread specific storage memory allocations, and (5) bounded and unbounded priority inversion incurred in each implementation. This paper also provides results that illustrate empirically how different thread pool implementation strategies perform in different ORB configurations.