SLEEPY SLOTH: Threads as Interrupts as Threads

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

  • Wanja Hofer
  • Daniel Lohmann
  • Wolfgang Schröder-Preikschat

External Research Organisations

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
View graph of relations

Details

Original languageEnglish
Title of host publication2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011
Subtitle of host publicationProceedings
Pages67-77
Number of pages11
Publication statusPublished - 3 Jan 2012
Externally publishedYes
Event2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011 - Vienna, Austria
Duration: 29 Nov 20112 Dec 2011

Publication series

NameProceedings - Real-Time Systems Symposium
ISSN (Print)1052-8725

Abstract

Event latency is considered to be one of the most important properties when selecting an event-driven real-time operating system. This is why in previous work on the SLOTH kernel, we suggested treating threads as ISRs-executing all application code in an interrupt context-and thereby reducing event latencies by scheduling and dispatching solely in hardware. However, to achieve these benefits, SLOTH does not support blocking threads or ISRs, but requires all control flows to have run-to-completion semantics. In this paper, we present SLEEPY SLOTH, an extension of SLOTH that provides a new generalized thread abstraction that overcomes this limitation, while still letting the hardware do all scheduling and dispatching. SLEEPY SLOTH abolishes the (artificial) distinction between threads and ISRs: Threads can be dispatched as efficiently as interrupt handlers and interrupt handlers can be scheduled as flexibly as threads. Our SLEEPY SLOTH implementation of the automotive OSEK OS standard provides much more flexibility to application developers while maintaining efficient execution of application control flows. SLEEPY SLOTH runs on commodity off-the-shelf hardware and outperforms a leading commercial OSEK implementation by a factor of 1.3 to 19.

ASJC Scopus subject areas

Cite this

SLEEPY SLOTH: Threads as Interrupts as Threads. / Hofer, Wanja; Lohmann, Daniel; Schröder-Preikschat, Wolfgang.
2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011: Proceedings. 2012. p. 67-77 (Proceedings - Real-Time Systems Symposium).

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Hofer, W, Lohmann, D & Schröder-Preikschat, W 2012, SLEEPY SLOTH: Threads as Interrupts as Threads. in 2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011: Proceedings. Proceedings - Real-Time Systems Symposium, pp. 67-77, 2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011, Vienna, Austria, 29 Nov 2011. https://doi.org/10.1109/RTSS.2011.14
Hofer, W., Lohmann, D., & Schröder-Preikschat, W. (2012). SLEEPY SLOTH: Threads as Interrupts as Threads. In 2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011: Proceedings (pp. 67-77). (Proceedings - Real-Time Systems Symposium). https://doi.org/10.1109/RTSS.2011.14
Hofer W, Lohmann D, Schröder-Preikschat W. SLEEPY SLOTH: Threads as Interrupts as Threads. In 2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011: Proceedings. 2012. p. 67-77. (Proceedings - Real-Time Systems Symposium). doi: 10.1109/RTSS.2011.14
Hofer, Wanja ; Lohmann, Daniel ; Schröder-Preikschat, Wolfgang. / SLEEPY SLOTH: Threads as Interrupts as Threads. 2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011: Proceedings. 2012. pp. 67-77 (Proceedings - Real-Time Systems Symposium).
Download
@inproceedings{24d088238b154a8288610035ad016ccb,
title = "SLEEPY SLOTH: Threads as Interrupts as Threads",
abstract = "Event latency is considered to be one of the most important properties when selecting an event-driven real-time operating system. This is why in previous work on the SLOTH kernel, we suggested treating threads as ISRs-executing all application code in an interrupt context-and thereby reducing event latencies by scheduling and dispatching solely in hardware. However, to achieve these benefits, SLOTH does not support blocking threads or ISRs, but requires all control flows to have run-to-completion semantics. In this paper, we present SLEEPY SLOTH, an extension of SLOTH that provides a new generalized thread abstraction that overcomes this limitation, while still letting the hardware do all scheduling and dispatching. SLEEPY SLOTH abolishes the (artificial) distinction between threads and ISRs: Threads can be dispatched as efficiently as interrupt handlers and interrupt handlers can be scheduled as flexibly as threads. Our SLEEPY SLOTH implementation of the automotive OSEK OS standard provides much more flexibility to application developers while maintaining efficient execution of application control flows. SLEEPY SLOTH runs on commodity off-the-shelf hardware and outperforms a leading commercial OSEK implementation by a factor of 1.3 to 19.",
author = "Wanja Hofer and Daniel Lohmann and Wolfgang Schr{\"o}der-Preikschat",
year = "2012",
month = jan,
day = "3",
doi = "10.1109/RTSS.2011.14",
language = "English",
isbn = "9780769545912",
series = "Proceedings - Real-Time Systems Symposium",
pages = "67--77",
booktitle = "2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011",
note = "2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011 ; Conference date: 29-11-2011 Through 02-12-2011",

}

