Article révisé par les pairs
Résumé : Nowadays, many real-time operating systems discretize the time relying on a system time unit. To take this behavior into account, real-time scheduling algorithms must adopt a discrete-time model in which both timing requirements of tasks and their time allocations have to be integer multiples of the system time unit. That is, tasks cannot be executed for less than one time unit, which implies that they always have to achieve a minimum amount of work before they can be preempted. Assuming such a discrete-time model, the authors of Zhu et al. (Proceedings of the 24th IEEE international real-time systems symposium (RTSS 2003), 2003, J Parallel Distrib Comput 71(10):1411-1425, 2011) proposed an efficient "boundary fair" algorithm (named BF) and proved its optimality for the scheduling of periodic tasks while achieving full system utilization. However, BF cannot handle sporadic tasks due to their inherent irregular and unpredictable job release patterns. In this paper, we propose an optimal boundary-fair scheduling algorithm for sporadic tasks (named BF 2 2), which follows the same principle as BF by making scheduling decisions only at the job arrival times and (expected) task deadlines. This new algorithm was implemented in Linux and we show through experiments conducted upon a multicore machine that BF 2 2 outperforms the state-of-the-art discrete-time optimal scheduler (PD 2 2), benefiting from much less scheduling overheads. Furthermore, it appears from these experimental results that BF 2 2 is barely dependent on the length of the system time unit while PD 2 2 - the only other existing solution for the scheduling of sporadic tasks in discrete-time systems - sees its number of preemptions, migrations and the time spent to take scheduling decisions increasing linearly when improving the time resolution of the system. © 2014 Springer Science+Business Media New York.