Je povoleno hyperthreading? Technologie Intel Hyper-Threading – co to je a jak funguje

10 227 RUB

Mateřský deska ASUS PRIME Z370-A II

Napájecí konektor procesoru je 8pinový. S řadičem SATA. Formát - ATX. Hyper-Threading povolen. Zásuvka - LGA1151. Zvuk - HDA. Množství SATA konektory 6 Gb/s 6 ks. S podporou SLI/CrossFire. Celkový USB rozhraní 14 ks. BIOS - AMI. Výrobce čipsetu - Intel. Typ paměti - DDR4. S podporou Režim SATA NÁLET. Počet paměťových slotů - 4. S HDMI konektorem na zadním panelu. S dvoukanálovým režimem paměti. S ethernetovým ovladačem. Počet PCI-E slotů 7 ks. S výstupem DVI na zadním panelu. Maximální kapacita paměti 64 GB. S vestavěnou grafikou. Hlavní napájecí konektor je 24pinový.

Koupit PROTI internetový obchod Player.Ru

půjčka možná | Odběr možný

video recenzefotografie

16 960 RUB

Intel matka deska MSI X299 RAIDER (S2066, X299, 8*DDR4, 4*PCI-E16x, PCI-E1x, SATA III+RAID, M.2, U.2, GB Lan, USB3.1, ATX, Maloobchod)

Při počtu SATA 6Gb/s konektorů 8 ks. Zvuk - HDA. S 8 paměťovými sloty PS/2 konektor (myš). S maximální kapacitou paměti 128 GB. Podporuje režim SATA RAID. Podpora Hyper-Threading. PS/2 konektor (klávesnice). Výrobce čipsetu - Intel. S celkovým počtem USB rozhraní 19 ks. Hlavní napájecí konektor je 24pinový. Dvoukanálový režim paměti. Ethernetový ovladač. Podpora SLI/CrossFire. Zásuvka - LGA2066. Formát - ATX. BIOS - AMI. Napájecí konektor procesoru je 8pinový. Podporované procesory jsou Intel. SATA řadič. Typ paměti - DDR4. Při počtu PCI-E slotů 5 ks. Čtyřkanálový paměťový režim.

Koupit PROTI internetový obchod Oldi.ru

video recenzefotografie

13 155 RUB

Mateřský Deska GigaByte X299 UD4 Pro

Typ paměti - DDR4. Maximální kapacita paměti 512 GB. S dvoukanálovým režimem paměti. S ethernetovým ovladačem. Se čtyřkanálovým režimem paměti. S konektorem PS/2 (myš). Hyper-Threading povolen. Napájecí konektor procesoru je 8pinový. Zvuk - HDA. Celkový počet USB rozhraní 16 ks. Počet PCI-E slotů 5 ks. S konektorem PS/2 (klávesnice). Počet konektorů SATA 6Gb/s 8 ks. Podporované procesory: Intel. Počet paměťových slotů - 8. S podporou SLI/CrossFire. S řadičem SATA. Zásuvka - LGA2066. Hlavní napájecí konektor je 24pinový. Podporuje režim SATA RAID. Formát - ATX. BIOS - AMI. Výrobce čipsetu - Intel.

Koupit PROTI internetový obchod Player.Ru

půjčka možná | Odběr možný

video recenzefotografie

14 190 RUB

Základní deska Intel ASUS PRIME Z370-A II S1151, iZ370, 4xDDR4, 3xPCI-Ex16, 4xPCI-Ex1, DVI, DP, HDMI, SATAIII+RAID, GB Lan, USB3.1, ATX, Maloobchod 90MB0ZT0-M0EAY0

S maximální kapacitou paměti 64 GB. Podpora Hyper-Threading. Výrobce čipsetu - Intel. Hlavní napájecí konektor je 24pinový. HDMI konektor na zadním panelu. Zásuvka - LGA1151. Podporuje režim SATA RAID. Formát - ATX. Ethernetový ovladač. Podpora SLI/CrossFire. Podporované procesory jsou Intel. Při počtu SATA 6Gb/s konektorů 6 ks. Při počtu PCI-E slotů 7 ks. Vestavěná grafika. Typ paměti - DDR4. Napájecí konektor procesoru je 8pinový. BIOS - AMI. DVI výstup na zadním panelu. Dvoukanálový režim paměti. S celkem 14 USB rozhraními. Zvuk - HDA. Se 4 paměťovými sloty SATA.

PROTI internetový obchod Oldi.ru

video recenzefotografie

13 489 RUB

Základní deska MSI MPG Z390 GAMING PRO CARBON Z390 Gaming Pro Carbon

Formát - ATX. Výrobce čipsetu - Intel. S konektorem HDMI na zadním panelu. Hyper-Threading povolen. S podporou SLI/CrossFire. Podporované procesory: Intel. Podporuje režim SATA RAID. S dvoukanálovým režimem paměti. Typ paměti - DDR4. S ethernetovým ovladačem. S vestavěnou grafikou. S řadičem SATA.

PROTI internetový obchod Player.Ru

půjčka možná | Odběr možný

fotografie

19 360 RUB

Základní deska Intel MSI X299 SLI PLUS (S2066, X299, 8*DDR4, 4*PCI-E16x, 2*PCI-E1x, SATA III+RAID, M.2, U.2, 2*GB Lan, USB3.1, ATX , Maloobchodní)

Podpora Hyper-Threading. Výrobce čipsetu - Intel. Dvoukanálový režim paměti. Čtyřkanálový paměťový režim. Podporované procesory: Intel. S celkovým počtem USB rozhraní 19 ks. Ethernetový ovladač. Podpora SLI/CrossFire. Napájecí konektor procesoru je 8pinový. BIOS - AMI. SATA řadič. Podporuje režim SATA RAID. PS/2 konektor (klávesnice). S 8 paměťovými sloty Zvuk - HDA. Při počtu SATA 6Gb/s konektorů 8 ks. PS/2 konektor (myš). S maximální kapacitou paměti 128 GB. Formát - ATX. Zásuvka - LGA2066. Při počtu PCI-E slotů 6 ks. Typ paměti - DDR4. Hlavní napájecí konektor je 24pinový.

PROTI internetový obchod Oldi.ru

video recenzefotografie

20 474 RUB

Základní deska ASUS ROG Strix X299-E GAMING ROG STRIX X299-E GAMING

Podporované procesory: Intel. S ethernetovým ovladačem. S Wi-Fi ovladačem. Zásuvka - LGA2066. S řadičem SATA. Počet PCI-E slotů 6 ks. Hyper-Threading povolen. Výrobce čipsetu - Intel. S podporou SLI/CrossFire. Hlavní napájecí konektor je 24pinový. Počet konektorů SATA 6Gb/s 8 ks. BIOS - AMI. Zvuk - HDA. Počet paměťových slotů - 8. Napájecí konektor procesoru - 8pinový + 4pinový. Podporuje režim SATA RAID. S ovladačem Bluetooth. S dvoukanálovým režimem paměti. Se čtyřkanálovým režimem paměti. Typ paměti - DDR4. Maximální kapacita paměti 128 GB. Formát - ATX. Celkový počet USB rozhraní 14 ks.

