Real-Time Systems

, Volume 51, Issue 4, pp 440–483

Multiprocessor real-time scheduling with arbitrary processor affinities: from practice to theory

  • Arpan Gujarati
  • Felipe Cerqueira
  • Björn B. Brandenburg
Article

DOI: 10.1007/s11241-014-9205-9

Cite this article as:
Gujarati, A., Cerqueira, F. & Brandenburg, B.B. Real-Time Syst (2015) 51: 440. doi:10.1007/s11241-014-9205-9

Abstract

Contemporary multiprocessor real-time operating systems, such as VxWorks, LynxOS, QNX, and real-time variants of Linux, allow a process to have an arbitrary processor affinity, that is, a process may be pinned to an arbitrary subset of the processors in the system. Placing such a hard constraint on process migrations can help to improve cache performance of specific multi-threaded applications, achieve isolation among applications, and aid in load-balancing. However, to date, the lack of schedulability analysis for such systems prevents the use of arbitrary processor affinities in predictable hard real-time systems. This paper presents the first analysis of multiprocessor scheduling with arbitrary processor affinities from a real-time systems perspective. It is shown that job-level fixed-priority scheduling with arbitrary processor affinities is strictly more general than global, clustered, and partitioned job-level fixed-priority scheduling combined. Concerning the more general case of job-level dynamic priorities, it is shown that global and clustered scheduling are equivalent to multiprocessor real-time scheduling with arbitrary processor affinities. The Linux push and pull scheduler is studied as a reference implementation and two approaches for the schedulability analysis of hard real-time tasks with arbitrary processor affinities are presented. In the first approach, the scheduling problem is reduced to “global-like” sub-problems to which existing global schedulability tests can be applied. The second approach is specifically based on response-time analysis and models the response-time computation as a linear optimization problem. The latter linear-programming-based approach has better runtime complexity than the former reduction-based approach. Schedulability experiments show the proposed techniques to be effective.

Keywords

Multiprocessors Real-time systems Processor affinities  Schedulability analysis 

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Arpan Gujarati
    • 1
  • Felipe Cerqueira
    • 1
  • Björn B. Brandenburg
    • 1
  1. 1.Max Planck Institute for Software Systems (MPI-SWS)KaiserslauternGermany

Personalised recommendations