A mai napon új javításokat tettek közzé, amelyek lehetővé teszik az x86-os hibrid CPU-k fürtütemezését. Az Alder Lake és újabb modern Core CPU-k fürtütemezésének legújabb kísérlete viszont néhány kisebb teljesítményelőnyt hoz a jelenlegi kóddal szemben.

Korábban az Intel mérnökei próbálkoztak a fürtütemezéssel Linuxon, de az végül regressziót okozott… A problémát még 2021-ben emeltem ki, amikor a Linux 5.16 új fürtütemezése regressziót okoz, ami tovább rontja az Alder Lake-et. Ennek a legújabb x86-os fürtütemezésnek a hibrid CPU-khoz most jobb állapotban kell lennie.

Tim Chen, az Intel mérnöke közzétette a mai javítássorozatot, és hozzáfűzte:

“A fürtütemezési tartomány nincs engedélyezve x86 hibrid CPU-kon, mivel a logika az hiányzik a megfelelő terheléselosztás az egymagos SMT CPU-kat tartalmazó fürt és a több Atom CPU-t tartalmazó fürt között.

Ricardo nemrégiben bemutatott egy javítássorozatot, amely nagymértékben javította a terheléselosztási logikát a P-magok és az E-magok között x86 hibrid CPU-kon.
https://lore.kernel.org/lkml/[email protected]/T/#m16ebc8de64dbf4c54adebab701b42b47805105f4

Azonban ez a patch-sorozat nem elegendő ahhoz, hogy engedélyezze a fürtütemezést hibrid x86-os CPU-kon. Ez a patch-sorozat további cluster-betöltést biztosít. A nagy magokból álló SMT CPU-kból álló ütemezési csoport és az Atom CPU-kból álló fürtütemezési csoport.Ezekkel a javításokkal a Ricardo patch sorozatának tetején a terhelés megfelelően kiegyensúlyozott a P-mag és az E-core klaszterek között. A tétlen CPU-k a megfelelő sorrendben használatosak:

1) SMT CPU egy tétlen P-magon,
2) tétlen E-mag,
3) nem használt SMT CPU egy elfoglalt testvérrel.”

Ezekkel az új javításokkal az Intel mérnöke akár néhány százalékos javulást is tapasztalt P/E hibrid CPU-tesztelése során:

“Teszteltem néhány egyszálú benchmarkot Phoronix csomag, amely korábban regressziót mutatott, amikor először engedélyezte a fürtütemezést. A fürtütemezés ezzel a javítássorozattal a vanília kernelhez hasonlóan teljesít.

Egyszálas 6.3-rc5 fürtfejlesztéssel
Benchmark ütemezés a Teljesítményben
(futás-futás eltérés)
——————————————————————————————-
tjpad (+/-0,08%) (+/-0,23%)-0,23%
PhPbench (+/-0,31% (+/-0,89%)-0,39%
flac (+/-0,58%) (+/-0,22%) +0,17%
pybench (+/-3,16%) (+/-0,27) %) +2,55%

Többszálú benchmarkokhoz kipróbáltam a kernel buildet és a tensor flow lite-ot. A fürtütemezés a 10 szálas esetnél működött a legjobban, ahol 6 szál fut a P-magokon, 2 szál az egyik Atom-fürtön és 2 szál a másik Atom-fürtön. Míg a vanília kernelnek 6 szála lesz a P-magokon, 4 szál pedig egy Atom klaszteren. Bár a különbségek kicsik, és a futási eltérések közé esnek.

Többszálas 6.3-rc5 fürtfejlesztéssel
Benchmark ütemezés a teljesítményben
(-#threads) (futás-futás eltérés)
——————————————————————————————-
Kbuild-8 (+/-2,90%) (+/-1,16%)-0,76%
Kbuild-10 (+/-3,08%) (+/-3,09%) +0,64%
Kbuild-12 (+/-3,28%) (+/-3,55%) +0,91%
Tensor Lite-8 (+/-4,84%) (+/-4,61%)-0,23%
Tensor Lite-10 (+/-0,87%) (+/-1,45%) +0,47%
Tensor Lite-12 (+/-1,37%) (+/-1,04%)-0,12%”

Érdekes lesz látni, hogyan alakul ez az új klaszterütemezési kísérlet, bár túl későn látni a v6.4-es ciklusban, ezért most legalább a 6.5-ös verzió előtt nem lesz szó. Mindenesetre, mivel lesz időm kipróbálni az új javításokat, kipróbálom őket az Alder Lake-en és A Raptor Lake segítségével megtudhatja, hogyan befolyásolja a Linux teljesítményét a munkaterhelések szélesebb tartományában.

Lásd: ezt a kernel levelezőlista-szálat, ha érdekel ez a legújabb fürtütemezési munka Intel hibrid CPU-khoz.

Categories: IT Info