Sloth: The Virtue and Vice of Latency Hiding in Hardware-Centric Operating Systems
نویسنده
چکیده
Software for embedded systems needs to be tailored to the application requirements to provide for the lowest cost overhead possible; this is especially important for embedded operating systems, which do not provide a business value of their own. State-of-the-art embedded operating systems are tailored to the requirements of the application above, but they abstract from the hardware platform below, missing out on advantageous hardware peculiarities to optimize the non-functional properties of the system. Additionally, they provide the application programmer with a multitude of control flow types, which leads to several severe restrictions and problems for the application development and in the realtime execution of the system—for instance, high-priority tasks can be interrupted by low-priority interrupt service routines at any time. The SLOTH operating system design for event-triggered and time-triggered embedded real-time systems as presented in this thesis is unique in that it employs a hardware-centric approach for its scheduling, dispatching, and timing services and makes use of hardware particularities—with the purpose of optimizing the non-functional properties of the operating system and the application. In its implementation, SLOTH assigns each task an interrupt source with an appropriately configured priority and maps software activations of that task to setting the request bit of the interrupt source. This way, SLOTH has the hardware interrupt subsystem make the scheduling decision with the corresponding dispatch of the interrupt handler, which directly executes the application task function. Time-triggered dispatch tables are encapsulated in hardware timer cell arrays that SLOTH pre-configures at initialization time with the corresponding timing parameters, making the hardware timer subsystem execute the dispatcher rounds autonomously at run time. The evaluation of the SLOTH operating system implementation shows that its light-weight design mitigates or even eliminates the safety-related problems and restrictions in the real-time execution of the application by providing a unified control flow abstraction in a unified priority space, eliminating the artificial distinction between tasks and ISRs. Additionally, its exhibited non-functional properties show unprecedented levels of efficiency by hiding latencies in the hardware subsystems: A feature-complete SLOTH operating system can be tailored to less than 200 lines of source code; it compiles to less than 500 bytes of code memory and as few as 8 bytes of data memory; and it can schedule and dispatch tasks in as few as 12 clock cycles with speed-up factors of up to 106 compared to commercial operating systems. Since SLOTH prototypically implements the automotive OSEK OS, OSEKtime OS, and AUTOSAR OS standards and runs on commodity off-the-shelf hardware, it is applicable to a wide range of embedded real-time systems.
منابع مشابه
A Survey of Concurrency Control Algorithms in the Operating Systems
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...
متن کاملA Survey of Concurrency Control Algorithms in the Operating Systems
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...
متن کاملA Memory-Centric Characterization of ASCI Applications Via a Combined Approach of Statistical and Empirical Analysis
Memory latency is a substantial contributor to single processor performance loss. Latency hiding techniques such as out of order and speculative execution, outstanding loads to memory, and increases in cache size, have been implemented by chip designers to alleviate this bottleneck. Incorporation of such techniques in superscalar processors has made application performance evaluation a more di ...
متن کاملImplementation of an Interrupt-Driven OSEK Operating System Kernel on an ARM Cortex-M3 Microcontroller
An operating system usually distinguishes between threads managed by a software scheduler and interrupt service routines, scheduled and dispatched by an interrupt controller. This paradigm has inherent problems for real-time systems as low-priority interrupt routines can interrupt high-priority threads. The Sloth concept proposes to overcome this issue by implementing both interrupt handlers an...
متن کاملSelf-Virtualized I/O: High Performance, Scalable I/O Virtualization in Multi-core Systems
Virtualizing I/O subsystems and peripheral devices is an integral part of system virtualization. This paper advocates the notion of self-virtualized I/O (S-VIO). Specifically, it proposes a hypervisor-level abstraction that permits guest virtual machines to efficiently exploit the multi-core nature of futureion that permits guest virtual machines to efficiently exploit the multi-core nature of ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014