Lo Stochastic Fairness Queuing (SFQ) è un algoritmo usato per lo scheduling e risulta particolarmente adatto quando la natura dei task è varia.
Considerando un generico sistema, cioè non dedicato ad una specifica applicazione, i task possono essere interattivi, batch o real-time hard, soft, periodici, pseudoperiodici o aperiodici.
Funzione SFQ permette di associare ad ogni tipologia di task uno specifico algoritmo di scheduling. SFQ è organizzato ad albero. Sul nodo radice vige uno scheduler generico. Ogni ramo è caratterizzato da uno scheduler adatto per la tipologia di task, per i quali la gestione viene demandata allo specifico ramo. Le risorse, in termini di tempo di CPU, sono distribuite tra i vari rami dallo scheduler del nodo radice. In questa rappresentazione le foglie dell'albero rappresentano i task.
Vantaggi Il suo comportamento fairness (equo) evita problemi di starvation. Non richiede la conoscenza a priori del tempo necessario per l'esecuzione di un task. Stabilisce un limite superiore per il delay. Stabilisce un limite inferiore per il throughput. È adattabile al contesto ed alla tipologia di sistema su cui deve essere implementato.
Voci correlate Task Weighted fair queueing
Categoria:Algoritmi di scheduling