PROTI internetový obchod Player.Ru

půjčka možná | Odběr možný

video recenzefotografie

19 690 RUB

Základní deska Intel MSI X299 TOMAHAWK AC (S2066, X299, 8*DDR4, 4*PCI-E16x, 2*PCI-E1x, SATA III+RAID, M.2, U.2, GB Lan, WiFi, BT, USB3. 1 , ATX, Maloobchod)

Hlavní napájecí konektor je 24pinový. Napájecí konektor CPU - 8-pin + 4-pin. Při počtu PCI-E slotů 6 ks. BIOS - AMI. S celkem 18 USB rozhraními. Podpora Hyper-Threading. Formát - ATX. S 8 paměťovými sloty PS/2 konektor (myš). Podporované procesory jsou Intel. Podpora SLI/CrossFire. Zvuk - HDA. Výrobce čipsetu - Intel. SATA řadič. Při počtu SATA 6Gb/s konektorů 8 ks. Typ paměti - DDR4. Podporuje režim SATA RAID. Zásuvka - LGA2066. Čtyřkanálový paměťový režim. PS/2 konektor (klávesnice). Ethernetový ovladač. S maximální kapacitou paměti 128 GB. Dvoukanálový režim paměti.

PROTI internetový obchod Oldi.ru

video recenzefotografie

8 480 RUB

Tvarový faktor - mini-ITX. Počet paměťových slotů - 2. S HDMI konektorem na zadním panelu. Počet USB 3.0 konektorů 4 ks. Typ paměti - SO-DIMM DDR4. Celkový počet USB rozhraní 11 ks. Hyper-Threading povolen. S dvoukanálovým režimem paměti. Podporované procesory jsou Intel. Počet konektorů SATA 6Gb/s 4 ks. Maximální kapacita paměti 32 GB. S vestavěnou grafikou. BIOS - AMI. Zvuk - HDA. Výrobce čipsetu - Intel. S ethernetovým ovladačem. Hlavní napájecí konektor je 24pinový. S řadičem SATA. Zásuvka - LGA1151.

PROTI internetový obchod OGO! Online hypermarket

půjčka možná | Odběr možný

fotografie

1900 rublů.

5% 2 000 rublů.

Základní deska Foxconn 661FX7MI-S 47843

Podpora Hyper-Threading. Se 2 paměťovými sloty PS/2 (myš). Zvuk - AC"97. S celkovým počtem USB rozhraní 8 ks. AGP slot. Typ paměti - DDR. Zásuvka - LGA775. Podporuje režim SATA RAID. S počtem SATA 1,5Gb/s konektorů 2 ks. PS/2 konektor (klávesnice). Při počtu PCI slotů 3 ks. Ethernetový ovladač. Podporované procesory: Intel. S maximální frekvencí sběrnice 800 MHz. S maximální kapacitou paměti 2 GB. Výrobce čipové sady - SiS. Tvarový faktor - mATX.

PROTI internetový obchod OZON.ru

video recenzefotografie

8 520 RUB

Základní deska ASUS Q170 LGA1151 SO-DIMM DDR4 (Q170T) tenký mini-ITX, Ret

S vestavěnou grafikou. BIOS - AMI. Hlavní napájecí konektor je 24pinový. Zásuvka - LGA1151. Výrobce čipsetu - Intel. Zvuk - HDA. Tvarový faktor - mini-ITX. Hyper-Threading povolen. S konektorem HDMI na zadním panelu. S dvoukanálovým režimem paměti. Podporované procesory: Intel. S ethernetovým ovladačem. Typ paměti - SO-DIMM DDR4. Celkový počet USB rozhraní 11 ks. Počet paměťových slotů - 2. Počet konektorů USB 3.0 4 ks. Počet konektorů SATA 6Gb/s 4 ks. S řadičem SATA. Maximální kapacita paměti 32 GB.

PROTI internetový obchod Elektrozóna

půjčka možná | Odběr možný

fotografie

8 320 RUB

Základní deska ASUS Q170T Q170 Socket-1151 2xSO-DIMM DDR4, 4xSATA3, 1xM.2, 4xUSB3.0, HDMI, DP, 2xGlan, tenký mini-ITX

Podporované procesory jsou Intel. S celkovým počtem USB rozhraní 11 ks. Tvarový faktor - mini-ITX. Podpora Hyper-Threading. S maximální kapacitou paměti 32 GB. Typ paměti - SO-DIMM DDR4. Ethernetový ovladač. Při počtu USB 3.0 konektorů 4 ks. BIOS - AMI. Výrobce čipsetu - Intel. SATA řadič. Hlavní napájecí konektor je 24pinový. HDMI konektor na zadním panelu. S počtem paměťových slotů 2. S počtem SATA 6Gb/s konektorů 4 ks. Zvuk - HDA. Vestavěná grafika. Zásuvka - LGA1151. Dvoukanálový režim paměti.

PROTI internetový obchod Flash počítače

Odběr možný

fotografie

4 327 RUB

Základní deska asrock G41M-VS3 R2.0

Celkový počet USB rozhraní 8 ks. S dvoukanálovým režimem paměti. Podporované procesory jsou Intel. Napájecí konektor procesoru je 4pinový. S ethernetovým ovladačem. Hyper-Threading povolen. S vestavěnou grafikou. S konektorem PS/2 (klávesnice). Počet PCI-E slotů 1 ks. Typ paměti - DDR3. Maximální frekvence sběrnice je 1333 MHz. BIOS - AMI. Počet paměťových slotů - 2. Výrobce čipové sady - Intel. Hlavní napájecí konektor je 24pinový. S konektorem PS/2 (myš). S výstupem D-Sub na zadním panelu. Zásuvka - LGA775. Počet PCI slotů 1 ks. Počet konektorů SATA 3Gb/s 4 ks. Zvuk - HDA. S řadičem SATA. Tvarový faktor - mATX. Maximální kapacita paměti 8 GB. Podporuje režim SATA RAID.

PROTI internetový obchod price-com.ru

video recenzefotografie

11 380 RUB

Základní deska ASUS Prime Z370-A II Socket-1151v2 4xDDR4, 4xSATA3, RAID, 2xM.2, 2xPCI-E16x, 3xUSB3.1, 1xUSB3.1 Type C, DVI-D, HDMI, DP, Glan, ATX (černá)

Podporované procesory jsou Intel. Podpora Hyper-Threading

PROTI internetový obchod OGO! Online hypermarket

půjčka možná | Odběr možný

video recenzefotografie

2 600 rublů.

Mateřský ASRock deska P4i65G 26504

