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