Diamond Rings: Acknowledged Event Propagation in Many-Core Processors - Nürnberger, Stefan; Rotta, Randolf; Drescher, Gabor; Danner, Daniel; Nolte, Jörg (Proceedings of the 3rd Workshop on Runtime and Operating Systems for the Many-core Era, 2015)
Hardware and software consistency protocols rely on global observability of consistency events. Acknowledged broadcast is an obvious choice to propagate these events. This paper presents a generalized ring topology for parallel event propagation with acknowledged delivery. Implementations for various many-core architectures show increased performance over conventional approaches. Therefore, diamond rings are a prime candidate for implementations of distributed memory models.
UnivIS-Import:2016-06-01:Pub.2015.tech.IMMD.IMMD4.diamon

FAUBOT: Purposeful Navigation of a Robot in a Simulated Environment - Danner, Daniel; Kaufhold, Caroline; Kranz, Peter; Müller, Rainer; Pfaller, Sven; Riess, Christian; Angelopoulou, Elli (28th IEEE International Real-Time Systems Symposium (RTSS 2007), 2007)

Multi Sloth: An Efficient Multi-Core RTOS using Hardware-Based Scheduling - Müller, Rainer; Danner, Daniel; Schröder-Preikschat, Wolfgang; Lohmann, Daniel (Proceedings of the 26th Euromicro Conference on Real-Time Systems (ECRTS '14), 2014)
Multi-core operating systems inherently face the problem of concurrent access to internal kernel state held in shared memory. Previous work on the Sloth real-time kernel proposed to offload the scheduling decisions to the interrupt hardware, thus removing the need for a software scheduler, no state has to be managed in software. While our existing design covers single-core platforms only, we now present Multi Sloth, a multi-core AUTOSAR OS implementation. In this paper, we show that our hardware-centric approach enables us to easily make the transition to multi-core platforms without the need for explicitly synchronizing kernel data. Even in the case of cross-core interactions, Multi Sloth keeps the unique Sloth properties of strict priority obedience and complete prevention of rate-monotonic priority inversions. AUTOSAR OS mandates only unordered spin locks, which do not guarantee predictable timing. We show the advantages of the Multi Sloth design by additionally providing a wait-free and efficient implementation of the priority-aware Multiprocessor Priority Ceiling Protocol (MPCP). On our reference platform, we achieve overheads as low as 1.1s for acquiring a globally shared resource using the MPCP and round-trip times of 1.4s for cross-core task activations.
UnivIS-Import:2015-04-16:Pub.2014.tech.IMMD.IMMD4.aneffi
Keywords: Sloth; Operating Systems; Embedded Systems; Real-Time Systems; Multi-Core; MPCP; AUTOSAR; Infineon TriCore; Infineon AURIX

Safer Sloth: Efficient, Hardware-Tailored Memory Protection - Danner, Daniel; Müller, Rainer; Schröder-Preikschat, Wolfgang; Hofer, Wanja; Lohmann, Daniel (Proceedings of the 20th Real-Time and Embedded Technology and Applications Symposium (RTAS '14), 2014)
UnivIS-Import:2015-04-16:Pub.2014.tech.IMMD.IMMD4.safers
Keywords: Sloth; Operating Systems; Embedded Systems; Real-Time Systems; Interrupt Handling; Safety; Memory Protection; MPU; OSEK; AUTOSAR; Infineon TriCore

Sloth on Time: Efficient Hardware-Based Scheduling for Time-Triggered RTOS - Hofer, Wanja; Danner, Daniel; Müller, Rainer; Scheler, Fabian; Schröder-Preikschat, Wolfgang; Lohmann, Daniel (Proceedings of the 33rd IEEE Real-Time Systems Symposium (RTSS 2012), 2012)
Traditional time-triggered operating systems are implemented by multiplexing a single hardware timer-the system timer-in software, having the kernel maintain dispatcher tables at run time. Our Sloth on Time approach proposes to make use of multiple timer cells as available on modern micro controller platforms to encapsulate dispatcher tables in the timer configuration, yielding low scheduling and dispatching latencies at run time. Sloth on Time instruments available timer cells in different roles to implement time-triggered task activation, deadline monitoring, and time synchronization, amongst others. By comparing the Sloth on Time kernel implementation to two commercial kernels, we show that our concept significantly reduces the overhead of time-triggered operating systems. The speed-ups in task dispatching that it achieves range up to a factor of 171x, and its dispatch latencies go as low as 14 clock cycles. Additionally, we demonstrate that Sloth on Time minimizes jitter and increases schedulability for its real-time applications, and that it avoids situations of priority inversion where traditional kernels fail by design. © 2012 IEEE.
UnivIS-Import:2015-04-16:Pub.2012.tech.IMMD.IMMD4.slotho
Keywords: Sloth; Operating Systems; Embedded Systems; Real-Time Systems; Interrupt Handling; Timers; Time-Triggered Scheduling; OSEK; AUTOSAR; Infineon TriCore