S dvoukanálovým režimem paměti. Celkový počet USB rozhraní 10 ks. Podporované procesory: Intel. Napájecí konektor procesoru je 4pinový. S ethernetovým ovladačem. Hyper-Threading povolen. S vestavěnou grafikou. S konektorem PS/2 (klávesnice). Počet PCI-E slotů 1 ks. Se slotem AGP. Maximální kapacita paměti 2 GB. Hlavní napájecí konektor je 20pinový. BIOS - AMI. Počet paměťových slotů - 2. Výrobce čipové sady - Intel. S konektorem PS/2 (myš). Počet konektorů SATA 1,5 Gb/s 2 ks. Typ paměti - DDR. S výstupem D-Sub na zadním panelu. Maximální frekvence sběrnice je 800 MHz. S řadičem SATA. Tvarový faktor - mATX. Zvuk - AC"97. Počet PCI slotů 3 ks. Socket - S478.

PROTI internetový obchod OZON.ru

video recenzefotografie

11 370 RUB

Základní deska ASUS Z370 LGA1151v2 DDR4 (Prime Z370-A II) ATX, Ret

Podporované procesory jsou Intel. Podpora Hyper-Threading. Se 4 paměťovými sloty - ATX. Při počtu SATA 6Gb/s konektorů 6 ks. S maximální kapacitou paměti 64 GB. Ethernetový ovladač. Podpora SLI/CrossFire. BIOS - AMI. Výrobce čipsetu - Intel. SATA řadič. DVI výstup na zadním panelu. Při počtu PCI-E slotů 7 ks. Hlavní napájecí konektor je 24pinový. HDMI konektor na zadním panelu. Napájecí konektor procesoru je 8pinový. Zvuk - HDA. S celkem 14 USB rozhraními. Typ paměti - DDR4. Vestavěná grafika. Zásuvka - LGA1151. Podporuje režim SATA RAID. Dvoukanálový režim paměti.

PROTI internetový obchod Elektrozóna

V minulosti jsme hovořili o technologii Simultaneous Multi-Threading (SMT), která se používá v procesorech Intel. A ačkoli to bylo původně pod kódovým označením Jackson Technology jako možná možnost, Intel oficiálně oznámil svou technologii na fóru IDF loni na podzim. Kódové označení Jackson bylo nahrazeno vhodnějším Hyper-Threadingem. Abychom tedy pochopili, jak nová technologie funguje, potřebujeme určité počáteční znalosti. Konkrétně potřebujeme vědět, co je vlákno, jak se tato vlákna spouštějí. Proč aplikace funguje? Jak zpracovatel ví, jaké operace má s jakými daty provádět? Všechny tyto informace jsou obsaženy v zkompilovaném kódu běžící aplikace. A jakmile aplikace obdrží jakýkoli příkaz, jakákoli data od uživatele, vlákna jsou okamžitě odeslána do procesoru, v důsledku čehož provede to, co musí udělat v reakci na požadavek uživatele. Z pohledu procesoru je vlákno soubor instrukcí, které je třeba provést. Když vás v Quake III Areně zasáhne projektil, nebo když otevřete Dokument společnosti Microsoft Word je procesoru zaslána specifická sada instrukcí, kterou musí provést.

Procesor přesně ví, kde tyto pokyny získat. K tomuto účelu je určen zřídka zmiňovaný registr s názvem Program Counter (PC). Tento registr ukazuje na místo v paměti, kde je uložena další instrukce, která se má provést. Když je vlákno odesláno do procesoru, adresa paměti vlákna se načte do tohoto programového čítače, takže procesor přesně ví, kde má zahájit provádění. Po každé instrukci je hodnota tohoto registru inkrementována. Celý tento proces běží, dokud se vlákno neskončí. Na konci provádění vlákna se do programového čítače zadá adresa další instrukce, která se má provést. Vlákna se mohou navzájem přerušit a procesor uloží hodnotu programového čítače do zásobníku a načte čítač novou hodnotou. V tomto procesu však stále existuje omezení - za jednotku času lze spustit pouze jedno vlákno.

Existuje známý způsob, jak tento problém vyřešit. Spočívá ve využití dvou procesorů – pokud jeden procesor dokáže vykonat jedno vlákno najednou, tak dva procesory již mohou vykonat dvě vlákna za stejnou časovou jednotku. Všimněte si, že tato metoda není ideální. Přichází s mnoha dalšími problémy. Některé už pravděpodobně znáte. Za prvé, více procesorů je vždy dražší než jeden. Za druhé, správa dvou procesorů také není tak jednoduchá. Kromě toho nezapomeňte na rozdělení zdrojů mezi procesory. Například před vystoupením čipset AMD 760MP, všechny platformy x86 s podporou více procesorů sdílely vše propustnost systémová sběrnice mezi všemi dostupnými procesory. Ale hlavní nevýhoda je jiná - pro takovou práci jak aplikace, tak i operační systém musí podporovat multiprocesing. Schopnost distribuovat provádění více vláken mezi počítačové prostředky se často nazývá multithreading. Operační systém musí zároveň podporovat multithreading. Aplikace musí také podporovat multithreading, aby bylo možné co nejlépe využít prostředky vašeho počítače. Mějte to na paměti, když se podíváme na jiný přístup k řešení problému více vláken, nová technologie Hyper-Threading od Intelu.

Produktivity není nikdy dost

Vždy se hodně mluví o efektivitě. A to nejen ve firemním prostředí, v některých vážných projektech, ale i v běžném životě. Říká se, že homo sapiens jen částečně využívá schopnosti svého mozku. Totéž platí pro procesory moderních počítačů.

Vezměte si například Pentium 4 Procesor má celkem sedm prováděcích jednotek, z nichž dvě mohou pracovat s dvojnásobnou rychlostí dvou operací (micro-ops) za takt. V žádném případě byste ale nenašli program, který by dokázal všechna tato zařízení naplnit návodem. Pravidelné programy vystačí si s jednoduchými celočíselnými výpočty a několika operacemi načítání a ukládání dat, zatímco operace s pohyblivou řádovou čárkou jsou ponechány stranou. Jiné programy (například Maya) primárně zatěžují zařízení s pohyblivou řádovou čárkou.

Pro ilustraci situace si představme procesor se třemi prováděcími jednotkami: aritmetickou logickou jednotkou (celočíselná ALU), jednotkou s plovoucí desetinnou čárkou (FPU) a načítací/ukládací jednotkou (pro zápis a čtení dat z paměti). Kromě toho předpokládejme, že náš procesor může provádět jakoukoli operaci v jednom hodinovém cyklu a může distribuovat operace na všechna tři zařízení současně. Představme si, že tomuto procesoru je odesláno vlákno následujících instrukcí k provedení:

Níže uvedený obrázek znázorňuje úroveň zatížení pohonů (šedá označuje nečinné zařízení, modrá označuje funkční zařízení):

Vidíte tedy, že v každém taktu je použito pouze 33 % všech akčních členů. Tentokrát FPU zůstává zcela nevyužito. Podle Intelu většina programů IA-32 x86 nepoužívá více než 35 % prováděcích jednotek procesoru Pentium 4.

