Improving Dual Priority scheduling algorithm by implementing various low priority orders
MetadataShow full item record
Dual Priority scheduling is a variation of the Fixed Priority scheduling paradigm in real-time systems. It was introduced to make non-real-time jobs complete sooner while ensuring that real-time jobs still meet their deadlines. In Fixed Priority scheduling, each task is assigned with a fixed priority and the task executes in that priority throughout the schedule. In Dual Priority algorithm every task has two priorities, high and low – each task runs in low priority as soon as it arrives and con- tinues executing in its low priority order until it reaches its priority promotion time, and executes at its high priority level until completion. In original Dual Priority scheduling algorithm the low and high priority orderings are the same. This thesis focuses on implementing various low priority orderings to examine which low priority ordering should be chosen to make more tasks schedulable. We found that in many cases, having the low priority order be the reverse of the high priority order allows more task sets to be schedulable. Task sets whose low priority is ordered according to decreasing laxity (the time a job can remain in wait queue without missing a deadline) also seemed to be schedulable more often than other options.