Hirdetés

Nem tartja jó megoldásnak az E-magok kerülését az Intel

A vállalat egyre több ilyen magot szeretne alkalmazni, így inkább egy kis fejlesztői munkát várna el.

Manapság az Intel processzorok egyik sarkalatos pontja az E-magok kérdése, amelyek bizonyos helyzetekben lassítják a játékok futtatási sebességét. Ez előfordul számos címben, persze sokszor csak a minimum képkockasebességet fogják vissza, de a helyzet esetenként odáig fajult, hogy maga a fejlesztő ad lehetőséget az E-magok elkerülésére, gondolván itt a Cyberpunk 2077 egyik javítócsomagjára.

Hirdetés

Az ügy kapcsán érdeklődtünk a Santa Clara-i óriáscég szakembereinél, hogy mi is lehet erre a megoldás, hiszen a jövőt tekintve biztosan marad a hibrid felépítés. Szerencsére itt nem hardveres gondokról van szó, ha egy játékban az E-magok aktív használata lassulást okoz, akkor kizárólag a fejlesztők rontották el az optimalizálást. Ez normális lehet akkor, ha az adott cím még a hibrid dizájn előtt érkezett, vagy nem tudtak rá időben felkészülni, de az új programoknál már azért illik pár szabályt betartani. Ráadásul különböző javításokkal ennek utána lehet menni, tehát a kiadáskori állapotba sem kell beletörődni.

Rögtön az elején érdemes kiemelni, hogy manapság eleve nincs a rendszerekben egységes sebesség, ugyanis az energiamenedzsment a magokat igyekszik eltérő órajelen üzemeltetni. Emiatt a mag teljesítményét figyelembe véve az IPC a fő kiindulási pont, ebből a tekintetben lehet egy CPU-dizájn heterogén vagy homogén. Az Intel szerint a hibrid dizájnra, vagyis az eltérő IPC-jű magokra a terhelés megtervezése kapcsán nagyrészt ugyanaz jellemző, mint azokra a többmagos processzorokra, amelyeknél a magok IPC-je megegyezik. Gyakorlatilag ügyelni kell rá, hogy az operációs rendszer megfelelő meghatározásokat kapjon arról a programszintű viselkedésről, amit a fejlesztő elvárna.

A hibrid dizájn alapvetően csak ott különbözik, hogy megengedett maximális párhuzamosság nem egységesen kezelendő, hanem két részre bontva, hogy a futtatott szálakat jól el lehessen különíteni a gyors és a lassú magcsoportokon. Erre több potenciális stratégia lehet, hiszen olyan dolgokat is figyelembe kell venni, mint a Hyper-Threading, ami az E-magokon hiányzik, de a végeredményt tekintve az a cél, hogy kritikus-, illetve háttérfolyamatokra szabott feldolgozás történjen, ugyanis így az operációs rendszer már magában felismeri, hogy mit érdemes a P- és mit az E-magokra rakni.

A fentiekkel kapcsolatban megtudtuk, hogy a legfőbb hiba, amit a fejlesztők elkövetnek az az, hogy az esetleges felmerülő gondokra olyan jellegű reakciót adnak, amelyek megpróbálják irányítani, hogy a szálak hol fussanak. Ez még azokon a dizájnokon sem optimális, ahol mindegyik mag IPC-je megegyezik, csak ott nem annyira látványosak az elgondolás működéséből eredő tipikus problémák, mint a hibrid processzorokon. Elméletben viszont egy ilyen program konkrétan az operációs rendszerrel fog harcolni ugyanazért az erőforrásért, ami nem optimális versenyhelyzeteket teremt a programfuttatást tekintve. És itt félreértés ne essék, az egyes szálak mindenképpen harcolnak azért, hogy minél hamarabb le tudjanak futni, de emiatt van az operációs rendszernek viszonylag jól kialakított ütemezése, hogy ezt a helyzetet menedzselje. Utóbbit csak akkor tudja jól megtenni, ha a programok nem próbálnak trükkösen hozzájutni az erőforráshoz, és inkább arra törekednek, hogy az operációs rendszernek legyen minél több információja arról, hogy a futtatott alkalmazás mit vár el.

A másik tipikus gond az egyes szálak prioritásának túlzott erőltetése. Ez látszatra úgy tűnhet, mintha meghatározná azt, hogy egy szál melyik magon futhat, de valójában nem. A Windows a prioritás tekintetében csak a minél hamarabb történő végrehajtásra koncentrál, ami nem szükségszerűen egyenlő azzal, hogy biztosan egy P-mag kapja majd meg a feladatot. A tesztelt esetek jó részében ez lehet így, de nincs rá garancia.

A hibrid dizájn tekintetében az egyik nagyon hasznos trükk az operációs rendszer egyes API funkcióinak használata, amivel el lehet érni, hogy a késleltetés tekintetében magas tűréssel bíró szálak az E-magokon fussanak, ugyanis így a kevésbé kritikus feladatok eleve a kisebb teljesítményű magokra kerülnek, ahova valók, ami automatikusan felszabadítja a P-magokat, hogy azok a kritikus munkát végezhessék. Persze erre tervezni kell a szoftvert, de sokkal kedvezőbb a kapott eredmény, mint utólag letiltani az E-magokat, mert galibát okozhatnak.

  • Kapcsolódó cégek:
  • Intel

Azóta történt

Előzmények

Hirdetés