Ottimizzazioni sono state preparate per il kernel Linux, aumentando le prestazioni degli scheduler I/O

Jens Axboe, creatore di io_uring e degli scheduler I/O CFQ, Deadline e Noop, ha continuato i suoi esperimenti con l'ottimizzazione dell'I/O nel kernel Linux. Questa volta, la sua attenzione si è concentrata sugli scheduler I/O BFQ e mq-deadline, che si sono rivelati un collo di bottiglia almeno nei casi di unità NVMe ad alta velocità.

L'analisi della situazione ha rivelato che una delle cause principali delle prestazioni non ottimali degli scheduler I/O è stata rappresentata dai problemi di competizione per i lock (‘lock contention’, tentativo di acquisire un lock detenuto da un altro thread). Grazie a misure mirate a ridurre la competizione nella gestione dei lock, come la serializzazione della dispatch e l'inserimento delle richieste, la velocità degli scheduler è aumentata in vari casi di diverse volte (in IOPS).

Durante il test dello scheduler BFQ con lo strumento fio, le prestazioni sono aumentate da 567K a 1551K operazioni I/O al secondo, mentre la competizione per i lock è diminuita dal 96% al 30%. Nel caso di mq-deadline, le prestazioni dopo l'applicazione delle patch proposte utilizzando un'unità NVMe sono aumentate da 1070K a 2560K operazioni I/O al secondo (IOPS), mentre la competizione per i lock è diminuita dal 94% al 23%.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster