www.svethardware.cz
>
>
>

Technologie: Hyper-Threading

Technologie: Hyper-Threading
, , článek
Ozvaly se hlasy, že by se na SHW mohly objevovat detailní rozbory existujících technologií. Proto zakládáme rubriku „technologie“, ve které se budou objevovat popisy některých technologií dneška či budoucnosti. Výběr popisovaných technologií bude ovlivněn i vašimi ohlasy. Pro začátek jsem si tedy vybral Hyper-Threading od společnosti Intel.
K oblíbeným
reklama

Úvod

Jako odpověď na poptávku trhu po vyšším výkonu a rychlejší práci procesorů vyvinula společnost Intel technologii nazvanou Hyper-Threading. Systémové prostředky procesorů jsou často nevytížené a roste mezera mezi frekvencí procesoru a rychlostí paměti, což způsobuje růst poptávky po zrychlení paměťové latency (=“zpoždění“, ale dále použiji raději anglický ekvivalent). Technologie Hyper-Threading způsobuje, že jediný fyzický procesor se systému hlásí jako dva logické, ale se sdílenými prostředky. Tím umožní paralelní spuštění dvou úkolů, vzrůst vytíženosti procesoru a snižuje efekt paměťové latency . Tím samozřejmě roste výkon převážně multi-threaded aplikací (aplikace s více vstupy), ale nezaniká kompatibilita se single-threaded aplikacemi. Jak tato technologie pracuje, jak ovlivňuje výkon a další informace se dozvíte na následujících řádcích.

Architektura

V současnosti je výkon procesoru ovlivňován třemi základními faktory: taktovací frekvence, ILP (instruction-level parallelism) a cache, a dále pak například spotřebou energie a velikostí čipu. Růst výkonu ovšem není úměrný růstu či vývoji těchto hodnot, a proto se musí najít jiná cesta zrychlování. Jednou možností je TLP, nebo-li Thread-Level Parallelism . Jednotlivé postupy jsou např. prosté přidání více procesorů, CMP ( Chip Multiprocessing – dva procesory na jednom čipu), přepínání jednotlivých spuštěných procesů na jednom procesoru a konečně simultánní multi-threading, který používá technologie Hyper-Threading.

Jak bylo řečeno, díky technologii Hyper-Threading vypadá jeden fyzický procesor jako dva logické, prostředky jsou sdílené a stav architektury je duplikován. Z architektonického a softwarového hlediska to znamená, že operační systém a aplikace naplánují své procesy a vstupy na logické procesory, jako by to provedly na více fyzických procesorů. Z mikro-architektonického hlediska jsou instrukce z obou logických procesorů spouštěny současně na sdílených systémových prostředcích.

Obrázek znázorňuje multi-procesorový systém bez možnosti Hyper-Threading a s touto technologií:



Obr. 1 – Dual-procesorový systém bez a s Hyper-Threadingem

Aplikace Hyper-Threadingu u procesorů Intel Xeon způsobila pouze 5% zvětšení čipu, zatímco výkon vzrostl mnohem výrazněji (viz dále). Z obrázku lze poznat, že jeden fyzický procesor uchovává duplicitní kopii architektonického stavu, který se skládá z registrů – univerzálních, kontrolních , APIC (pokročilý programovatelný řadič přerušení) a některých stavových registrů. Počet tranzistorů k uložení duplikovaného stavu je minimální. Logické procesory sdílí cache, výkonné jednotky, větvené predikátory a sběrnice. Naopak každý logický procesor má vlastní řadič přerušení nebo APIC. Většinu plochy čipu tedy tvoří samotné logické procesory.

Intel Xeon

Podívejme se na konkrétní technologii Hyper-Threading u procesoru Intel Xeon. Kromě minimalizace počtu tranzistorů určených k implantaci technologie byla snaha dosáhnout dalších cílů. Jedním z nich bylo navázání činnosti druhé logické jednotky v případě zaseknutí první. Nerušený chod procesu při zastavení jednoho logického procesoru (např. čekání na výsledky instrukcí, servis cache apod.) je zajištěn ovládáním vyrovnání front tak, že žádný logický procesor nemůže použít všechny vstupy, když probíhají dva softwarové thready (včetně nečinných procesů operačního systému). Dalším cílem bylo umožnit procesoru s jediným aktivním threadem běžet na stejné rychlosti jako bez Hyper-Threadingu. Toho bylo dosaženo rekombinací rozdělených systémových prostředků.