Představme si další vlákno a pošleme ho procesoru k provedení. Tentokrát se bude skládat z operací načítání dat, přidávání a ukládání dat. Budou provedeny v následujícím pořadí:

A opět je zatížení pohonů pouze 33 %.

Dobrým východiskem z této situace by byl paralelismus na úrovni instrukcí (ILP). V tomto případě se provádí několik instrukcí současně, protože procesor je schopen plnit několik paralelních prováděcích jednotek najednou. Bohužel většina x86 programů není adekvátně přizpůsobena ILP. Proto musíme najít jiné způsoby, jak zvýšit produktivitu. Pokud by tedy systém například používal dva procesory najednou, mohla by být současně spuštěna dvě vlákna. Toto řešení se nazývá paralelismus na úrovni vláken (TLP). Mimochodem, toto řešení je poměrně drahé.

Jaké jsou další způsoby, jak zvýšit výkonnou moc? moderní procesory architektura x86?

Hyper-Threading

Problém nedostatečného využití pohonů má několik důvodů. Obecně řečeno, pokud procesor nemůže přijímat data požadovanou rychlostí (k tomu dochází v důsledku nedostatečné šířky pásma systémové sběrnice a paměťové sběrnice), nebudou akční členy tak efektivně využívány. Kromě toho existuje další důvod - nedostatek paralelismu na úrovni instrukcí ve většině příkazových vláken.

V současné době většina výrobců zlepšuje rychlost procesorů zvýšením rychlosti hodin a velikosti mezipaměti. Samozřejmě tímto způsobem můžete zvýšit výkon, ale stále nebude potenciál procesoru plně využit. Pokud bychom mohli provozovat více vláken současně, mohli bychom procesor využívat mnohem efektivněji. To je přesně podstata technologie Hyper-Threading.

Hyper-Threading je název technologie, která dříve existovala mimo svět x86, Simultaneous Multi-Threading (SMT). Myšlenka této technologie je jednoduchá. Jeden fyzický procesor se operačnímu systému jeví jako dva logické procesory a operační systém nevidí rozdíl mezi jedním procesorem SMT nebo dvěma běžnými procesory. V obou případech operační systém směruje vlákna, jako by se jednalo o dvouprocesorový systém. Dále jsou všechny problémy vyřešeny na hardwarové úrovni.

V procesoru s Hyper-Threadingem má každý logický procesor svou vlastní sadu registrů (včetně samostatného programového čítače) a v zájmu jednoduchosti technologie neimplementuje současné provádění instrukcí načítání/dekódování ve dvou vláknech. To znamená, že takové instrukce jsou prováděny jedna po druhé. Paralelně se provádějí pouze běžné příkazy.

Technologie byla oficiálně oznámena na Intel Developer Forum loni na podzim. Technologie byla demonstrována na procesoru Xeon, kde byl rendering prováděn pomocí Maya. V tomto testu si Xeon s Hyper-Threading vedl o 30 % lépe než standardní Xeon. Pěkné zvýšení výkonu, ale co je nejzajímavější, technologie je již přítomna v jádrech Pentium 4 a Xeon, pouze je vypnutá.

Tato technologie ještě nebyla vydána, ale ti z vás, kteří si zakoupili 0,13mikronový Xeon a nainstalovali tento procesor na desky s aktualizovaným BIOSem, byli pravděpodobně překvapeni Možnost BIOSu povolit/zakázat Hyper-Threading.

Mezitím Intel ponechá možnost Hyper-Threading ve výchozím nastavení vypnutou. Chcete-li to však povolit, stačí aktualizovat systém BIOS. To vše platí pro pracovní stanice a servery, pokud jde o trh osobních počítačů, společnost s touto technologií v blízké budoucnosti neplánuje. I když je to možné, výrobci základních desek poskytnou možnost povolit Hyper-Threading pomocí speciálního BIOSu.

Velmi zajímavou otázkou zůstává, proč chce Intel nechat tuto možnost vypnutou?

Jít hlouběji do technologie

Pamatujete si tato dvě vlákna z předchozích příkladů? Předpokládejme tentokrát, že náš procesor je vybaven Hyper-Threadingem. Podívejme se, co se stane, když se pokusíme spustit tato dvě vlákna současně:

Stejně jako dříve modré obdélníky označují provedení instrukce prvního vlákna a zelené obdélníky označují provedení instrukce druhého vlákna. Šedé obdélníky znázorňují nepoužívané ovladače a červené obdélníky označují konflikt, když jedno zařízení přijímá dva najednou. různé pokyny z různých proudů.

Co tedy vidíme? Paralelnost na úrovni vláken selhala – prováděcí zařízení se začala používat ještě méně efektivně. Namísto paralelního spouštění vláken je procesor provádí pomaleji, než kdyby je spouštěl bez Hyper-Threading. Důvod je celkem jednoduchý. Pokusili jsme se spustit dvě velmi podobná vlákna současně. Oba se totiž skládají z operací načítání/ukládání a operací přidávání. Pokud bychom paralelně spouštěli "celočíselnou" aplikaci a aplikaci s plovoucí desetinnou čárkou, byli bychom v mnohem lepší situaci. Jak můžete vidět, účinnost Hyper-Threading značně závisí na typu zatížení počítače.

V současné době většina uživatelů PC používá svůj počítač přibližně tak, jak je popsáno v našem příkladu. Procesor provádí mnoho velmi podobných operací. Bohužel, pokud jde o podobné operace, vyvstávají další potíže s řízením. Jsou situace, kdy akční členy správný typ Už nezbyly žádné instrukce, a jak by štěstí chtělo, je jich dvakrát tolik než obvykle. Pokud by procesory domácích počítačů využívaly technologii Hyper-Threading, ve většině případů by nedošlo k žádnému zvýšení výkonu a možná dokonce k poklesu o 0-10 %.

Na pracovních stanicích má však Hyper-Threading více příležitostí ke zvýšení produktivity. Ale na druhou stranu vše závisí na konkrétním využití počítače. Pracovní stanice může znamenat buď špičkový počítač pro zpracování 3D grafiky, nebo jednoduše silně zatížený počítač.

Největší nárůst výkonu díky použití Hyper-Threading je pozorován u serverových aplikací. To je způsobeno především širokou škálou operací odesílaných do procesoru. Databázový server, který používá transakce, může běžet o 20–30 % rychleji, když je povolena možnost Hyper-Threading. O něco menší nárůst výkonu je pozorován na webových serverech a v jiných oblastech.

Maximální efektivita díky Hyper-Threadingu

Myslíte si, že Intel vyvinul Hyper-Threading pouze pro svou řadu? serverové procesory? Samozřejmě že ne. Pokud by tomu tak bylo, neplýtvali by prostorem na čipu na svých ostatních procesorech. Architektura NetBurst použitá v Pentiu 4 a Xeonu je ve skutečnosti dokonale vhodná pro jádro, které podporuje simultánní multithreading. Pojďme si znovu představit procesor. Tentokrát bude mít ještě jeden akční člen – druhé celočíselné zařízení. Podívejme se, co se stane, když jsou vlákna spouštěna oběma zařízeními:

