Big.LITTLE v Alder Lake funguje díky technologii Thread Director

Intel Thread Director: řešení problémů s provozem big.LITTLE procesorů Alder Lake ve Windows?

Publikovali jsme už rozbory CPU architektury procesorů Alder Lake – velkých jader Golden Cove a „malých“ Gracemont. Intel už ale odhalil i možná stejně důležitou třetí komponentu: speciální scheduler, který má přiřazovat programy tam, kam se hodí – na malé, nebo velké jádro. Má zajistit, aby „big.LITTLE“ fungovalo správně. Možná hlavně na něm bude záviset, jestli se potvrdí všechny výhrady skeptiků, nebo jim Alder Lake vytře zraky.

Tento scheduler, respektive komponenta pro scheduler se jmenuje Intel Thread Director a jde o technologii na rozhraní hardwaru, firmwaru a softwaru. O Alder Lake se objevily informace, že bude mít hardwarový scheduler (česky plánovač) úloh na procesoru, ale to dost dobře nelze. O co se ve skutečnosti jedná, je o to, že plánovač CPU v operačním systému bude od hardwaru dostávat asistenci při rozhodování, jak úlohy na jádra procesoru přidělovat. Nejde o „akceleraci“, ale jen o zprostředkování informací softwaru. Samotné rozhodnutí musí zůstat na operačním systému, ale díky tomu, že dostává od CPU více informací, se může rozhodovat lépe.

Intel na tomto problému spolupracovat s Microsoftem a výsledkem je Thread Director a na druhé straně speciální podpora pro využití této funkce v nových Windows 11. Již jste možná zaznamenali zprávy o tom, že Windows 11 má právě vylepšovat fungování big.LITTLE procesorů. Podpora hardwarové asistence pro plánovač CPU je toho součástí.

Jak funguje hardwarová asistence pro plánovač CPU

Intel Thread Director používá integrovaný mikrořadič (mělo by jít o nějakou řídící jednotku, tato technologie je asi propojená s funkcí Performance Monitoring Unit), který monitoruje výkon a různé ukazatele zátěže pro jednotlivá jádra/vlákna procesoru. Měl by sledovat zátěž, množství load/store operací, které ukazují, jak moc je běžící program limitovaný pamětí (namísto limitace hrubým výkonem jádra), množství větvení, druhy použitých instrukcí a další vzorce chování. Také monitoruje, zda běžící procesy používají instrukce s vysokou spotřebou jako je AVX2 nebo VNNI.

Z těchto dat pak Thread Director vytváří zpětnou vazbu, kterou předává běžícímu operačnímu systému (v tomto případě Windows 11). Ta by měla být komunikována přes rozhraní EHFI (Extended Hardware Frequency Interace).

Intel Thread Director (Zdroj: Intel)

Thread Director předává Windows 11 informaci o tom, zda je vlákno běžící na procesoru „důležité“ (ve smyslu, že by prospělo, pokud by bylo zpracováváno rychleji), nebo naopak ne. Jednak může sdělovat, že určitý proces by měl jít na výkonné jádro (i na úkor těch, které už tam běží) a na druhou stranu také označuje procesy, které jsou nejvhodnějšími kandidáty pro přesun na malá jádra.

Toto pak Windows 11 může použít k rozhodnutí, které programy/procesy může „přiškrtit“, když procesoru dojdou volná jádra/vlákna – tedy třeba která vlákna přesunout z velkých jader na malá jádra. Thread Director tímto způsobem ovlivňuje výsledek v situacích, kdy si OS musí vybrat, které úlohy umístí na výkonnější a které na úspornější jádra. Díky jeho telemetrii by se měla zlepšit pravděpodobnost, že rozhodnutí bude provedeno správně.

Důležité je, že analýza mikrořadičem Thread Director je hodně rychlá – chování procesu dokáže Intel údajně „poznat“ už za nějakých 30 mikrosekund, zatímco scheduler operačního systému při vlastním hodnocení běžících úloh postupuje údajně o hodně pomaleji a reaguje na jejich charakter třeba až za stovky milisekund. OS ale asi nikdy nemůže analyzovat běžící program tak do hloubky, protože kdyby zkoumal, které instrukce se používají a podobně, spotřebovával by sám výkon procesoru a vše zpomaloval. Pokud se ale tato práce provádí ve speciální jednotce integrované v CPU, nemá tato analýza dopad a spotřeba navíc je nejspíš minimální.

