Già il 31 agosto 2009, dopo aver cessato ogni attività di sviluppo per circa due anni, Con Kolivas era tornato con il suo nuovo gioiello: BFS, un nuovo scheduler per il kernel Linux. Lo scheduler è il cuore del kernel, e ha lo scopo di organizzare, mettere in lista e regolare le richieste di risorse da parte dei processi; di conseguenza svolge un ruolo fondamentale sul comportamento di tutto il sistema operativo. Attualmente lo scheduler ufficiale di Linux è il CFS che sostituì il vetusto O(1) scheduler, che a sua volta aveva lo scopo di stabilizzare la variabilità dei ritardi nei tempi di risposta. Una funzione importante e difficile da implementare: ma quello scheduler non era l’ideale per chi cercava responsività nella macchina, ad esempio negli utilizzi desktop.
CFS – Completely Fair Scheduler – fu sviluppato da Ingo Molnàr e introdotto dalla 2.6.23 con l’intento di implementare in Linux la politica di fair scheduling, equità, ossia fornire ai processi un raggruppamento per utenti e gruppi di utenti, e ridistribuirne il carico sul processore in maniera circolare. Per fare ciò Ingo Molnàr ha organizzato i processi in strutture dati denominati alberi rosso-neri che consentono operazioni con costo pari al logaritmo del numero dei processi.
Con Kolivas nei suoi ultimi interventi su BFS ha implementato corpose novità non solo nello scheduling, che risulta avere un algoritmo molto più semplice rispetto agli altri, ma anche nelle strutture dati che ospitano le informazioni sui processi. L’orientamento al desktop che Kolivas vuole dare a BFS ha dato come ultimi frutti l’introduzione, a mio avviso molto importante, delle skip list. Questo ha consentito di spostare la complessità verso l’inserimento in coda a guadagno della lettura che viene effettuata con tempi non dipendenti dal numero dei processi e ciò risulta essere molto importante a partire da carichi molto elevati.
Gli ultimi test ufficiali risalgono al 16 Agosto 2011 ed in sintesi ne viene fuori una sostanziale parità in termini prestazionali rispetto a CFS ma la vocazione di BFS per il desktop realizza, secondo Phoronix, un migliore utilizzo della CPU, circa il 7% in meno, migliori performance soprattutto al crescere dei core e una migliore responsività. Personalmente credo che i lavori di Con Kolivas dovrebbero ricevere maggiori attenzioni: il suo impegno per un kernel desktop oriented potrebbe rivelarsi molto utile per una maggiore competitività del pinguino fuori dal segmento server.
Via | -ck Hacking
Linux secondo Con Kolivas: quale scheduler per Linux desktop? é stato pubblicato su Ossblog.it alle 17:48 di lunedì 26 settembre 2011.