Při použití druhého celočíselného zařízení došlo k jedinému konfliktu při poslední operaci. Náš teoretický procesor je trochu podobný Pentiu 4. Má až tři celočíselná zařízení (dvě ALU a jedno pomalé celočíselné zařízení pro rotující posuny). Ještě důležitější je, že obě celočíselná zařízení Pentium 4 jsou schopna běžet dvojnásobnou rychlostí – provádějí dvě mikrooperace za cyklus hodin. To zase znamená, že kterékoli z těchto dvou celočíselných zařízení Pentium 4/Xeon může provádět tyto dvě operace sčítání z různých vláken v jednom hodinovém cyklu.

Ale to náš problém neřeší. Nemělo by smysl jednoduše přidávat do procesoru další prováděcí jednotky, aby se zvýšil výkon Hyper-Threadingu. Z hlediska křemíkového prostoru by to bylo extrémně drahé. Místo toho Intel navrhl, aby vývojáři optimalizovali programy pro Hyper-Threading.

Pomocí instrukce HALT můžete pozastavit jeden z logických procesorů, čímž zvýšíte výkon aplikací, které nevyužívají Hyper-Threading. Aplikace tedy nepoběží pomaleji, místo toho se zastaví jeden z logických procesorů a systém poběží na jednom logickém procesoru – výkon bude stejný jako na jednoprocesorových počítačích. Když se pak aplikace rozhodne, že bude těžit z výkonu Hyper-Threading, druhý logický procesor jednoduše obnoví svou práci.

Na webu Intelu je prezentace, která přesně popisuje, jak programovat, abyste z Hyper-Threadingu vytěžili maximum.

závěry

I když jsme byli všichni nesmírně šťastní, když jsme slyšeli zvěsti o použití Hyper-Threadingu v jádrech všech moderní Pentia 4/Xeon, stále to nebude bezplatné představení pro všechny příležitosti. Důvody jsou jasné a technologie má před sebou ještě dlouhou cestu, než uvidíme Hyper-Threading běžící na všech platformách, včetně domácích počítačů. A s podporou vývojářů může být tato technologie rozhodně dobrým spojencem pro Pentium 4, Xeon a procesory budoucí generace od Intelu.

Vzhledem k současným omezením a dostupným technologiím balení se Hyper-Threading jeví pro spotřebitelský trh chytřejší volbou než například přístup SledgeHammer od AMD – tyto procesory využívají až dvě jádra. A dokud technologie balení, jako je Bumpless Build-Up Layer, nedozrají, mohou být náklady na vývoj vícejádrových procesorů příliš vysoké.

Je zajímavé si všimnout, jak se AMD a Intel za posledních pár let lišily. AMD totiž kdysi prakticky kopírovalo procesory Intel. Nyní společnosti vyvinuly zásadně odlišné přístupy k budoucím procesorům pro servery a pracovní stanice. AMD ve skutečnosti urazilo velmi dlouhou cestu. A pokud procesory Sledge Hammer skutečně využívají dvě jádra, pak bude takové řešení výkonově efektivnější než Hyper-Threading. V tomto případě totiž kromě zdvojnásobení počtu všech pohonů odpadá i výše popsané problémy.

Hyper-Threading ještě nějakou dobu nezasáhne trh běžných počítačů, ale s dobrou podporou vývojářů by to mohla být další technologie, která se dostane z úrovně serverů na běžné počítače.

Technologie Hyper-Threading (HT, hyperthreading) se poprvé objevila před 15 lety - v roce 2002 v procesorech Pentium 4 a Xeon a od té doby se objevila v procesorech Intel (v řadě Core i některé Atom, Nedávno také v Pentiu), poté zmizel (jeho podpora nebyla dostupná v řadách Core 2 Duo a Quad). A během této doby získal mýtické vlastnosti - říkají, že jeho přítomnost téměř zdvojnásobuje výkon procesoru a mění slabé i3 na výkonné i5. Jiní přitom říkají, že HT je běžný marketingový trik a málo využitelný. Pravda je jako obvykle uprostřed – na některých místech to má smysl, ale rozhodně nečekejte dvojnásobný nárůst.

Technický popis technologie

Začněme definicí uvedenou na webu Intel:

Technologie Intel® Hyper-Threading (Intel® HT) umožňuje efektivnější využití zdrojů procesoru tím, že umožňuje běh více vláken na každém jádru. Pokud jde o výkon, tato technologie zvyšuje propustnost procesorů a zlepšuje celkový výkon vícevláknových aplikací.

Obecně je jasné, že nic není jasné - jen obecné fráze, ale stručně popisují technologii - HT umožňuje jednomu fyzickému jádru zpracovávat současně několik (obvykle dvě) logická vlákna. Ale jak? Procesor podporující hyperthreading:

  • může ukládat informace o několika běžících vláknech najednou;
  • obsahuje jednu sadu registrů (tedy rychlé paměťové bloky uvnitř procesoru) a jeden řadič přerušení (tedy vestavěnou procesorovou jednotku zodpovědnou za schopnost sekvenčního zpracování požadavků na výskyt jakékoli události vyžadující okamžitou pozornost, od různá zařízení) na logický procesor.
Podívejme se na jednoduchý příklad:

Řekněme, že procesor má dva úkoly. Pokud má procesor jedno jádro, pak je bude provádět postupně, pokud dvě, tak paralelně na dvou jádrech a doba provádění obou úloh se bude rovnat času strávenému na těžší úloze. Co když je ale procesor jednojádrový, ale podporuje hyperthreading? Jak můžete vidět na obrázku výše, při provádění jedné úlohy není procesor 100% vytížen - některé bloky procesoru v této úloze prostě nejsou potřeba, někde dělá modul predikce větvení chybu (která je potřeba k předpovědi, zda se v programu provede podmíněné větvení), někde je chyba v přístupu do mezipaměti - obecně platí, že při provádění úlohy je procesor zřídkakdy vytížen na více než 70 %. A technologie HT jen „strčí“ druhou úlohu do neobsazených bloků procesoru a ukazuje se, že na jednom jádru jsou zpracovávány dvě úlohy současně. Ke zdvojnásobení výkonu však nedochází ze zřejmých důvodů – velmi často se ukazuje, že dvě úlohy potřebují stejnou výpočetní jednotku v procesoru, a pak vidíme jednoduchou: zatímco se zpracovává jedna úloha, vykonání druhé jednoduše v tuto chvíli se zastaví (modré čtverečky – první úloha, zelená – druhá, červená – úlohy přistupující ke stejnému bloku v procesoru):

Výsledkem je, že čas strávený procesorem s HT na dvou úlohách se ukazuje být delší než čas potřebný k výpočtu nejtěžší úlohy, ale menší než čas potřebný k sekvenčnímu vyhodnocení obou úloh.

Výhody a nevýhody technologie