Obr. 2 – Intel Xeon Pipeline

Výše je uveden obrázek mikro-architektury pipeline procesoru Intel Xeon. Je vidět, že vyrovnávací fronty oddělují hlavní logické bloky. Vyrovnávací fronty jsou buď oddělené nebo duplikované k zajištění nezávislého pokračování každého logického bloku. Jinými slovy: Pokud se vyrovnávací fronta jednoho logického procesoru zasekne, převezme její funkci fronta druhá. Detailní rozbor pipeline je poměrně složitý a naleznete ho zde.

Softwarové využití

Single-Task & Multi-Task - k optimalizaci výkonu při jediném aktivním threadu slouží dva módy operací: Single-Task (ST) a Multi-Task (MT). V MT-módu jsou dva aktivní logické procesory a některé prostředky jsou rozdělené. ST-mód existuje ve dvou formách: single task pro logický procesor 0 (ST0) a single task pro logický procesor 1 (ST1). V těchto ST-módech je aktivní pouze jeden logický procesor a systémové prostředky rozdělené při MT-módu jsou rekombinovány, aby mohl jediný aktivní logický procesor využít veškeré prostředky.

IA-32 Intel Architecture (popisovaná na výše uvedené adrese) obsahuje instrukci HALT, která zastaví běh procesoru a umožní přejít do módu s nižší spotřebou ( lower-power mode ). Tato instrukce je privilegovaná pouze pro operační systémy a jiné procesy ring-0, uživatelské aplikace instrukci HALT nepovolují.

Logický dopad této funkce u procesoru s technologií Hyper-Threading způsobí změnu operačního módu z MT na ST0/ST1, podle toho, z kterého logického procesoru byla instrukce vyvolána (pak zůstane aktivní opačný logický procesor). V případě vyvolání funkce HALT v MT-módu tedy dojde k rekombinaci systémových prostředků a přechodu do ST-módu, při druhém vyvolání přejde fyzický procesor do módu s nižší spotřebou. V ST-módu dojde při poslání přerušení k zastavenému logickému procesoru ke zpětnému přechodu do MT-módu. Za správu všech přechodů je zodpovědný operační systém.

Zde je grafické vyjádření celého problému:



Obr. 3 – Single-Task a Multi-Task módy

Operační systémy a aplikace

Systém s procesory používajícími Hyper-Threading vypadá v operačním systému či jiných aplikacích jako kdyby měl dvojnásobný počet procesorů. Správa systému proto probíhá jako u multi-procesorových systémů, operační systém přiřazuje úkoly či thready logickým procesorům. Pro ideální výkon je ale nutné provést dvě optimalizace.

První z nich je použití instrukce HALT, když je aktivní pouze jeden logický procesor, aby došlo k přechodu do ST0-/ST1-módu. Pokud není instrukce použita, spouští operační systém na nečinném logickém procesoru sekvence instrukcí, které opakovaně kontrolují jeho činnost. Tento stav, tzv. „idle loop “, způsobuje značné plýtvání systémovými prostředky, které by byly v případě použití instrukce HALT rekombinovány a použity aktivním logickým procesorem.

Druhá optimalizace je přiřazování softwarových threadů logickým procesorům. V multi-procesorovém systému je totiž výhodnější převádět nové thready na jiný fyzický procesor, než zatěžovat logickou jednotku používaného procesoru. Optimalizace by umožnila mapovat fyzické i logické jednotky a přiřazovat k nim jednotlivé thready.

Výkon

Pro nás je ale přes všechny technologické a architektonické detaily nejdůležitější výsledný výkon. Podle společnosti Intel přináší Intel Xeon výrazné zvýšení výkonu všech serverových systémů s procesorem architektury IA-32. Oproti procesorům Pentium III Xeon se díky technologii Hyper-Threading zvýšil výkon high-endových aplikací u 4-cestných serverů až o 65%.



Obr. 4 – Nárůst výkonu v systémech a aplikacích

