A Linux sched_ext az üres SMT-testvéreket részesíti előnyben a jobb teljesítményért

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A közelgő Linux 7.1 kernel ciklus előtt a fejlesztői fában sorban áll egy sched_ext módosítás, amely az eddigi működéshez képest – amikor egyszerűen a legutóbbi szintű gyorsítótárat (LLC) megosztó CPU-k közül választott – az üres SMT testvérszálakat részesíti előnyben, és ezzel kis mértékben jobb teljesítményt ígér. Ha van üres SMT testvérszál, a sched_ext mostantól ezt választja először, és csak utána nézi meg az azonos LLC-n belüli CPU-kat, majd az azonos NUMA node-hoz tartozókat, végül pedig bármely más, a rendszerben elérhető üres CPU-t.

Andrea Righi, az NVIDIA munkatársa 2–3%-os előnyt mért az üres SMT testvérszálak előnyben részesítésével CPU-limitált terheléseknél. A sorba állított patch kapcsán így indokolta a változtatást:

"Az alapértelmezett, beépített üres CPU-kiválasztási szabályban, ha a @prev_cpu foglalt, és nem érhető el teljesen üres mag, akkor a feladatot az SMT testvérszálára próbáljuk helyezni, ha az a testvérszál üres, még mielőtt az azonos LLC-ben lévő bármely más üres CPU-t keresnénk.

A testvérszálra történő migráció olcsó, és a feladatot ugyanazon a magon tartja, megőrzi az L1 cache tartalmát, és csökkenti az ébresztési késleltetést.

Nagy SMT rendszereken ez a jelek szerint következetesen nagyjából 2–3%-kal növeli az áteresztőképességet CPU-limitált terheléseknél (az SMT magok számával megegyező számú feladat futtatásakor)."

A patch a sched_ext.Git „for-next” Git ágában van, így a változtatás várhatóan a jövő havi Linux 7.1 merge window során kerül be.