Non-Uniform Memory Access: Porovnání verzí

Smazaný obsah Přidaný obsah
mBez shrnutí editace
mBez shrnutí editace
Řádek 6:
 
== Základní představa architektury ==
Moderní [[procesory]] pracují podstatně rychleji než [[Elektronická_paměť|hlavní paměť]], na kterou jsou připojeny. V počátcích vysokorychlostní výpočetní techniky a [[Superpočítač|superpočítačů]], byl běh CPU obecně pomalejší než jejich paměť, ke zlomu však došlo v roce 1970. Od té doby procesory postrádají data, jeikož musejí čekat dokud nebude dokončen přístup do paměti. Mnoho superpočítačů navržených mezi léty 1980 a 1990 byly zaměřeny na poskytování vysoce-rychlostního přístupu do paměti na úkor rychlosti procesorů, což jim umožňovalo pracovat na velkých datových souborech, do kterých rychlejší systémy nemohli přistupovat.
 
Omezení počtu přístupů do paměti za předpokladu použití klíče ubírá výkon dnešních moderních počítačů. Pro běžné procesory to znamená nárůst množství vysokorychlostních [[Cache|vyrovnávacích pamětí]] a potřebu používat více sofistikovanější [[algoritmus|algoritmy]], aby se zabránilo "cache misses" (to znamená, že data nebyla nalezena v paměti cache). Dramatický nárůst velikosti operačních systémů a aplikací na nich provozovaných v zásadě přemohl cache - zlepšení zpracování. U [[Víceprocesorový_systém|multiprocesorů]] vzniká podstatně horší problém. A to takový, že systém nyní může hladovět několik procesorů najednou, a to zejména proto, že pouze jeden procesor může přistupovat k paměti.
Řádek 19:
 
== Cache koherentní NUMA (ccNUMA) ==
Téměř všechny architektury dnešních procesoruprocesorů používají malé množství nesdílené paměti, která je známa jako cache a slouží pro využití lokalizování referencí v přístupu do paměti. S NUMA je udržování cache coherency (odkazování na konzistenci dat uložených v lokální cache se sdílenými prostředky) přes [[Sdílená_paměť|sdílenou paměť]] značně náročné.
 
Ačkoliv je jednoduší návrh a vytvoření, systémy které nejsou ccNUMA (jen NUMA) se staly značně složité pro programy koncipované ve standardní [[Von_Neumannova_architektura|Von Neumanově architektuře]]. Pro všechny NUMA počítače na dnešním trhu se používá speciálně navržený hardware pro udržování cache coherence a proto tedy název „cache-coherent“ NUMA neboli ccNUMA.
Řádek 25:
Typicky ccNUMA probíhá pomocí inter-procesorové komunikace mezi řadičemi cache pro udržení pevného obrazu paměti, v případě, chce-li více než jedna cache ukládat informace do stejného paměťového prostoru. Z tohoto důvodu ccNUMA nepracuje správně, pokud chce více procesorů přistoupit na stejné paměťové místo a to v příliš rychlém sledu. Operační systémy podporují pro NUMA redukci četnosti tohoto přístupu pomocí přidělování (alokace) procesorů a paměti s přihlédnutím na šetrnost k NUMA. Dále mají schopnost se vyhnout plánování a zajištění nešetrných NUMA algoritmů. Alternativně využívají protokoly pro cache coherency jako je [[MESIF protokol]], který se snaží snížit komunikaci potřebnou k udržení koherence cache.
 
Současné ccNUMA systémy jsou multiprocesorové systémy založené na [[AMD Opteron]] (ty mohou být provedeny bez vnější logiky) a [[Intel Itanium]], který vyžaduje speciální chipset s podporu NUMA. Příkladem chipsetů umožňujích ccNUMA jsou [[SGI]] Shub, [[Intel]] E8870, [[HP]] sx2000 (používané v Integrity Superdome a serverech) a další (založené na systému NEC Itanium). Dřívější ccNUMA systémy, například od Silicon Graphics byly založeny na [[MIPS]] procesorech a DEC Alpha 21364 (EV7) procesorech.
<br /><br />
== Související ==