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 task sets.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call