Vezmeme-li v úvahu skutečnost, že procesorová kostka s podporou HT je fyzicky větší než kostka procesoru bez HT v průměru o 5 % (tolik zabírají další bloky registrů a řadiče přerušení), a podpora HT umožňuje načíst procesor o 90-95%, pak oproti 70% bez HT dostaneme, že nárůst bude v nejlepším případě 20-30% - to číslo je poměrně velké.

Ne všechno je však tak dobré: stává se, že z HT není vůbec žádný nárůst výkonu a dokonce se stává, že HT zhoršuje výkon procesoru. To se děje z mnoha důvodů:

  • Nedostatek mezipaměti. Například moderní čtyřjádrové i5 mají 6 MB L3 cache – 1,5 MB na jádro. Ve čtyřjádrových i7s s HT je mezipaměť již 8 MB, ale jelikož je zde 8 logických jader, dostaneme pouze 1 MB na jádro - při výpočtech nemusí mít některé programy tohoto objemu dost, což vede k poklesu v výkon.
  • Nedostatek optimalizace softwaru. Nejzákladnějším problémem je, že programy považují logická jádra za fyzická, a proto při paralelním provádění úloh na jednom jádře často dochází ke zpoždění kvůli úlohám přistupujícím ke stejné výpočetní jednotce, což v konečném důsledku snižuje výkonnostní zisk z HT na nic.
  • Závislost na datech. Z předchozího bodu vyplývá – ke splnění jednoho úkolu je potřeba výsledek dalšího, který však ještě není splněn. A opět se dostáváme k výpadkům, snížení zátěže CPU a malému navýšení od HT.
Programy, které mohou pracovat s hyperthreadingem

Je jich mnoho, protože pro HT výpočty je to mana z nebes - odvod tepla se prakticky nezvyšuje, procesor se o moc nezvětší a při správné optimalizaci můžete dosáhnout nárůstu až o 30 %. Proto byla jeho podpora rychle implementována v těch programech, kde je snadné paralelizovat zátěž - v archivátorech (WinRar), programech pro 2D/3D modelování (3ds Max, Maya), programech pro zpracování fotografií a videa (Sony Vegas, Photoshop, Corel Draw).

Programy, které nefungují dobře s hyperthreadingem

Tradičně se jedná o většinu her - obvykle je obtížné je kompetentně paralelizovat, takže často čtyři fyzická jádra na vysokých frekvencích (řada i5 K) jsou více než dostačující pro hry, což se paralelizace s 8 logickými jádry v i7 ukazuje jako nemožný úkol. Za úvahu však stojí i to, že existují procesy na pozadí a pokud procesor nepodporuje HT, tak jejich zpracování padá na fyzická jádra, což může hru zpomalit. Zde vítězí i7 s HT - všechny úlohy na pozadí mají tradičně nižší prioritu, takže při současném spuštění na jednom fyzickém jádru hry a úkolu na pozadí bude mít hra zvýšenou prioritu a úloha na pozadí nebude „rozptylovat“ jádra. zaneprázdněn hrou - proto Pro streamování nebo nahrávání her je lepší vzít i7 s hyperthreadingem.

Výsledek

Tady snad zbývá jen jedna otázka - má smysl brát procesory s HT nebo ne? Pokud chcete mít otevřených pět programů současně a hrát hry současně nebo se zabýváte zpracováním fotografií, videem nebo modelováním - ano, samozřejmě to stojí za to. A pokud jste zvyklí před spuštěním těžkého programu zavřít všechny ostatní a nehrabete se ve zpracování nebo modelování, pak je vám procesor s HT k ničemu.

V únoru 2002 debutovala vlastní technologie Intel, Hyper-Threading. Co to je a proč se to dnes stalo téměř univerzálním? Odpověď na tuto otázku a další bude diskutována v tomto materiálu.

Historie vzniku HT technologie

Prvním desktopovým procesorem, který podporoval logický multithreading, byla čtvrtá generace Pentia. Hyper-Threading je technologie, která v tomto případě umožnila na jednom fyzickém jádře zpracovávat dva datové toky najednou. Tento čip byl navíc instalován v patici procesoru PGA478, pracoval v 32bitovém výpočetním režimu a jeho taktovací frekvence byla 3,06 GHz. Předtím jej bylo možné nalézt pouze v serverových procesorových zařízeních řady XEON.

Po dosažení úspěšných výsledků v této oblasti se Intel rozhodl rozšířit HT do segmentu desktopů. Následně byla v rámci PGA478 vydána celá rodina takových procesorů. Po debutu patice LGA775 byl NT dočasně zapomenut. Ale se zahájením prodeje LGA1156 dostal v roce 2009 druhý dech. Od té doby se stal povinným atributem procesorových řešení od Intelu, a to jak v segmentu ultravýkonných, tak v levných počítačových systémech.

Koncept této technologie

Podstatou technologie Intel Hyper-Threading je, že prostřednictvím minimálních změn v rozložení mikroprocesorového zařízení vývojáři zajišťují, že na systémové a softwarové úrovni bude kód zpracováván ve dvou vláknech na jednom fyzickém jádru. Všechny prvky výpočetního modulu zůstávají beze změny, přibývají pouze speciální registry a přepracovaný řadič přerušení.

Pokud z nějakého důvodu začne fyzický výpočetní modul nečinně stát, spustí se na něm druhé vlákno programu, přičemž první čeká na přijetí potřebných dat nebo informací. To znamená, že pokud byly dříve prostoje v provozu výpočetní části čipů poměrně časté, Hyper-Threading tuto možnost téměř zcela eliminuje. Podívejme se níže, co tato technologie je.

Na hardwarové úrovni

Při použití Hyper-Threadingu jsou kladeny zvýšené požadavky na hardware. Musí to podporovat základní deska, BIOS a procesor. Minimálně v rámci patice procesoru PGA478 bylo třeba na takovou kompatibilitu dávat zvláštní pozor. Ne všechny sady systémové logiky byly v tomto případě orientovány na použití NT, stejně jako procesorová zařízení. A to i když v názvosloví základní deska Pokud byla přítomna tolik žádaná zkratka, neznamenalo to, že čipy byly správně inicializovány, protože bylo potřeba aktualizovat BIOS.

Situace se v tomto případě od LGA1156 dramaticky změnila. Tato výpočetní platforma byla původně navržena pro použití Hyper-Threading. Uživatelé tedy v tomto případě nenarazili na výraznější problémy s používáním toho druhého. Totéž platí pro následující patice procesorů, jako jsou LGA1155, LGA1151 a LGA1150.

Podobným nedostatkem problémů s použitím HT se mohly pochlubit vysoce výkonné sockety LGA1366, LGA2011 a LGA2011-v3. Aby toho nebylo málo, přímý konkurent Intelu, AMD, implementoval do nejnovější generace svých procesorů pro AM4 velmi podobnou technologii logického multitaskingu – SMT. Používá téměř identický koncept. Jediný rozdíl je v názvu.

Hlavní komponenty ze strany softwaru

