Hlavní navigace

Povídky paralelistické: počítače von Neumannovského typu

Michal Burda 7. 8. 2003

Minule jsme si trochu přiblížili architekturu procesorů rodiny Intel P6. Přitom se nejedná o žádnou paralelní architekturu. Počítače s takovými procesory jsou klasické, von Neumannovského typu, přičemž principu paralelismu využívají pouze uvnitř svých výkonných jednotek. Navenek se chovají jako sekvenční systémy.

Pro takové stroje zavedl pan Flynn někdy v 60. letech označení SISD. Tato zkratka má ještě tři sestřičky a spolu dohromady rozškatulkovávají počítačové architektury z hlediska paralelismu do čtyř částí:

Tabulka č. 461
Zkratka Paměť Typ počítače
SISD – Single Instruction Single Data (jedna instrukce na jedna data)   počítač von Neumannovského typu
SIMD – Single Instruction Multiple Data (jedna instrukce na více dat) sdílená vektorové počítače
MISD – Multiple Instruction Single Data (více instrukcí na jedna data)   (?)
MIMD – Multiple Instruction Multiple Data (více instrukcí na více dat) sdílená symetrické multiprocesory
soukromá masivně paralelní procesory nebo klastry pracovních stanic

Počítače von Neumannovského typu asi všichni dobře známe, protože je máme doma, a tak si zkusme trochu přiblížit skutečné paralelní architektury.

Vektorové počítače

Vektorové počítače pomáhají urychlit výpočet tím, že dovolují provádět instrukce na řadě (vektoru) hodnot najednou. Vektorové počítače obvykle obsahují jednu řídící a několik výkonných jednotek, přičemž každá výkonná jednotka je schopna zároveň s ostatními provádět stejnou instrukci na „svých“ datech.

Tím, že procesor nepracuje se skalárními veličinami, ale rovnou s vektory, se ve speciálních aplikacích dosahuje výrazného zrychlení. Tak například součet dvou vektorů B a C se na sekvenčním stroji musí provádět takto:

for (int i = 0; i <= n; i++) {
  A[i] = B[i] + C[i];
}

…zatímco vektorový procesor může vykonat uvedený kus kódu jako jedinou vektorovou instrukci:

A[0:n] = B[0:n] + C[0:n]

Příklady strojů: Cray, NEC SX-4

Za zmínku stojí, že i obyčejná Pentia mají několik vektorových instrukcí. Jsou jimi instrukce MMX (Multimedia Extensions – Pentium, Pentium II) a SSE (Streaming SIMD Extensions – Pentium III) určené pro zrychlení práce s multimédii, audio/video a ve 3D oblasti.

Zkratkou MMX se souhrnně nazývá 57 instrukcí, které se poprvé objevily u posledních procesorů Pentium a u nástupce procesoru Pentium Pro – u Pentia II. Dovolují paralelně provádět nad více datovými vstupy různé matematické operace vyskytující se typicky v aplikacích pro zpracování zvuku, grafiky a videa.

SSE jsou obdobou instrukcí MMX. Poprvé spatřily světlo světa v procesorech Pentium III. Streaming SIMD Extensions zavádí 70 nových SIMD instrukcí. Na rozdíl od MMX, které dokáží pracovat jen s celými čísly, instrukce SSE zvládají výpočty s pohyblivou desetinnou čárkou.

Symetrické multiprocesory

Symetrické multiprocesory jsou charakteristické tím, že se skládají z několika (obvykle do desítek) procesorů a sdílené paměti. Vše je propojeno nějakým komunikačním subsystémem (sběrnicí). Každý procesor má svůj vlastní proud instrukcí a dat, někdy mohou mít i trochu své lokální paměti (cache), jednotlivé procesory spolu mohou přes sdílenou paměť komunikovat.

Z ostatních zástupců symetrických multiprocesorů zmiňme alespoň SGI Power Challenge.

Masivně paralelní počítače

Masivně paralelní počítače se skládají z relativně samostatných uzlů, kterých může být dohromady propojeno až na tisícovky. Každý uzel má svůj procesor a vlastní paměť; na každém běží jeho vlastní kopie operačního systému. Úlohy běžící na procesech spolu komunikují předáváním zpráv po meziuzlových linkách. Komunikace je tady na rozdíl od symetrických multiprocesorů pomalejší, ale zase je možno využít řádově vyššího počtu procesorů.