První graf znázorňuje výkon při onlinovém přenosu na jedno- až čtyřprocesorové konfiguraci a s technologií Hyper-Threading. V případě single- a dual-procesorového serveru je nárůst výkonu až 21% (graf je normalizován pro single-procesorový server). Druhý graf ukazuje výhody technologie Hyper-Threading při použití serverových testů. Výkon zde vzrostl až o 16 – 28%. Výkon v testech je pouze relativní, nikoli absolutní. Je vidět, že Hyper-Threading je v praxi poměrně účinný.

Závěr

Technologie Hyper-Threading je účinným způsobem, jak zvyšovat výkon procesorů bez nárůstu počtu tranzistorů, zvětšení cache či zvyšování spotřeby energie. Aplikací této technologie dojde pouze k 5% zvětšení plochy čipu, zatímco výkon se zvedne až o 20-30%. Při nutnosti používat pouze jeden thread je procesor schopný přecházet díky instrukci HALT architektury IA-32 mezi třemi módy – ST0-/ST1- a MT-mód. V současnosti je technologie úspěšně implantována do procesorů Intel Xeon MP pro servery a pracovní stanice. Plný popis technologie Hyper-Threading naleznete technologickém deníku Intelu z prvního čtvrtletí tohoto roku (Volume 06 Issue 01 [ PDF]).

Pozn.: Další existence a vývoj této rubriky závisí mimo jiné na Vašich ohlasech. Jestli se vám tedy článek líbil, a chtěli byste, abychom v popisu technologií pokračovali, tak napište zprávu do diskuse k tomuto článku. Můžete si i vybrat oblast, která Vás nejvíce zajímá a k tomu pak při výběru tématu také přihlédneme (např. procesory, grafika, optická média apod.).


Zdroj: Intel Corp.
reklama
Nejnovější články
Lexar uvádí SSD NM800 pro profesionální nasazení Lexar uvádí SSD NM800 pro profesionální nasazení
Společnost Lexar uvedla na trh nová SSD řady NM800. Ta využívají rychlého rozhraní PCIe Gen4 x4 a výrobce slibuje přenosové rychlosti až na úrovni 7400 MB/s. Mířit mají především na kreativní profesionální nasazení. 
Včera, aktualita, Milan Šurkala
Návrh orgánů EU chce prosadit povinné USB-C pro telefony i další zařízení Návrh orgánů EU chce prosadit povinné USB-C pro telefony i další zařízení
Evropská komise předložila návrh zákona, který by po výrobcích telefonů a jiných zařízení vyžadoval povinně nabíjecí port USB-C. Už tedy žádné micro USB nebo Lightning. Budou tak mít brzy i iPhony toto rozhraní?
Včera, aktualita, Milan Šurkala13 komentářů
AMD dle Omdia posílilo mezi datacentrovými servery, každý šestý využívá EPYC AMD dle Omdia posílilo mezi datacentrovými servery, každý šestý využívá EPYC
Společnost AMD se aktuálně věnuje přednostně serverům, pro něž vyrábí své procesory a celé platformy. Není tak divu, že to přináší své ovoce a AMD dle analytické společnosti Omdia zvyšuje svůj podíl na trhu. 
24.9.2021, aktualita, Jan Vítek4 komentáře
Namísto posílení propad, Čína označila kryptoměny za nelegální platidlo Namísto posílení propad, Čína označila kryptoměny za nelegální platidlo
Po výrazném propadu hodnoty kryptoměn, který nastal sedmého září a později se ještě prohloubil, se očekával další postupný růst, jenž měl dle burzy Deribit odstartovat již dnes. Namísto toho přišel další pád. 
24.9.2021, aktualita, Jan Vítek17 komentářů
Core i9-12900K opět v Cinebench R23, slibuje velice vysoký jednovláknový výkon Core i9-12900K opět v Cinebench R23, slibuje velice vysoký jednovláknový výkon
Máme tu opět další test procesoru Core i9-12900K, který se tentokrát ukázal stejně jako ve středu v Cinebench R23, ale tentokrát jde o dříve chybějící skóre ukazující jednovláknový výkon. A ukazuje se, že ten asi bude skutečně velice slušný.
24.9.2021, aktualita, Jan Vítek6 komentářů