Sono state preparate ottimizzazioni per il kernel Linux che migliorano le prestazioni dei pianificatori di input/output.

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

L'analisi della situazione ha rivelato che una delle cause chiave delle prestazioni subottimali nei sottosistemi degli scheduler di I/O erano i problemi di contesa dei lock. 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 molti casi (in IOPS).

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

Fonte: opennet.ru

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