Fine Tuning the Scheduling of Tasks on Posix1003.1b Compliant Systems
Abstract
Posix1003.1b compliant operating systems provide two real-time scheduling policies, namely sched_fifo and sched_rr, which under some limited hypotheses are respectively the equivalent of Fixed Priority Pre-emptive (FPP) and Round-Robin (RR). In the field of processor scheduling, schedulability analysis has been extensively studied and the problem of assessing the schedulability of multi-policy systems has been recently addressed. A schedulability analysis provides valuable help for the application designer but it simply asserts whether a given configuration is feasible or not, in general it does not propose any feasible configurations (1) and, as stated by Gerber and Hong "it can rarely help to tune the system (2), which is the inevitable next step". To address problems (1) and (2), we propose in this study an approach using a Genetic Algorithm (GA) to best set task priorities and scheduling policies, according to a chosen criterion, on Posix 1003.1b uniprocessor systems. Moreover, it will be shown that the use of RR, in conjunction with FPP, may improve the schedulability as well as the satisfaction of additional application-dependant criteria.