Je třeba poznamenat, že i když je NT plně podporováno hardwarovými prostředky, nebude vždy úspěšně fungovat na softwarové úrovni. Pro začátek musí být operační systém schopen pracovat současně s několika výpočetními jádry. Dnešní zastaralé verze systémového softwaru MS-DOS nebo Windows 98 tuto funkci nemají. V případě Windows 10 ale žádné problémy nevznikají a tento operační systém je již zpočátku na takové hardwarové prostředky uzpůsoben osobní počítač.

Nyní pojďme zjistit, jak povolit Hyper-Threading ve Windows K tomu musí být v počítači nainstalován veškerý potřebný ovládací aplikační software. Typicky toto je speciální utilita z CD systémové desky. Má speciální záložku, kde můžete měnit hodnoty v BIOSu v reálném čase. To zase vede k tomu, že možnost Hyper-Threading v něm přejde do pozice Enabled a aktivují se další logická vlákna, a to i bez restartu operačního systému.

Povolení technologie

Mnoho začínajících uživatelů si v počáteční fázi používání nového počítače často klade jednu důležitou otázku týkající se Hyper-Threading: jak jej povolit? Existují dva možné způsobyřešení tohoto problému. Jedním z nich je použití systému BIOS. V tomto případě je třeba provést následující:

  • Po zapnutí PC inicializujeme postup pro vstup do BIOSu. Chcete-li to provést, podržte tlačítko DEL, když se objeví testovací obrazovka (v některých případech musíte podržet F2).
  • Po vzhledu modrá obrazovka Pomocí navigačních kláves přejděte na kartu POKROČILÉ.
  • Poté na něm najdeme položku Hyper-Threading.
  • Naproti tomu musíte nastavit hodnotu na Enabled.

Klíčová nevýhoda tato metoda- pro provedení této operace je nutné restartovat osobní počítač. Skutečnou alternativou je použití konfiguračního nástroje základní desky. Tato metoda byla podrobně popsána v předchozí části. A v tomto případě není vůbec nutné vstupovat do BIOSu.

Zakázání NT

Analogicky k metodám pro zapnutí NT existují dva způsoby, jak tuto funkci deaktivovat. Jeden z nich lze provést pouze během procesu inicializace počítačový systém. To zase není v praxi úplně pohodlné. Odborníci se proto rozhodují pro druhý způsob, který je založen na použití počítačové utility na základní desce. V prvním případě se provádějí následující manipulace:

  1. Při načítání elektronického počítače přejděte na základní systém input-output (jeho druhé jméno je BIOS) podle dříve popsané metody.
  2. Přesuneme se pomocí kurzorových kláves na položku nabídky Advanced.
  3. Dále musíte najít položku nabídky Hyper-Threading (u některých modelů základních desek může být označena jako HT). Naproti němu pomocí tlačítek PG DN a PG UP nastavte hodnotu na Disabled.
  4. Demolované změny uložíme pomocí F10.
  5. Ukončete BIOS a restartujte osobní počítač.

V druhém případě při použití diagnostického nástroje základní desky není potřeba restartovat PC. To je jeho klíčová výhoda. Algoritmus je v tomto případě stejný. Rozdíl je v tom, že využívá předinstalovanou speciální utilitu od výrobce základní desky.

Dříve byly popsány dva hlavní způsoby, jak zakázat Hyper-Threading. Přestože je druhý z nich nominálně považován za složitější, je praktičtější z toho důvodu, že nevyžaduje restartování počítače.

Modely procesorů podporující NT

Zpočátku, jak již bylo zmíněno dříve, byla podpora Hyper-Threading implementována pouze v procesorových zařízeních řady Pentium 4 a pouze ve verzi PGA478. Ale již v rámci LGA1156 a pozdějších výpočetních platforem byla technologie diskutovaná v tomto materiálu použita téměř ve všech možných modelech čipů. S jeho pomocí se procesory Celeron proměnily z jednojádrového na dvouvláknové řešení. Penrium a i3 zase s jeho pomocí dokázaly zpracovat 4 proudy kódu. Vlajková řešení řady i7 jsou schopna současně pracovat s 8 logickými procesory.

Pro názornost uvádíme použití NT v rámci aktuální výpočetní platformy od Intelu - LGA1151:

  • CPU řady Celeron tuto technologii nepodporují a mají pouze 2 výpočetní jednotky.
  • Čipy Pentium line jsou vybaveny 2 jádry a čtyřmi závity. V důsledku toho je NT v tomto případě plně podporována.
  • Výkonnější procesorová zařízení mají podobné rozložení. modelová řada Core i3: 2 fyzické moduly mohou pracovat ve 4 vláknech.
  • Stejně jako většina levných čipů Celeron není Core i5 vybaven podporou HT.
  • Řešení vlajkové lodi i7 také podporují HT. Pouze v tomto případě jsou místo 2 skutečných jader již 4 jednotky pro zpracování kódu. Ti zase mohou pracovat v 8 vláknech.

Hyper-Threading – co je tato technologie a jaký je její hlavní účel? Jedná se o logický multitasking, který umožňuje s minimálními úpravami Hardware zvýšit výkon počítačového systému jako celku.

V jakých případech je tato technologie nejvhodnější?

V některých případech, jak bylo uvedeno dříve, NT zvyšuje rychlost, se kterou procesor zpracovává programový kód. Hyper-Threading může efektivně fungovat pouze s horkým softwarem. Typickými příklady jsou video a audio kodéry, profesionální grafické balíčky a archivátory. Také přítomnost takové technologie může výrazně zlepšit výkon serverového systému. Ale s jednovláknovou implementací programový kód Přítomnost Hyper-Threading je vyrovnána, to znamená, že je získán běžný procesor, který řeší jednu úlohu na jednom jádru.

Výhody a nevýhody

Technologie Intel Hyper-Threading má určité nevýhody. Prvním z nich jsou zvýšené náklady na CPU. Ale vyšší rychlost a vylepšené rozložení křemíkového čipu v každém případě zvýší cenu CPU. Také zvětšená plocha polovodičové základny procesorového zařízení vede ke zvýšení spotřeby energie a teploty. Rozdíl v tomto případě je zanedbatelný a nepřesahuje 5%, ale stále existuje. Jiné podstatné nedostatky v tomto případě nejsou.

Nyní o výhodách. Proprietární technologie NT od Intelu nemá vliv na výkon a výkon, to znamená, že takový počítač nebude schopen klesnout pod určitou hranici. Li software dokonale podporuje paralelní výpočty, pak dojde k určitému nárůstu rychlosti a samozřejmě produktivity.

Testy ukazují, že v některých případech může nárůst dosáhnout 20 %. Nejvíce optimalizovaným softwarem jsou v tomto případě různé transkodéry multimediálního obsahu, archivátory a grafické balíčky. Ale s hrami není všechno tak dobré. Ty jsou zase schopny pracovat ve 4 vláknech a v důsledku toho vlajkové čipy v tomto případě nejsou schopny překonat procesorová řešení střední úrovně.

Moderní alternativa od AMD

