Advanced

rt-muse : measuring real-time characteristics of execution platforms

Maggio, Martina LU ; Lelli, Juri and Bini, Enrico LU (2017) In Real-Time Systems
Abstract

Operating systems code is often developed according to principles like simplicity, low overhead, and low memory footprint. Schedulers are no exceptions. A scheduler is usually developed with flexibility in mind, and this restricts the ability to provide real-time guarantees. Moreover, even when schedulers can provide real-time guarantees, it is unlikely that these guarantees are properly quantified using theoretical analysis that carries on to the implementation. To be able to analyze the guarantees offered by operating systems’ schedulers, we developed a publicly available tool that analyzes timing properties extracted from the execution of a set of threads and computes the lower and upper bounds to the supply function offered by the... (More)

Operating systems code is often developed according to principles like simplicity, low overhead, and low memory footprint. Schedulers are no exceptions. A scheduler is usually developed with flexibility in mind, and this restricts the ability to provide real-time guarantees. Moreover, even when schedulers can provide real-time guarantees, it is unlikely that these guarantees are properly quantified using theoretical analysis that carries on to the implementation. To be able to analyze the guarantees offered by operating systems’ schedulers, we developed a publicly available tool that analyzes timing properties extracted from the execution of a set of threads and computes the lower and upper bounds to the supply function offered by the execution platform, together with information about migrations and statistics on execution times. rt-muse evaluates the impact of many application and platform characteristics including the scheduling algorithm, the amount of available resources, the usage of shared resources, and the memory access overhead. Using rt-muse, we show the impact of Linux scheduling classes, shared data and application parallelism, on the delivered computing capacity. The tool provides useful insights on the runtime behavior of the applications and scheduler. In the reported experiments, rt-muse detected some issues arising with the real-time Linux scheduler: despite having available cores, Linux does not migrate SCHED_RR threads which are enqueued behind SCHED_FIFO threads with the same priority.

(Less)
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Contribution to journal
publication status
epub
subject
keywords
Linux kernel, Resource measurement, Supply functions, Tools
in
Real-Time Systems
pages
29 pages
publisher
Kluwer
external identifiers
  • scopus:85021762783
ISSN
0922-6443
DOI
10.1007/s11241-017-9284-5
language
English
LU publication?
yes
id
c45d1c70-5ff3-4b15-b711-3c8fdfe7b6d0
date added to LUP
2017-07-19 07:58:54
date last changed
2017-07-19 07:58:54
@article{c45d1c70-5ff3-4b15-b711-3c8fdfe7b6d0,
  abstract     = {<p>Operating systems code is often developed according to principles like simplicity, low overhead, and low memory footprint. Schedulers are no exceptions. A scheduler is usually developed with flexibility in mind, and this restricts the ability to provide real-time guarantees. Moreover, even when schedulers can provide real-time guarantees, it is unlikely that these guarantees are properly quantified using theoretical analysis that carries on to the implementation. To be able to analyze the guarantees offered by operating systems’ schedulers, we developed a publicly available tool that analyzes timing properties extracted from the execution of a set of threads and computes the lower and upper bounds to the supply function offered by the execution platform, together with information about migrations and statistics on execution times. rt-muse evaluates the impact of many application and platform characteristics including the scheduling algorithm, the amount of available resources, the usage of shared resources, and the memory access overhead. Using rt-muse, we show the impact of Linux scheduling classes, shared data and application parallelism, on the delivered computing capacity. The tool provides useful insights on the runtime behavior of the applications and scheduler. In the reported experiments, rt-muse detected some issues arising with the real-time Linux scheduler: despite having available cores, Linux does not migrate SCHED_RR threads which are enqueued behind SCHED_FIFO threads with the same priority.</p>},
  author       = {Maggio, Martina and Lelli, Juri and Bini, Enrico},
  issn         = {0922-6443},
  keyword      = {Linux kernel,Resource measurement,Supply functions,Tools},
  language     = {eng},
  month        = {06},
  pages        = {29},
  publisher    = {Kluwer},
  series       = {Real-Time Systems},
  title        = {rt-muse : measuring real-time characteristics of execution platforms},
  url          = {http://dx.doi.org/10.1007/s11241-017-9284-5},
  year         = {2017},
}