Intel Thread Director (Zdroj: Intel)

Ladění na výkon i spotřebu

Obecně by Thread Director měl pomáhat identifikovat aplikace (procesy), které skutečně potřebují výkon a jejich rychlost je pro uživatele podstatná. Takové aplikace/procesy pak označí pro Windows a doporučí je přesunout na velká jádra. Naopak zase pomáhá vyhodnocovat, které procesy jsou různé služby na pozadí a podobné věci, u kterých spíše chcete, aby neotravovaly vyšší spotřebou/otáčkami ventilátoru a nebraly výkon důležitějším činnostem. Takové procesy by měly být označeny pro přesun na malá jádra.

Mikrořadič ale například dokáže odhalit situace, kdy program ve skutečnosti čeká na paměti a není limitován hrubým výkonem – v takových případech je možné snížit frekvenci a napětí velkého jádra (a tím snížit spotřebu), aniž by se zhoršil dosažený výkon. Nebo by Thread Director měl umět poznat, že aplikace zdánlivě plně vytěžující jádro ve skutečnosti jen dokola projíždí čekací smyčku, která ve skutečnosti nic nedělá. Takový proces pak pomůže přesměrovat na malé jádro opět tím, že ho označí pro operační systém.

Další věc, kterou se Thread Director řídí, je využití pokročilých instrukcí jako je AVX/AVX2 nebo VNNI (rozšíření určené pro akceleraci umělé inteligence). Jejich použití by zřejmě mělo vést k tomu, že procesy budou označeny k přiřazení na velká jádra.

Thread Director nebude zaměřený jen na výkon, ale také na spotřebu, což bude využíváno v noteboocích při provozu na baterie. V noteboocích při provozu na baterie, kdy je důležitá spotřeba, do všech těchto rozhodnutí ale ještě bude promlouvat efektivita, takže v takovém případě může naopak operační systém ve spolupráci s Thread Directorem posílat mnoho úloh přednostně na malá jádra, ačkoliv by při desktopovém využití byly směrovány na velká jádra. Celá technologie by se měla umět rozhodovat dynamicky podle vstupních parametrů, kterými jsou i aktuální nastavení spotřeby, ale třeba také teploty.

Procesor Alder Lake s osmi jádry Golden Cove a osmi úspornými jádry Gracemont (Zdroj: Intel)

Jak systém rozlišuje velká jádra, malá jádra a Hyper Threading?

Vedle této zpětné vazby také ještě procesor Alder Lake operačnímu systému sděluje topologii svých jader, tedy které jádro (vlákno) je jakého typu. To je další informace, kterou OS potřebuje k tomu, aby se při přiřazení programů na jádra dokázal správně rozhodovat.

Intel uvádí, že z pohledu přiřazování programů (procesů) na jednotlivá jádra, respektive vlákna procesoru Alder Lake existuje hierarchie výkonu, která má tři stupně. Nejvýkonnější situace je, když běží jedno vlákno na Performance Core/P-Core (tedy velkém jádru Golden Cove) a jeho druhé vlákno není využité. Na druhém místě není velké jádro s využitým HT a oběma vlákny aktivními, ale Efficient Core/E-Core, „malé“ jádro Gracemont. Až třetí v hierarchii je pak jedno vlákno velkého jádra P-Core v situaci, kdy jsou vytížena obě jeho vlákna.

Podle Intelu tedy má jedno jádro Gracemont výkon vyšší, než jaký je individuálně výkon jednoho ze dvou vláken jednoho P-Core při využití HT, tedy když jsou obě vlákna zatížená (což má také tu implikaci, že dvojice Gracemontů by měla mít vyšší cenu pro MT výkon než jedno velké jádro).