Technologie Hyper-Threading dnes není jediná svého druhu. Ona má skutečnou alternativou. S vydáním platformy AM4 jí AMD nabídlo důstojného konkurenta v podobě SMT. Na hardwarové úrovni se jedná o totožná řešení. Pouze vlajková loď od Intelu dokáže zpracovat 8 vláken a přední čip AMD 16. Už jen tato okolnost naznačuje, že druhé řešení je nadějnější.

Intel je proto nucen urychleně upravit své plány vydávání produktů a nabídnout zcela nová procesorová řešení, která mohou konkurovat nováčkům od AMD. Jen dnes ještě nebyly přeskupeny. Pokud tedy potřebujete cenově dostupnou počítačovou platformu, pak je lepší zvolit LGA1151 od Intelu. Pokud potřebujete zvýšit výkon, pak by byla vhodnější AM4 od AMD.

20. ledna 2015 v 19:43

Ještě jednou o Hyper-Threadingu

  • testování IT systémů,
  • Programování

Bývaly doby, kdy bylo nutné hodnotit výkon paměti v kontextu technologie Hyper-threading. Došli jsme k závěru, že její vliv není vždy pozitivní. Když se objevilo kvantum volného času, objevila se touha pokračovat ve výzkumu a uvažovat o probíhajících procesech s přesností cyklů strojových hodin a bitů pomocí softwaru naší vlastní konstrukce.

Studovaná platforma

Předmět experimentů - notebook ASUS N750JKc procesor Intel Core i7-4700HQ. Frekvence 2,4 GHz, rozšiřitelná v režimu Intel Turbo zrychlení až 3,4 GHz. Instalováno 16 gigabajtů paměť s náhodným přístupem DDR3-1600 (PC3-12800), pracující v dvoukanálový režim. Operační systém - Microsoft Windows 8.1 64 bit.

Obr.1 Konfigurace zkoumané platformy.

Procesor zkoumané platformy obsahuje 4 jádra, která při povolení technologie Hyper-Threading poskytuje hardwarovou podporu pro 8 vláken nebo logických procesorů. Firmware platformy přenáší tyto informace do operačního systému prostřednictvím ACPI tabulky MADT (Multiple APIC Description Table). Jelikož platforma obsahuje pouze jeden řadič RAM, chybí tabulka SRAT (System Resource Affinity Table), která deklaruje blízkost procesorových jader k paměťovým řadičům. Je zřejmé, že zkoumaný notebook není platforma NUMA, ale operační systém jej pro účely sjednocení považuje za systém NUMA s jednou doménou, jak naznačuje čára NUMA Nodes = 1. Fakt, který je zásadní pro naše experimentů spočívá v tom, že datová mezipaměť první úrovně má velikost 32 kilobajtů pro každé ze čtyř jader. Dva logické procesory sdílející jedno jádro sdílejí mezipaměti L1 a L2.

Provoz ve studii

Budeme studovat závislost rychlosti čtení datového bloku na jeho velikosti. K tomu zvolíme nejproduktivnější metodu, a to čtení 256bitových operandů pomocí AVX instrukce VMOVAPD. V grafech osa X ukazuje velikost bloku a osa Y ukazuje rychlost čtení. Kolem bodu X, který odpovídá velikosti mezipaměti L1, očekáváme inflexní bod, protože výkon by měl klesnout poté, co zpracovaný blok opustí limity mezipaměti. V našem testu v případě vícevláknového zpracování každé ze 16 iniciovaných vláken pracuje se samostatným rozsahem adres. Pro ovládání technologie Hyper-Threading v rámci aplikace používá každé vlákno funkci SetThreadAffinityMask API, která nastavuje masku, ve které jeden bit odpovídá každému logickému procesoru. Jediná bitová hodnota umožňuje použití zadaného procesoru daným vláknem, nulová hodnota to zakazuje. Pro 8 logických procesorů zkoumané platformy maska ​​11111111b umožňuje použití všech procesorů (Hyper-Threading je povolen), maska ​​01010101b umožňuje použití jednoho logického procesoru v každém jádru (Hyper-Threading je zakázán).

V grafech jsou použity následující zkratky:

MBPS (megabajty za sekundu)rychlost čtení bloku v megabajtech za sekundu;

CPI (počet hodin na pokyn)počet hodinových cyklů na instrukci;

TSC (počítadlo časových razítek)Čítač cyklů CPU.

Poznámka: Hodiny registru TSC se nemusí shodovat hodinová frekvence procesor při běhu v režimu Turbo Boost. To je třeba vzít v úvahu při interpretaci výsledků.

Na pravé straně grafů je zobrazen hexadecimální výpis instrukcí, které tvoří tělo smyčky cílové operace prováděné v každém z programových vláken, nebo prvních 128 bajtů tohoto kódu.

Zkušenost č. 1. Jedno vlákno



Obr.2 Jednovláknové čtení

Maximální rychlost je 213563 megabajtů za sekundu. Inflexní bod se vyskytuje při velikosti bloku asi 32 kB.

Zkušenost č. 2. 16 vláken na 4 procesorech, Hyper-Threading zakázán



Obr.3 Čtení v šestnácti vláknech. Počet použitých logických procesorů je čtyři

Hyper-Threading je zakázán. Maximální rychlost je 797 598 megabajtů za sekundu. Inflexní bod se vyskytuje při velikosti bloku asi 32 kB. Jak se dalo očekávat, oproti čtení s jedním vláknem se rychlost zvýšila přibližně 4x, na základě počtu pracovních jader.

Zkušenost č. 3. 16 vláken na 8 procesorech, povoleno Hyper-Threading



Obr.4 Čtení v šestnácti vláknech. Počet použitých logických procesorů je osm

Hyper-Threading je povolen. Maximální rychlost je 800 722 megabajtů za sekundu v důsledku povolení Hyper-Threadingu, téměř se nezvýšila. Velkým mínusem je, že inflexní bod se vyskytuje při velikosti bloku asi 16 kilobajtů. Povolení Hyper-Threading se mírně zvýšilo maximální rychlost, ale k poklesu rychlosti nyní dochází při poloviční velikosti bloku – asi 16 kilobajtů, takže průměrná rychlost výrazně klesla. To není překvapivé, každé jádro má svou L1 cache, zatímco logické procesory stejného jádra ji sdílejí.

závěry

Studovaná operace se na vícejádrovém procesoru docela dobře škáluje. Důvody: Každé jádro obsahuje vlastní mezipaměť L1 a L2, velikost cílového bloku je srovnatelná s velikostí mezipaměti a každé vlákno pracuje s vlastním rozsahem adres. Pro akademické účely jsme tyto podmínky vytvořili v syntetickém testu, přičemž jsme uznali, že aplikace v reálném světě mají obvykle daleko k ideální optimalizaci. Povolení Hyper-Threadingu se ale i za těchto podmínek negativně projevilo při mírném zvýšení špičkové rychlosti, dochází k výrazné ztrátě rychlosti zpracování bloků, jejichž velikost se pohybuje od 16 do 32 kilobajtů.