Linux 7.0 ígéretes IO_uring IOPOLL polling javításokkal

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

A következő Linux kernel ciklus, amely valószínűleg Linux 7.0 néven érkezik (vagy 6.20-ként), jelentős fejlesztéseket hozhat az IO_uring teljesítményében, különösen az IOPOLL polling mechanizmus terén.

Az IO_uring vezető fejlesztője és a Linux blokkszubszisztem karbantartója, Jens Axboe, benyújtott egy javító szoftverfoltot a for-7.0/io_uring ágba, amelynek célja a polling hatékonyságának növelése. Axboe elmagyarázza a változtatást:

„Az io_uring az IOPOLL read/write kéréseket egy egyszeresen láncolt listában kezeli. Ennek hátránya, hogy az egyes elemeket nehéz eltávolítani a listából, és emiatt csak a sorban az első N kérelem teljesítése után kerül sor a következőre. Homogén I/O esetén ez nem probléma, de ha különböző eszközök vagy eltérő I/O kérések szerepelnek ugyanabban a ringben, ez feleslegesen késleltetheti egyes kérések teljesítését.

A javaslat: váltás egy kettős láncolt listára az iopoll teljesítésekhez, így bármely sikeresen polled kérést könnyen teljesíteni lehet.”

A felhasználók számára a legérdekesebb az eredmény, hiszen a változtatás a késleltetés csökkentését és a teljesítmény javulását célozza, különösen heterogén eszközök és párhuzamos I/O terhelés esetén. Fengnan Chang a Bytedance-től már megosztott egy patch-et a polling mód javítására és benchmark eredményeket is közölt, amelyek érdekes előrelépést jeleznek a Linux 6.20~7.0 környezetben.

Ez az optimalizáció különösen hasznos lehet szerverek és nagy I/O terhelésű rendszerek számára, ahol a párhuzamos adatfolyamok gyorsabb feldolgozása kulcsfontosságú.