Az Intel már javában készül az Alder Lake platform startjára, amely az év vége felé esedékes. Utóbbi nagyrészt azért van, mert a Windows 11 új ütemezője fontos szerepet lát majd el a 16, nem egységes teljesítményű maggal dolgozó processzor működésében, ugyanis 8 nagy, illetve 8 kisebb teljesítményű mag áll majd rendelkezésre, ráadásul ezek két olyan klaszterre lesznek bontva, amelyek között a kommunikációs késleltetés jelentős.
A fejlesztés már működik, így elég sok adatot lehet szerezni arról, hogy PC-n ez a heterogén többmagos dizájn hogyan lesz kezelve. Az ütemezés tekintetében lesz egy hardveres egység beépítve a lapkába, amely segíti a feladatok elosztását. Ez funkcionálisan független az operációs rendszertől, de a legjobb teljesítmény érdekében direkten kell rá optimalizálni. Ezt a Windows 11 ütemezője például meg is teszi, és emiatt a többszálú munkavégzést igénylő feladatokban, akár 4-7%-nyi tempóelőny is biztosítható a Windows 10 ütemezőjéhez viszonyítva. Emiatt az Alder Lake platformhoz nagyon ajánlott a Microsoft érkező operációs rendszere.
Hirdetés
A gyártók opcionálisan lehetőséget adhatnak a kisebb teljesítményű magok, BIOS-ból történő letiltására, ilyenkor elérhetővé válik az AVX-512 és a TSX-NI utasításkészlet, illetve ennél a módnál a Windows 11 sem fontos, mert az új ütemezőből eredő előny a kisebb magok kiesésével eltűnik.
A működést tekintve az AVX-512 és TSX-NI utasításkészletet biztosító mód eléggé egyszerű, hiszen csak a nagyobb teljesítményű magok aktívak, és ezek úgy dolgoznak majd, ahogy egy mai tipikus PC-s processzor, nagy meglepetésre tehát itt ne számítson senki.
Az Alder Lake platform akkor kezd igazán érdekes lenni, ha heterogén többmagos módban fut. Itt az operációs rendszernek komoly szerepe lesz, hiszen az alkalmazás futhat csak a kis teljesítményű, vagy csak a nagy teljesítményű processzorklaszteren, esetleg mindkettőn.
Alapértelmezetten az operációs rendszer felel majd azért, hogy mi fog történni, és emiatt is fontos a Windows 11, mert az tud majd megfelelően dönteni. Ugyanakkor a felhasználónak lehetősége lesz felülbírálni a működést. A hogyan még kérdéses, viszont úgy tudjuk, hogy hosszabb távon mindenképpen a Windows ad majd erre lehetőséget, de első körben nincs kizárva, hogy az Intel kínál ehhez egy külön programot.
Abban az esetben nem lesz jelentős különbség a homogén többmagos processzorok nyújtotta élményhez viszonyítva, ha egy alkalmazás csak a kis vagy a nagy teljesítményű processzorklaszteren fut. Nyilván számít, hogy melyik magokat kapja meg, de ha valakinek az alapértelmezett választás nem felel meg, kérheti a másik tömböt, annak minden előnyévek, illetve hátrányával.
Az igazán újszerű működést a heterogén többmagos mód fogja adni, és erről is az operációs rendszer dönt automatikusan, de továbbra is ott a lehetőség a felhasználó előtt a működés kikényszerítésére. Ilyenkor az adott alkalmazás az összes elérhető magot használni fogja, méghozzá az összes elérhető szállal, függetlenül attól, hogy az egyes szálakhoz rendelt erőforrások között jelentős a teljesítménykülönbség.
Információink szerint több tényezőtől függ, hogy érdemes-e mindegyik magot használni. Ha egy már kiadott, többszálú munkavégzésre felkészített program egymástól igencsak független feladatokat futtat, akkor nagyon is megéri az összes erőforrást bevetni, mert az előnyös lesz a teljesítményre nézve. Ilyen alkalmazások például a CPU-n futó leképezők. Abban az esetben már erősen véleményes az összes mag bevetése, ha a futtatott szálak között jelentős a kommunikáció. Ez azért nem túl szerencsés, mert a kis vagy a nagy teljesítményű processzorklaszterek közötti adatelérési késleltetés igen magas. Addig nincs gond, amíg egy feladat csak a kis vagy csak a nagy tempóra képes magokon marad, de ha az ellentétes klaszteren tárolt gyorsítótárból kell az adat a feldolgozáshoz, akkor rögtön komoly lassulással kell számolni. Ez főleg akkor nagy probléma, ha a futtatott alkalmazásnál kritikus a valós idejű teljesítmény, vagyis leginkább a játékoknál, de lehet majd direkten optimalizálni arra, hogy ezeket a klaszterek közötti adateléréseket minimalizálhassa egy fejlesztő. A magok eltérő teljesítménye azonban még mindig gondot jelent, így arról is gondoskodni kell, hogy a programon belül a teljesítménykritikus szálakat a gyorsabb magok kapják meg.
A fenti bekezdésben taglalt gondokra külön profilozót készít az Intel, így az adott programot az Alder Lake felépítésének limitációihoz lehet tervezni. Ez lényeges szempont, mert egy nem megfelelően felkészített program futtatási teljesítményét a nyolc kisebb tempóra képes mag alkalmazása akár lassíthatja is. Eleinte tehát bőven elképzelhető, hogy a valós idejű teljesítményre kihegyezett applikációk nem igazán fogják az összes magot munkára fogni, viszont ha az adott fejlesztő úgy gondolja, hogy ennek előnyei vannak, akkor lehet majd olyan kódot írni, ami a tipikus szűk keresztmetszeteket direkten kezeli.
Fontos kiemelni, hogy általánosan hatékony megoldás nincs a heterogén többmagos processzorok kezelésére. Olyat lehet csinálni, hogy a hardver tekintetében a magok közötti teljesítménykülönbséget minimalizálja a gyártó, vagy a klaszterek közötti kommunikációs késleltetést alacsonyra szabják, de az eltérő teljesítményű magok alkalmazása olyan váltást jelent szoftveres szinten, amilyen a homogén többmagos érára való átállás volt. A probléma persze más, de ezek a magok csak úgy maguktól nem mindig fognak tökéletesen működni, így sokszor direkt szoftveres optimalizálást igényel a megfelelő teljesítmény biztosítása. Emiatt az Alder Lake platform fontos lesz, hiszen egy tanulógenerációt kínálhat a fejlesztőknek. Persze a felhasználók egy része okkal gondolhatja majd azt, hogy nem lesz itt áttörés, mert az Androidon már jóval régebb óta van bevezetve ez a koncepció, és ott addig jutott el az alkalmazások többsége, hogy kijelöli valamelyik processzorklasztert, majd azon fut, érintetlenül hagyva a többit. Ugyanakkor ez közel sem biztos, hogy igaz lesz a PC-re is.