Při postupném zatěžování procesoru vícevláknovými programy je proto výchozí chování takové, že přednostně má Windows 11 obsadit velká jádra, ale vždy každé jen jedním vláknem, aby výkon jednoho vlákna nešel dolů. Po vyčerpání volných úplně velkých jader se úlohy nejprve začnou přidávat na malá jádra a druhá vlákna velkých jader zůstávají prázdná. Až i po vyčerpání malých jader se začne využívat HT, tedy druhé vlákno u velkých jader. To je proto, že ačkoliv použití HT zvyšuje celkový MT výkon, výkon na jedno vlákno se při aktivním HT sníží (při HT je výkon obou vláken zhruba symetrický, takže například místo 100 % v jednovláknovém režimu dostanete třeba 2×60 % jednovláknového výkonu).

Alder Lake má tři varianty. Všechny čipy mají osm malých jader, velkých jader je buď osm, šest, nebo dvě (Zdroj: Intel)

Intel Thread Director nejprve jen ve Windows 11

Tato pokročilá zpětná vazba určená pro CPU scheduler operačního systému bude minimálně ze začátku využívaná jen ve Windows 11, takže pro optimální výkon a chování procesorů Alder Lake budete potřebovat tento systém. Pro Windows 10 by snad mohla být dostupná jednodušší verze nazvaná Hardware Guided Scheduling, v jejímž případě asi operační systém nepracuje s tolika různými informacemi od firmwaru a procesoru a nebude se tedy rozhodovat tak „fundovaně“ jako W11.

Intel se při vývoji této funkce údajně soustředil na to, aby ji s Microsoftem rozběhali ve Windows 11, který vyjdou nyní na podzim. Minimálně část z této funkcionality ale je v plánu zapracovat i do Linuxu, takže tato platforma snad nebude ve velké nevýhodě, alespoň v dlouhodobém horizontu.

„Upstreamování“ podpory v Linuxu ale může trvat pár vývojových cyklů a měsíce potřebné pro zrevidování a začlenění patchů. Mohlo by to zabrat několik měsíců, ale možná i víc jak rok. Podle toho, jak se budou patche Intelu vývojářům zamlouvat a zda v nich nebudou požadovat změny.

Zdroje: AnandTech, Intel (1, 2)

Jan Olšan, redaktor Cnews.cz


  •  
  •  
  •  
Flattr this!

Intel APO s Advanced Mode: Teď i pro starší CPU a ve více hrách

Včera Intel vydal Core i9-14900KS, poslední a nejextrémnější CPU z rodiny čipů Raptor Lake, běžící na taktu až 6,2 GHz. Současně firma přinesla ještě jednu novinku, která se týká všech majitelů procesorů Core s odemčeným násobičem (tedy modelů K, KF a KS). Funkce APO, která má zlepšovat výkon ve hrách, ale doteď nebyla skoro nikde podporovaná, se dočká značného rozšíření a mohla by začít být užitečná. Celý článok „Intel APO s Advanced Mode: Teď i pro starší CPU a ve více hrách“ »

  •  
  •  
  •  

Technologie Intel APO bude i pro procesory Core 12. a 13. generace

Na CES 2024 oznámilo AMD rozšíření podpory funkce AFMF v grafických ovladačích i na integrované grafiky Ryzenů 7040 a 8000. Také Intel vedle nových procesorů pro notebooky i pro desktop přišel se softwarovou novinkou, která se týká funkce Intel Application Optimization. Ta zatím měla omezený význam, respektive aplikovatelnost, to by se ale mohlo změnit. Brzo by z ní totiž mohli profitovat majitelé mnohem širší skupiny počítačů. Celý článok „Technologie Intel APO bude i pro procesory Core 12. a 13. generace“ »

  •  
  •  
  •  

Intel Core Series 1 pro notebooky: 7nm ne-Ultra bratr Meteor Lake

Po novinkách Nvidie a AMD odhalil na CES 2024 svoje také Intel. Firma sice ještě před Vánoci vypustila na trh své nové čipletové 4nm procesory Core Ultra první generace „Meteor Lake“, ale na CES 2024 k nim přidává více konvenční modely založené na 7nm čipech Raptor Lake. Ty budou v noteboocích paralelně, ale na rozdíl od Meteor Lake ponesou označení jen „Core“. Už ale bez označení s písmenem „i“ a ne jako 14. generace. Celý článok „Intel Core Series 1 pro notebooky: 7nm ne-Ultra bratr Meteor Lake“ »

  •  
  •  
  •  

One comment Pridať komentár

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *