Symetrický multiprocesing

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Symetrický multiprocesing (SMP) je v informatice označení pro druh víceprocesorových systémů, u kterých jsou všechny procesory v počítači rovnocenné (na rozdíl od asymetrického multiprocesingu, ASMP). Zvýšení počtu procesorů, které v počítači sdílí stejnou operační paměť, vede ke zvýšení výkonu počítače, i když ne lineárním způsobem, protože část výkonu je spotřebována na režii (zamykání datových struktur, řízení procesorů a jejich vzájemná komunikace).

Je-li procesorů v SMP systému mnoho, označujeme je jako masivně paralelní systémy (MPP), u kterých je využívána NUMA architektura. Opakem víceprocesorových systémů jsou jednoprocesorové systémy ( zkratka UP).

...
...

Charakteristika

Multiprocesing označuje víceprocesorový systém, ve kterém je na základní desce osazeno více procesorů, které mají společnou operační paměť. Symetrický multiprocesing je varianta víceprocesorového systému, který má všechny procesory na stejné úrovni (jak po hardwarové, tak po softwarové stránce (alternativou jsou asymetrické systémy, tzv. +more ASMP). Přístup ke společné paměti je přes vhodnou propojovací strukturu, která je řízena arbitrem. Maximální počet procesorů je dán při výrobě, avšak obvykle není nutné všechny do základní desky připojit. V současné době (2011) jsou běžně prodávány dvou, tří, čtyř, šesti i osmiprocesorové systémy. Méně často se vyskytují systémy s větším počtem procesorů - v případě desítek, stovek či tisíců je označujeme jako masivně paralelní (MPP). Při vyšších počtech procesorů se projevuje zvyšování režie komunikace mezi procesory a vyjednávání o přístupu do společné paměti. Některé systémy jsou proto typu NUMA, kde je paměť (i další prostředky) rozdělena mezi procesory předem, takže počet vyjednávání může být nižší.

Architektura SMP

Blokové schéma architektury SMP. +more Každý procesor je propojen s vlastní vyrovnávací pamětí (která může být rozdělena na vyrovnávací paměť určenou pro data a vyrovnávací paměť pro instrukce). Tato vyrovnávací paměť je napojena na interní sběrnici popř. přepínací síť zajišťující řízení přenosu dat mezi těmito paměťmi a pamětí operační. Na přepínací síť bývají taktéž zapojeny některá rychlá I/O zařízení (například grafický akcelerátor) či řadiče sběrnic (PCI). Blokové schéma architektury SMP je naznačeno na prvním obrázku vpravo.

Amdahlův zákon (graf). +more Architektura SMP není nijak složitá, proto je také snadná a samozřejmě i levná její implementace. Potíže ale vznikají při připojení většího množství procesorů. Například už při čtyřech současně běžících procesorech se propojovací struktura stává úzkým hrdlem této architektury, protože i přes mnohdy velikou kapacitu vyrovnávacích pamětí (cache) nastávají kolize při přístupu do hlavní paměti, kdy na sebe jednotlivé procesory musí čekat (viz Amdahlův zákon na obrázku vpravo). Tento zákon mimo jiné ukazuje, do jaké míry může i malá sekvenčně prováděná část programu způsobit neefektivní využití většího množství procesorů.

Amdahlův zákon vyjádřen graficky na obrázku vpravo. Jak je z obrázku patrné, s rostoucím počtem procesorů (popř. +more procesorových jader) neroste výpočetní výkon celého počítače lineárně, protože určitou část úlohy není možné provádět paralelně (například se jedná o vstup či výstup dat, přístup ke sdílenému prostředku atd. ). Při použití architektury SMP však může snaha o souběžný přístup k operační paměti způsobit průběh naznačený červenou křivkou - pro velké množství procesorů je nejvíce procesorového času „promrháno“ arbitráží společné sběrnice.

Výhody a nevýhody

SMP má mnoho použití ve vědě, průmyslu a podnikání, které často používají vlastní-naprogramovaný software pro vícevláknové (multitasking) zpracování. Nicméně, většina spotřebního software, jako jsou textové procesory (MS Word, MS Excel) a počítačové hry nejsou psané takovým způsobem, aby byly schopné využívat výhody multiprocesorových systémů. +more U her je to většinou proto, že psaní programu pro zvýšení výkonnosti na SMP systémech by mohlo produkovat ztrátu výkonu na jednoprocesorových systémech. Multijádrové procesory jsou dnes běžně v nových počítačích a rovnováha mezi instalovanými jednojádrovými a vícejádrovými počítači může změnit přístup v nadcházejících letech.

Jednoprocesorové a SMP systémy vyžadují různé programovací metody k dosažení maximálního výkonu. Je tedy potřeba dvě různé verze téhož programu. +more U programů běžících na SMP systémech může dojít k zvýšení výkonu, i když byly napsány pro jednoprocesorové systémy. Důvodem jsou hardwarová přerušení, která obvykle pozastavují provádění programu, zatímco u vícejádrových jsou obsloužena druhým či dalším jádrem. Účinek ve většině aplikací (her) proto není ani tak nárůst výkonu, ale spíše lepší uživatelský dojmem (program běží plynuleji), protože jsou nižší latence z toho důvodu, že více úloh může být obsluhováno současně.

NUMA

Non-Uniform Memory Access (NUMA) umožňuje zlepšit vlastnosti víceprocesorových systémů. Zavádí místo jednoduché lineární propojovací struktury složitější topologie (mřížka, krychle, hyperkrychle, torus nebo hypertorus). +more V uzlech této topologické sítě se nacházejí jednotlivé procesory (popř. procesorová jádra nebo jejich dvojice), operační paměť a další zařízení, mimo jiné i grafický akcelerátor či dokonce větší množství spolupracujících grafických akcelerátorů. V NUMA architektuře tak procesory mohou v ideálních podmínkách pracovat se svými vlastními prostředky (například pamětí) a nemusí s ostatními vyjednávat kvůli přístupu ke sdílenému prostředku. Pouze v případě, že procesor hodlá využívat prostředky patřící jinému procesoru, dojde k vyjednávání.

Procesory použitelné pro SMP

ARM ** ARM11 MPCore ** ARM Cortex-A9 MPCore ** ARM Cortex-A5 MPCore ** ARM Cortex-A15 MPCore * Advanced Micro Devices (AMD) ** Athlon MP ** Athlon 64 X2 ** Turion 64 X2 ** AMD Opteron ** Phenom ** Phenom II ** Athlon II * Azul Systems ** Vega 1 ** Vega 2 * DEC Alpha * Hewlett-Packard ** HP PA-RISC * International Business Machines (IBM) ** AIM Apple/IBM/Motorola PowerPC 601, 604, 604e ** IBM POWER ** System z * Inmos ** INMOS transputers: T400, T800 and T9000 * Intel ** Intel 486/DX ** Intel OverDrive Processor, Socket 7; Intel OverDrive Processor, Socket 8 ** Intel Pentium Pro; Intel Pentium II; Intel Pentium III ** Intel Pentium D ** Intel Core; Intel Pentium Dual-Core; Intel Core 2 ** Intel Core i7 ** Intel Core i5 ** Intel Xeon ** Intel Itanium; Intel Itanium 2 * Motorola/Freescale/Apple ** AIM Apple/IBM/Motorola PowerPC 601, 604, 604e * Sun Microsystems ** UltraSPARC * SGI/MIPS ** MIPS; MIPS64 * Razamicroelectronic ** XLR

Reference

[url=http://www. root. +morecz/clanky/technologie-grafickych-stanic-firmy-sgi/]Tišnovský, P. : Technologie grafických stanic firmy SGI na webu root. cz[/url]. * . * [url=https://web. archive. org/web/20110923051743/http://www. edm2. com/index. php/OS/2%27s_Symmetrical_Multiprocessing_Demystified]OS/2's Symmetrical Multiprocessing Demystified na webu edm2. com[/url].

Související články

Non-Uniform Memory Access

Externí odkazy

http://www. root. +morecz/serialy/low-end-smp/ - Seriál Low-end SMP * http://www. root. cz/clanky/technologie-grafickych-stanic-firmy-sgi/ - Technologie grafických stanic firmy SGI * http://ei. cs. vt. edu/~history/Parallel. html - Historie Multi-Processingu * https://web. archive. org/web/20090220145426/http://www. cs. bris. ac. uk/~alan/book. html - Practical Parallel Programming in Pascal * http://www. enea. com/ose - Enea OSE * http://www. ibm. com/developerworks/library/l-linux-smp/ - Linux a Multiprocessing * https://web. archive. org/web/20090217144800/http://www. intel. com/cd/ids/developer/asmo-na/eng/95581. htm. page=2 - Intel * http://www. amd. com/us-en/Processors/ProductInformation/0,30_118,00. html - AMD * http://www. llnl. gov/computing/tutorials/openMP/OpenMP - Tutorial pro paralelní programování * http://bmdfm. com - BMDFM Binary Modular Dataflow Machine - SMP Runtime Environment.

Kategorie:Procesory

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top