A metà Settembre è stato proposto sulla Linux Kernel Mailing List (LKML) un nuovo scheduler real-time per Linux, chiamato SCHED_EDF e basato sull’algoritmo di scheduling Earliest Deadline First (EDF). Questo scheduler permette di avere tempi di risposta deterministici per i task, oltre ad una protezione temporale tra i task (per cui le garanzie temporali di un task non vengono influenzate dal comportamento degli altri task presenti nel sistema).
Lo scheduler attuale di Linux, infatti, è modulare e gerarchico, e permette di integrare scheduler diversi (chiamati “scheduling classes”) ciascuno in grado di schedulare task con una policy specifica.
Attualmente, nello scheduler di Linux sono presenti solo due scheduling classes:
- sched_rt, che implementa un algoritmo di scheduling real-time a priorità fissa, e permette di schedulare task con policy SCHED_FIFO e SCHED_RR
- sched_fair (a priorità più bassa) che implementa l’algoritmo Completely Fair Scheduler (CFS) e permette di schedulare task con policy SCHED_OTHER
Lo scheduler SCHED_EDF è stato anche oggetto di un paper e di un talk all’ultimo Real-Time Linux Workshop (RTLWS) tenuto a Dresda (Germania) a fine Settembre. Durante il workshop, gli sviluppatori del kernel presenti (tra cui Peter Zijlstra, Thomas Gleixner, Jonathan Corbet, etc.) hanno discusso riguardo la possibilità di includere questo scheduler real-time all’interno del kernel Linux.
L’implementazione è parte di un progetto europeo FP7 (i.e. Settimo Programma Quadro) chiamato ACTORS e finanziato dalla commissione europea.
A seguito dei suggerimenti ricevuti durante il workshop e dei commenti ricevuti in mailing list, il nome del progetto è stato recentemente cambiato in SCHED_DEADLINE. Il progetto è stato inoltre spostato su un repository git pubblicamente disponibile (i.e. Gitorius) ed una nuova nuova versione è stata rilasciata su LKML.
Per maggiori informazioni sul progetto, è possibile vedere:
Lascia un commento