: Luis Burdalo, Andrs Terrasa, Agustın Espinosa, and Ana Garcıa-FornesVenue
: Transactions on Software EngineeringDate
: Nov/Dec 2012Type of Experiement
: Controlled ExperimentData Collection Method
: Code Metric
Schedulers for real time systems often categorize tasks into two categories: hard tasks - which need to be completed before their deadline in order to avoid run time errors, and soft tasks - which provide utility for the system. This study analyzes fixed priority preemptive scheduling, in which the tasks with the highest priority are always run first. This article explores the effect gain time has on the performance of the system. Gain time is defined as the difference between the offline worst case execution time (WELC) for hard tasks and their real execution time. Major performance issues occur when gain time is large because hard tasks are often invalidly kept from running during this gain time. Gain time benefits soft tasks, but hinders the theoretical system performance because it delays hard tasks.
The experiment tested several scheduling policies using a custom framework built off of a modified version of the Open Real-Time Linux system. The framework generated random tasks and recorded several metrics about how the scheduling policy performed under the load. Because WELC is often over calculated (to create a safer run time) many of the policies have algorithms specifically tailored towards dealing with performance loss due to gain time. All things being equal, the results showed that an increase in gain time significantly reduced the advantages of using any of the policies. Moreover, as expected any advantages from gain time resulted in performance benefit for soft tasks. The article continues to state small advantages for certain schedulers in specific situations.