Příklad: IBM SP

Klastr (cluster) pracovních stanic

Tento typ paralelní architektury je občas označován jako distribuovaný systém. V podstatě jde o řadu počítačů propojených sítí (LAN/WAN) tak, aby na nich mohla běžet paralelní úloha (n * PC + síť + software pro komunikaci mezi procesy).

Na klastrech pracovních stanic je kouzelné právě to, že jsou často tvořeny obyčejnými („pomalými“) počítači, které jiní používají ke kancelářským pracím, hraní nebo čtení Roota na Internetu. Jedná se tedy o velice levné řešení potřeby superpočítače a asi nebude těžké uhodnout, že v něm bude mít prsty i nějaký ten tučňák.

Hlavním rozdílem mezi klastrem a obyčejnou lokální sítí je, že klastry kladou veliký důraz na rychlost komunikace – předávání zpráv mezi procesory. A tak zatímco pro obyčejnou síť postačí Ethernet (popř. Fast Ethernet), klastry se staví na bázi vícenásobného Fast/Giga Ethernetu, Myrinetu a podobně. Komunikační subsystém je rovněž narozdíl od standardní sítě izolovaný od vnější síťové infrastruktury.

Uzly klastru jsou narozdíl od pracovních stanic počítačové sítě zpravidla (ale není to podmínkou) hardwarově/sof­twarově identické a jsou vyhrazeny pouze pro spolupráci v rámci klastru. Jednotlivými uzly klastrů jsou obvykle pouze základní jednotky bez periferií (tj. bez klávesnic, monitorů apod.). Parametry OS jsou optimalizovány pro dávkovou průchodnost na rozdíl od pracovních stanic, kde se preferuje interaktivní přístup.

Software klastrů umožňuje jednoznačnou identifikaci procesů v rámci celého klastru. Díky tomu může proces na nějakém uzlu poslat signál druhému procesu, který běží na jiném uzlu. To u pracovních stanic není možné.

Klastry mohou plnit různé úlohy. Mohou být sestaveny tak, aby dokázaly vyvažovat zátěž (load balancing), kdy požadavky různých klientů jsou směrovány na jednotlivé uzly podle současného zatížení, nebo aby přinesly vysokou dostupnost (high availability), kdy díky určité redundanci přebírá práci jednoho uzlu v případě výpadku jiný uzel, popřípadě lze klastry specializovat na provádění paralelních výpočtů – pak hovoříme o

výpočetních klastrech.

Na bázi GNU/Linuxu vznikl stále se vyvíjející systém pro práci s klastry: Beowulf. Ale o něm až příště.

Odkazy:

Top500 – žebříček nejrychlejších superpočítačů svě­ta

Našli jste v článku chybu?

19. 8. 2003 10:11

Matus "fantomas" Uhlar (neregistrovaný)

3DNOW je sada vektorovych instrukcii pre pracu s cislami s pohyblivou desatinnou ciarkou, objavili sa v procesoroch od AMD, prvy bol tusim K6-2.

MMX vyuziva registre FPU (kedysi 80bitove, neskor tusim 96, teraz udajne 112 ci 128?) ako dvojicu celych 32-bitovych cisel. 3DNOW vyuziva tie iste registre ako dvojicu 32bitovych realnych cisel.

SSE definuje 8 128-bitovych registrov ktore mozno vyuzit ako 4 32-bitove alebo 2 64-bitove cisla (tusim aj 8 16-bitovych ale nie som si teraz isty).





10. 8. 2003 12:10

wintermute (neregistrovaný)

TOP500 sa vykonovo znacne zmenil oproti Vasmu odkazu. Aktualny zoznam superpocitacov TOP500 najdete na http://www.top500.org. Aktualny zoznam (k dnesnemu dnu) je na http://www.top500.org/list/2003/06/

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Lupa.cz: Slevové šílenství je tu. Kde nakoupit na Black Friday?

Slevové šílenství je tu. Kde nakoupit na Black Friday?

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá