Strukturální rysy
Paralelní počítačový systém
Počítač s paralelním zpracováním
Počítač s paralelním zpracováním mainly refers to the following two types of computers: ①Can simultaneously A single central processor computer that executes multiple instructions or processes multiple data items at the same time; ②Multi-processor system.
Strukturální charakteristiky paralelních zpracovatelských počítačů
S vývojem elektronických zařízení se zpracovatelský výkon počítačů výrazně zlepšil.Zvýšení rychlosti dosaženého pouze postupem zařízení však zdaleka nesplňuje potřeby moderní vědy, technologie, strojírenství a mnoha dalších oblastí pro vysokorychlostní výpočetní schopnosti.To vyžaduje, aby lidé zlepšili strukturu počítače a přijali různé technologie paralelního zpracování, aby výrazně zvýšili rychlost zpracování a schopnost řešení problémů.
Strukturální charakteristiky paralelních zpracovatelských počítačů se projevují hlavně ve dvou aspektech: ①A rozmanitost paralelních měření se široce používá v jednom procesoru;② Vývoj jediného procesoru do víceprocesorového systému s různými spojovacími stupni.Hlavním účelem paralelního zpracování je zlepšit zpracovatelskou kapacitu systému.Některé typy počítačových systémů paralelního zpracování (jako jsou systémy víceprocesorů) mohou také zlepšit spolehlivost systému.Vzhledem k vývoji zařízení mají počítačové systémy paralelního zpracování lepší poměr výkonu a ceny a existuje trend dalšího zlepšení.
Princip struktury
Struktura paralelního zpracovatelského počítače zahrnuje hlavně režim potrubí, multifunkční režim komponenty, režim pole, režim multiprocesoru a režim toku dat.
Procesor potrubí
Proces provádění instrukcí je rozdělen na několik sekcí a každá sekce provádí část zpracování.Instrukce protéká všemi segmenty v pořadí a výsledek je získán po dokončení provedení.Když byla tato instrukce zpracována v tomto odstavci a vstoupí do dalšího odstavce, může do tohoto odstavce proudit další instrukce.Proto lze několik pokynů zpracovat současně na celém potrubí.Pokud je doba provedení každého segmentu jeden útěk hodin, za normálních okolností může být jeden výsledek na rytmus, tj. Jedna instrukce je dokončena.To může urychlit procesor.
Korelace sousedních pokynů v programu ovlivní účinnost procesoru potrubí.Například instrukce podmíněné větev někdy nemůže určit nástupní instrukci před provedením poslední instrukce;A pokud tato instrukce musí použít výsledek předchozí instrukce jako operand, přeruší to potrubí a sníží účinnost.
Multifunkční komponenty
Procesor má více funkčních komponent.Každá funkční jednotka může zpracovávat data paralelně, takže procesor může použít různé funkční jednotky k provedení několika pokynů paralelně se zvýšením rychlosti zpracování.Pokud mají některé počítače sčítání s pohyblivou řádovou čárkou, přidání pevného bodu, násobení s pohyblivou řádovou čárkou, dělení s pohyblivou řádovou čárkou, logické operace, posun a další funkční komponenty pro zpracování různých dat.Některé vektorové stroje potrubí také obsahují více funkčních komponent.Během provádění programu je kvůli nevyvážené poptávce po různých komponentách nemožné, aby všechny funkční komponenty byly v rušném stavu.Korelace mezi pokyny také ovlivňuje účinnost stroje.Například funkční komponenty požadované touto instrukcí stále provádějí jiné pokyny;a operandy požadované touto instrukcí jsou výsledky pokynů, které dosud nebyly provedeny.
Procesor pole
Procesor se skládá z více identických komponent zpracování a sjednoceného ovladače.Tento řadič interpretuje pokyny a přenáší provozní příkazy na všechny komponenty zpracování.Každá komponenta zpracování provádí přesně stejnou operaci současně podle příkazu ovladače.Procesory pole lze rozdělit na procesory pole s pohyblivou řádovou čárkou a procesory bitových řezů.
Illiac-IV stroj je procesor pole s pohyblivou řádovou čárkou, z toho 64 identických zpracovatelských jednotek (PU) a společné řídicí jednotky (Cu).Každá zpracovatelská jednotka zahrnuje zpracovatelskou jednotku (PE) schopnou provádět 64bitové operace s pohyblivým bodem a paměť (PM) s kapacitou 2K slov.64 zpracovatelských jednotek je uspořádáno v poli 8 × 8.Každá jednotka zpracování má přímou datovou cestu se sousedními zpracovatelskými jednotkami.
Multiprocesorový systém
Multiprocesorový systém může zlepšit výkon a spolehlivost systému.Jedná se o procesor multi-instrukčního proudu s více instrukcí.Podle stupně vazby každého procesoru v systému lze multiprocesorový systém rozdělit do dvou kategorií.① Nepřímo spojený systém multiprocesoru: Každý procesor v systému má hlavní paměť.Každý procesor je spravován vlastním operačním systémem a komunikuje prostřednictvím sdíleného vstupního a výstupního systému.② Systém s více procesory přímo spojený přímo: Každý procesor v systému sdílí hlavní paměť a je spravován jednotným operačním systémem.Multiprocesorové systémy obecně odkazují na tuto kategorii přímého spojení.
Síť propojení
V přímém spojeném multiprocesorovém systému je velmi důležité realizovat propojovací síť mezi procesorem a pamětí a mezi procesorem a procesorem.Existují tři hlavní formy propojovacích sítí.
① Struktura sběrnice: Struktura sběrnice je nejjednodušší strukturou sítě v multiprocesorovém systému.Síť propojení skutečného multiprocesorového systému je často vyvíjena na základě struktury sběrnice (obrázek 3).
② Struktura křížového přepínače: Křížový spínač je složen z pole přepínače z příčky, které spojuje horizontální procesor a vertikální paměťový modul (obrázek 4).
Struktura paměti s více přístavy: Přesuňte spínače na každém křížovém bodě ve struktuře přepínače na rozhraní odpovídající paměti a vytvoří strukturu paměti s více porty.
Procesor datového toku
Procesor datového toku je vysoce paralelní procesor, který jsou oceněni lidmi.Přestože si zachovává praxi ukládání programů, hlavní princip se liší od počítačové struktury Neumann.Program neprovádí v pořadí pokynů označených čítačem programu.Dokud jsou k dispozici všechny požadované operandy, lze provést pokyny, tj. Provedení programu není poháněno kontrolním tokem, ale tokem dat.
Procesor datového toku je procesor založený na jazyce.Jako rozhraní mezi jazykem uživatele a strukturou počítače používá diagram programu toku dat.Diagram programu toku dat je reprezentován aktivním boxem.Každý aktivní rámec má více polí, které ukládají operační kód, operand a cílovou adresu.Program toku dat je uložen v aktivní paměti ve formě sbírky aktivních snímků.Pokud lze provést instrukce, odpovídající aktivní rámová adresa je odeslána do fronty instrukcí.Komponenta čtení načítá aktivní rámec z paměti podle adresy za účelem vytvoření operačního paketu, který je odeslán do operační komponenty pro zpracování a vygeneruje se paket výsledku.Komponenta modifikace odešle výsledné údaje do zadaného aktivního rámce jako operand podle cílové adresy výsledného paketu a odešle adresu instrukce s operandem do fronty instrukcí.Pokyny v zařízení pro instrukce mají podmínky provádění, takže je třeba pouze zvýšit počet komponent nebo zvýšit stupeň potrubí komponenty, může být provedeno paralelně vysokou rychlostí.Kromě toho lze také připojit více jednotek pro zpracování instrukcí do systému s více procesory datového proudu pro další zlepšení schopností zpracování.
Paralelní algoritmy a paralelní jazyky
Jedním z klíčů ke zlepšení účinnosti paralelního zpracování jsou paralelní algoritmy.Algoritmus se musí přizpůsobit struktuře počítače.Pokud je paralelismus vyjádřený algoritmem v podstatě stejný jako paralelismus počítače, lze efektivitu řešení problémů počítače zlepšit.
Ve vektorových počítačích je hlavním problémem zvyšování stupně paralelismu použití vektorů k reprezentaci operandů, které lze zpracovat paralelně.Mnoho běžně používaných numerických výpočtových metod, jako je souhrn sekvence, násobení matice, gaussovská eliminace, rychlá Fourierova transformace atd.., byly úspěšně implementovány paralelně na vektorových počítačích.Populární paralelní jazyk je v podstatě rozšíření jazyka Fortran.
V multiprocesorovém systému je klíčem ke zlepšení paralelismu programu rozložení úkolů na dostatek procesů, které lze provozovat současně.V programovacím jazyce je nutné rozšířit prohlášení, které může jasně vyjádřit souběžnost procesu, aby odpovídající kontrolní mechanismus mohl poskytnout kontrolu a správu, když program běží, včetně derivace, komunikace a plánování paralelních úkolů.Jazyk ADA poskytuje potřebné věty pro popis struktury paralelních programů multiprocesorů. Several data flow languages such as Id language and VAL language that have emerged to adapt to data flow computers have been tried out. Its important feature is that it treats arrays as values rather than targets.Programy psané v jazyce toku dat mohou přirozeně vyjádřit maximální paralelismus operací.
Klasifikace systému paralelního zpracování
Pro klasifikaci systémů paralelního zpracování je nejpoužívanějším používaným rozdělením počítačových systémů do čtyř kategorií na základě násobků toku dat a toku instrukcí v počítačovém systému :
(1) Počítačový systém s jedním instrukcí pro jedno instrukce
Jednorázová data s jedním instrukcí, počítačový systém SISD, v počítačovém systému SISD, jednorázový zpracovatel provádí jediný tok instrukcí pro provádění operací na datech uložených v jedné přístupné paměti.Typickým příkladem počítače SISD je systém s jedním procesorem, ve kterém neexistuje žádná metoda paralelního zpracování.
(2) Počítačový systém s více instrukcemi více instrukcí
Jediný instrukce Počítačový systém s více instrukcemi, více instrukcí více dat, počítačový systém SIMD, v počítačovém systému SIMD může jedna instrukce synchronně řídit více procesů, každý proces má související datovou paměť, takže jedna instrukce může dokončit stejnou operaci na jinédatové skupiny.SIMD počítač
(3) Více instrukce Počítačový systém s více instrukcemi
Počítačový systém s více instrukcemi s jedním datovým proudem, více instrukčních dat, počítačový systém MISD může realizovat více sekvenčních dat Provoz procesoru.Každý procesor provádí jinou sekvenci pokynů.Ve skutečném systému není žádný kompletní počítač MISD.
(4) Počítačový systém s více instrukcemi multi-data streamu
Více instrukcí více dat, počítačový systém MIMD, v počítačovém systému MIMD, více zpracování procesoru dokončuje různé sekvence instrukcí paralelně a zpracovává různá data.Počítače MIMD jsou vlastně paralelní systémy s více procesory.V rámci organizace MIMD je každý procesor univerzální a každý procesor může zpracovat všechna data a úplné pokyny pro odpovídající datové operace.Systém MIMD lze také dále rozdělit podle komunikačního režimu každého procesoru.Pokud každý procesor sdílí paměť, každý procesor přistupuje k programům a datům ve sdílené paměti a komunikuje mezi sebou prostřednictvím sekundární paměti.Nejběžnější formou tohoto strukturovaného systému je systém SMP.SMP si uvědomuje, že více procesorů sdílí jednu skupinu paměti nebo paměti prostřednictvím sdíleného sběrnice nebo jiných prostředků propojení.V systému úložiště SMP je výkon rozhraní paměťového rozhraní v podstatě stejný pro každou jednotku zpracování, tj. Akviziční události pro sdílené úložiště jsou v podstatě stejné pro každou jednotku zpracování.Skupina nezávislých procesorů nebo SMPS může být propojena komunikačními odkazy nebo jinými pevnými cestami mezi počítači nebo dokonce síťovým zařízením za vzniku klastrového systému.Systém NUMA implementuje různé rychlosti čtení/zapisování do své vnitřní paměti, takže doba přístupu souvisí s místem přístupným jednotkou zpracování.
Paralelní počítačový systém a jeho návrh úložiště
S rozvojem počítačové technologie a poklesem nákladů na hardware mají návrháři stále více vyhledávanou způsoby, jak dosáhnout paralelismu.Mezi nimi může mnoho procesorových paralelních systémů výrazně zlepšit výkon počítačového systému.V systému paralelního zpracování lze zpracovatelské jednotky provádět souběžně s vyvážením vstupního pracovního zatížení.V současné době patří nejčastěji používané paralelní metody organizace pro více procesorů Symmetric Multi-Processor (SMP), Cluster System (Cluster) a nerovnoměrná paměť (NUMA).SMP používá více identických nebo podobných procesorů k vytvoření víceprocesorového výpočetního systému ve formě propojení sběrnice nebo přepínače, což je počítač s více procesory v obvyklém smyslu.V systému SMP je nejdůležitějším problémem konzistence úložiště.Každý procesor má nezávislé úložiště, konkrétně vysokorychlostní paměť mezipaměti.Pokud se v mezipaměti různých procesorů objeví řada dat, pokud je obsah mezipaměti upraven, měl by být také aktualizován obsah jiné mezipaměti a hlavní paměti.Tento problém byl včas vyřešen protokolem konzistence mezipaměti.Systém klastru je tvořen skupinou kompletních počítačů propojených, jako sjednocený výpočetní zdroj pro zpracování dat společně, vnější část celého klastru lze považovat za klastr pro zpracování.Systém NUMA realizuje paralelní práci víceprocesorů pomocí sdílené paměti.Hlavním rysem NUMA je, že doba přístupu k paměťovému slovu určitého procesoru v systému se liší podle umístění paměťového slova.