Für den Linux-Kernel wurden Optimierungen vorbereitet, die die Leistung der Ein-/Ausgabe-Planer erhöhen.

Jens Axboe, der Schöpfer von io_uring und den I/O-Scheduler CFQ, Deadline und Noop, hat seine Experimente zur Optimierung der I/O-Leistung im Linux-Kern fortgesetzt. Diesmal haben die I/O-Scheduler BFQ und mq-deadline seine Aufmerksamkeit auf sich gezogen, die sich als Engpass erwiesen haben, zumindest im Falle von schnellen NVMe-Speichern.

Wie eine Untersuchung der Situation ergab, gehören zu den Hauptursachen für die suboptimale Leistung der I/O-Scheduler-Subsysteme Probleme mit konkurrierenden Sperren. Dank Maßnahmen, die darauf abzielen, den Wettbewerb bei der Verarbeitung von Sperren zu reduzieren, wie die Serialisierung der Dispatcher und die Anfragen einfügen, hat sich die Geschwindigkeit der Scheduler in einigen Situationen erheblich erhöht (in IOPS).

Bei der Testung des BFQ-Schedulers mit dem Tool fio stieg die Leistung von 567K auf 1551K I/O-Operationen pro Sekunde, während die Konkurrenz um Sperren von 96% auf 30% sank. Im Fall von mq-deadline stieg die Leistung nach Anwendung der vorgeschlagenen Patches beim Einsatz von NVMe-Speicher von 1070K auf 2560K I/O-Operationen pro Sekunde (IOPS), während die Konkurrenz um Sperren von 94% auf 23% sank.

Quelle: opennet.ru

60GB SSD 8Gb DDR4