Optimierungen wurden für den Linux-Kernel entwickelt, um die Leistung der Input/Output-Planer zu steigern.

Jens Axboe, der Schöpfer von io_uring und den I/O-Scheduler CFQ, Deadline und Noop, setzt seine Experimente zur Optimierung der E/A im Linux-Kernel fort. Diesmal haben die I/O-Scheduler BFQ und mq-deadline seine Aufmerksamkeit erregt, da sie sich zumindest im Fall von NVMe-Schnelllaufwerken als Engpass erwiesen haben.

Die Untersuchung der Situation hat gezeigt, dass eine der Hauptursachen für die suboptimale Leistung der I/O-Scheduler-Subsysteme Probleme mit konkurrierenden Sperren ('lock contention', der Versuch, eine von einem anderen Thread gehaltene Sperre zu erhalten) waren. Durch Maßnahmen zur Reduzierung des Wettbewerbs bei der Verarbeitung von Sperren, wie etwa die Serialisierung der Dispatching- und Anfrageeinfügeprozesse, konnte die Leistung der Scheduler in einer Reihe von Situationen erheblich gesteigert werden (in IOPS).

Bei den Tests des BFQ-Schedulers mit dem Tool fio stieg die Leistung von 567K auf 1551K Ein- / Ausgabeberechnungen pro Sekunde, während die Blockierungswettbewerb von 96 % auf 30 % gesenkt wurde. Im Fall von mq-deadline stieg die Leistung nach der Anwendung der vorgeschlagenen Patches bei Verwendung eines NVMe-Speichers von 1070K auf 2560K Ein- / Ausgabeberechnungen pro Sekunde (IOPS), während die Blockierungswettbewerb von 94 % auf 23 % sank.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster