Using SMT to Hide Context Switch Times of Large Real-Time Tasksets
Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer
Abstract
Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer
Abstract
Theoretical real-time research generally neglects context switch times. But in recent embedded applications which consist of dozens of threads with very short execution times, their impact is too serious to be ignored. We present a hard real-time scheduling algorithm that perfectly hides the context switch times of an arbitrary number of threads. It requires a Simultaneous Multithreaded (SMT) processor with at least two hardware thread slots and achieves a utilisation of 100%. The schedulability test is the same as for Earliest Deadline First (EDF) with a context switch time of zero. The hard real-time threads are executed alternately in the two slots of the processor. The inactive slot is used to unload the preceding thread context to memory and to load the subsequent thread context from memory. By hardware the active slot is completely isolated, in order to avoid any influence of the context switch on the execution of the active thread. This isolation is extensive, hence if further SMT thread slots are available, they can be used to execute threads with lower real-time demands. Even the context switch hardware can be re-used for them, enabling a very high throughput of mixed real-time tasksets.
OpenAlex reports 6 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Theoretical real-time research generally neglects context switch times. But in recent embedded applications which consist of dozens of threads with very short execution times, their impact is too serious to be ignored. We present a hard real-time scheduling algorithm that perfectly hides the context switch times of an arbitrary number of threads. It requires a Simultaneous Multithreaded (SMT) processor with at least two hardware thread slots and achieves a utilisation of 100%. The schedulability test is the same as for Earliest Deadline First (EDF) with a context switch time of zero. The hard real-time threads are executed alternately in the two slots of the processor. The inactive slot is used to unload the preceding thread context to memory and to load the subsequent thread context from memory. By hardware the active slot is completely isolated, in order to avoid any influence of the context switch on the execution of the active thread. This isolation is extensive, hence if further SMT thread slots are available, they can be used to execute threads with lower real-time demands. Even the context switch hardware can be re-used for them, enabling a very high throughput of mixed real-time tasksets.
Key concepts: Thread (computing), Context switch, Computer science, Parallel computing, Scheduling (production processes), Execution time, Yarn, Multithreading