Nagy Intel‑előrelépés Battlemage-hez a Linux 7.4-ben

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 mostani körben az Intel Xe driver legnagyobb újdonsága, hogy megvalósították a CPU bindokat és az ULLS-t a migration queue-n. Elsőre nem hangzik különösebben izgalmas funkciónak, de a mérések szerint elég komoly teljesítményelőnyt hoz. Matthew Brost, az Intel mérnöke a javítócsomag-sorozat kísérőlevelében így foglalta össze:

„BMG-n a mérések azt mutatják, hogy amikor a GPU folyamatosan faultokat dolgoz fel, a másoló feladatok körülbelül 30–40 µs-szal gyorsabban futnak (tesztesettől függően) ULLS-sel, mint a hagyományos GuC submissionnel, SLPC-vel engedélyezve a migration queue-n. Hideg GPU-ról indulva a gyorsulás még nagyobb. Mivel a faultkezelés teljesítménye kritikus, az ULLS ígéretes funkciónak tűnik.

A driver-telemetria mellett az UMD compute benchmarkok is következetesen több GB/s javulást mutatnak az oldalfault benchmarkokban, ha az ULLS engedélyezve van.

Az ULLS több energiát fog fogyasztani (ezt még nem mértük), mert a paging engine-en folyamatosan fut egy batch. Ugyanakkor a compute UMD-k már most is ezt teszik a felhasználók számára elérhető engine-eken, így ez vállalható kompromisszumnak tűnik. Az energiafogyasztási aggályok enyhítésére az ULLS kilép egy idő után, ha nem érkezik újabb fault.

Az ULLS működéséhez CPU bindokra van szükség, mert a migration queue-nak kizárólagos hozzáférést kell kapnia a paging hardver engine-hez. Ezért kerültek most be a CPU bindok is.

Az ULLS előfeltételén túl a CPU bindoknak önmagukban is van haszna: csökkentik a VM-bind késleltetését, átláthatóbbá teszik a multi-tile és TLB-invalidation rétegződést, csökkentik a GuC terhelését faultviharok idején, mivel megkerülik, és leválasztják a kernel bindokat a független másoló/törlő feladatokról – ez különösen akkor előnyös, ha a faultokat párhuzamosan szolgáljuk ki. Egy párhuzamos faultolást szimuláló tesztben az átlagos bind idő körülbelül 15 µs-szal csökkent. A legrosszabb esetben egyetlen faulthoz egy 2 MB-os másolás ideje (~60–140 µs) × (pagefault szálak száma − 1) adódna hozzá késleltetésként. Ennek a késleltetésnek a csökkentése növeli a faultkezelő összátviteli sebességét.”

Összességében az ULLS a migration queue-n, a CPU bindokkal együtt elég komoly nyereségnek ígérkezik. Itt az ULLS az Ultra Low Latency Scheduling-et jelenti. Az új Xe pull request tartalmaz egy ULLS-javítást is Crescent Islandhez. Emellett bekerült egy új Panther Lake eszközazonosító is: 0xB0A1. A beolvasztás úton van a DRM-Next felé, hogy bekerüljön az október végi Linux 7.4 merge window előtt. A Linux 7.4 stabil kiadás várhatóan december végén jelenik meg.