Download

TY - GEN

T1 - SLEEPY SLOTH: Threads as Interrupts as Threads

AU - Hofer, Wanja

AU - Lohmann, Daniel

AU - Schröder-Preikschat, Wolfgang

PY - 2012/1/3

Y1 - 2012/1/3

N2 - Event latency is considered to be one of the most important properties when selecting an event-driven real-time operating system. This is why in previous work on the SLOTH kernel, we suggested treating threads as ISRs-executing all application code in an interrupt context-and thereby reducing event latencies by scheduling and dispatching solely in hardware. However, to achieve these benefits, SLOTH does not support blocking threads or ISRs, but requires all control flows to have run-to-completion semantics. In this paper, we present SLEEPY SLOTH, an extension of SLOTH that provides a new generalized thread abstraction that overcomes this limitation, while still letting the hardware do all scheduling and dispatching. SLEEPY SLOTH abolishes the (artificial) distinction between threads and ISRs: Threads can be dispatched as efficiently as interrupt handlers and interrupt handlers can be scheduled as flexibly as threads. Our SLEEPY SLOTH implementation of the automotive OSEK OS standard provides much more flexibility to application developers while maintaining efficient execution of application control flows. SLEEPY SLOTH runs on commodity off-the-shelf hardware and outperforms a leading commercial OSEK implementation by a factor of 1.3 to 19.

AB - Event latency is considered to be one of the most important properties when selecting an event-driven real-time operating system. This is why in previous work on the SLOTH kernel, we suggested treating threads as ISRs-executing all application code in an interrupt context-and thereby reducing event latencies by scheduling and dispatching solely in hardware. However, to achieve these benefits, SLOTH does not support blocking threads or ISRs, but requires all control flows to have run-to-completion semantics. In this paper, we present SLEEPY SLOTH, an extension of SLOTH that provides a new generalized thread abstraction that overcomes this limitation, while still letting the hardware do all scheduling and dispatching. SLEEPY SLOTH abolishes the (artificial) distinction between threads and ISRs: Threads can be dispatched as efficiently as interrupt handlers and interrupt handlers can be scheduled as flexibly as threads. Our SLEEPY SLOTH implementation of the automotive OSEK OS standard provides much more flexibility to application developers while maintaining efficient execution of application control flows. SLEEPY SLOTH runs on commodity off-the-shelf hardware and outperforms a leading commercial OSEK implementation by a factor of 1.3 to 19.

UR - http://www.scopus.com/inward/record.url?scp=84856528278&partnerID=8YFLogxK

U2 - 10.1109/RTSS.2011.14

DO - 10.1109/RTSS.2011.14

M3 - Conference contribution

AN - SCOPUS:84856528278

SN - 9780769545912

T3 - Proceedings - Real-Time Systems Symposium

SP - 67

EP - 77

BT - 2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011

T2 - 2011 32nd IEEE Real-Time Systems Symposium, RTSS 2011

Y2 - 29 November 2011 through 2 December 2011

ER -