Improving the Real-time Performance of a General-purpose OS through Timer Shielding
With the increase in hardware performance of modern embedded systems, general-purpose operating systems (OS) such as Linux are commonly used as embedded OSs. Furthermore, the use of multi-core CPUs enables Linux to improve its real-time performance even on high-load scenarios which is rather hard to...
Gespeichert in:
Veröffentlicht in: | Computer Software 2014/10/24, Vol.31(4), pp.4_77-4_96 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng ; jpn |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | With the increase in hardware performance of modern embedded systems, general-purpose operating systems (OS) such as Linux are commonly used as embedded OSs. Furthermore, the use of multi-core CPUs enables Linux to improve its real-time performance even on high-load scenarios which is rather hard to achieve on single-core CPUs thanks to its “CPU affinity” functionality. However, we found two issues in the current version of the Linux kernel: the CPU affinity of some kernel threads cannot be specified; and the use of timer cascading (use of multiple hardware timers to count time) increases the worst-case response time of real-time tasks. In this paper, we classify the cores in a multi-core CPU into 2 different groups: cores which require real-time performance guarantees; and cores which do not require such guarantees. Then, we propose and evaluate a method that improves the real-time performance of the system by disabling timer cascading on cores which require real-time performance guarantees. |
---|---|
ISSN: | 0289-6540 |
DOI: | 10.11309/jssst.31.4_77 |