Scheduler di rete
Uno scheduler di rete (in inglese network scheduler o packet scheduler), è un programma che gestisce la sequenza di pacchetti di rete in una coda di trasmissione/ricezione di una scheda di rete. Esistono più scheduler disponibili per differenti kernel e che implementano differenti algoritmi di scheduling.
Funzionamento
[modifica | modifica wikitesto]Algoritmi di scheduling
[modifica | modifica wikitesto]Col passare del tempo, sono stati ideati e sviluppati diversi algoritmi di scheduling di rete. Molti di questi sono stati implementati come Loadable Kernel Module[1] e sono disponibili gratuitamente:
- AVQ (Adaptive Virtual Queue)[2]
- CBQ (Class-based queueing)
- CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows) variante dell'algoritmo RED (vedi sotto)
- CoDel (Controlled Delay) e Fair Queue CoDel
- Credit-based fair queueing
- DRR (Deficit round robin) e DWRR, scritto da Patrick McHardy per il kernel Linux[3] e rilasciato sotto GNU General Public License
- HFSC (Hierarchical Fair Service Curve)
- NETEM Network emulator[4]
- HTB (Hierarchy Token Bucket)[5]
- QFQ (Quick Fair Queueing)[6]
- FQ (Fair queueing) and WFQ (Weighted fair queueing)
- pkt_sched: fq: Fair Queue packet scheduler[7]
- RED (Random early detection) e le varianti ARED, GRED, RRED (Robust random early detection) WRED (Weighted random early detection)
- SFB (Stochastic Fair Blue) e la variante Resilient SFB
- SFQ (Stochastic Fairness Queueing)[8]
- TBF (Token Bucket Filter)[9]
- TEQL (Trivial Link Equalizer)
- RR (Round-robin) e WRR (Weighted round robin)
- PIE (Proportional integral controller enhanced)[10]
- HFF (Heavy-hitter filter)[11]
Note
[modifica | modifica wikitesto]- ^ The Linux kernel network scheduler, su git.kernel.org, kernel.org, 26 dicembre 2012. URL consultato il 7 settembre 2013.
- ^ http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.4477&rep=rep1&type=pdf
- ^ DRR Linux kernel network scheduler module, su git.kernel.org, kernel.org. URL consultato il 7 settembre 2013.
- ^ Network emulator Linux kernel network scheduler module, su git.kernel.org, kernel.org. URL consultato il 7 settembre 2013.
- ^ HTB Linux kernel network scheduler module, su git.kernel.org, kernel.org. URL consultato il 7 settembre 2013.
- ^ QFQ Linux kernel network scheduler module, su git.kernel.org, kernel.org. URL consultato il 7 settembre 2013.
- ^ Fair Queue packet scheduler committed to Linux kernel 3.12, su git.kernel.org.
- ^ SFQ Linux kernel network scheduler module, su git.kernel.org, kernel.org. URL consultato il 7 settembre 2013.
- ^ TBF Linux kernel network scheduler module, su git.kernel.org, kernel.org. URL consultato il 7 settembre 2013.
- ^ Proportional Integral controller Enhanced (PIE), su git.kernel.org, kernel.org.
- ^ Heavy-Hitter Filter qdisc, su git.kernel.org, kernel.org.
Bibliografia
[modifica | modifica wikitesto]- James F. Kurose, Keith W. Ross, Internet e reti di calcolatori, 2ª ed., Milano, McGraw-Hill, 2003, pp. 545-552, ISBN 88-386-6109-X.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Devavrat Shah, Network scheduling and message-passing (PDF), su web.mit.edu, Massachusetts Institute of Technology, p. 39. URL consultato il 10 settembre 2014 (archiviato dall'url originale il 2 gennaio 2016).