Heterogenní výpočty - Heterogeneous computing
![]() | Bylo navrženo, aby tento článek byl sloučeny do Grid computing. (Diskutujte) Navrhováno od srpna 2020. |
![]() | tento článek potřebuje další citace pro ověření.Října 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Heterogenní výpočty označuje systémy, které používají více než jeden druh procesoru nebo jádra. Tyto systémy získávají výkon nebo energetická účinnost nejen přidáním stejného typu procesorů, ale přidáním odlišných koprocesory, obvykle obsahující specializované možnosti zpracování pro zpracování konkrétních úkolů.[1]
Heterogenita
Obvykle heterogenita v kontextu výpočtu[když? ] do různých instrukční sady architektur (ISA), kde hlavní procesor má jeden a další procesory mají jinou - obvykle velmi odlišnou - architekturu (možná více než jednu), nejen jinou mikroarchitektura (plovoucí bod zpracování čísla je zvláštním případem - obvykle se nejedná o heterogenní).
V minulosti heterogenní výpočty znamenaly, že s různými ISA se muselo zacházet odlišně, zatímco v moderním příkladu Heterogenní systémová architektura (HSA) systémy[2] eliminovat rozdíl (pro uživatele) při použití více typů procesorů (obvykle CPU a GPU[3]), obvykle na stejné integrovaný obvod, poskytnout to nejlepší z obou světů: obecné zpracování GPU (kromě známých schopností 3D grafického vykreslování GPU může také provádět matematicky náročné výpočty na velmi velkých souborech dat), zatímco CPU mohou provozovat operační systém a provádět tradiční sériové úkoly.
Úroveň heterogenity v moderních výpočetních systémech se postupně zvyšuje, protože další škálování výrobních technologií umožňuje, aby se dříve diskrétní součásti staly integrovanými součástmi systém na čipu nebo SoC.[Citace je zapotřebí ] Například mnoho nových procesorů nyní obsahuje integrovanou logiku pro propojení s jinými zařízeními (SATA, PCI, Ethernet, USB, RFID, rádia, UART, a řadiče paměti ), stejně jako programovatelné funkční jednotky a hardwarové akcelerátory (GPU, kryptografie koprocesory, programovatelné síťové procesory, A / V kodéry / dekodéry atd.).
Nedávná zjištění ukazují, že heterogenní čipový multiprocesor ISA, který využívá rozmanitost nabízenou více ISA, může překonat nejlepší homogenní architekturu stejného ISA až o 21% s 23% úsporou energie a snížením o 32% Produkt zpoždění energie (EDP).[4] Oznámení AMD z roku 2014 na svých pin-kompatibilních ARM a x86 SoC, kódové označení Project Skybridge,[5]při výrobě navrhl heterogenní čipový multiprocesor ISA (ARM + x86).[Citace je zapotřebí ]
Heterogenní topologie CPU
Systém s heterogenní topologie CPU je systém, kde se používá stejný ISA, ale samotná jádra se liší rychlostí.[6] Nastavení je více podobné a symetrický multiprocesor. (Ačkoli takové systémy jsou technicky asymetrické multiprocesory, jádra se neliší v rolích ani v přístupu k zařízení.)
Běžným používáním takové topologie je poskytovat lepší energetickou účinnost v mobilních SoC. Rameno velké. MALÉ je prototypový případ, kdy jsou kombinována rychlejší vysoce výkonná jádra s pomalejšími nízkoenergetickými jádry.[7] Apple Silicon vyrobila jádra ARM s podobnou organizací. Společnost Intel také vyrobila hybridní jádra x86 s kódovým označením Lakefield, i když ne bez větších omezení podpory sady instrukcí.
Výzvy
Heterogenní výpočetní systémy představují nové výzvy, které se v typických homogenních systémech nenacházejí.[8] Přítomnost více prvků zpracování vyvolává všechny problémy spojené s homogenními systémy paralelního zpracování, zatímco úroveň heterogenity v systému může zavést nejednotnost ve vývoji systému, programovacích postupech a celkové schopnosti systému. Mezi oblasti různorodosti patří:[9]
- ISA nebo architektura sady instrukcí
- Výpočtové prvky mohou mít různé architektury sady instrukcí, což vede k binární nekompatibilitě.
- ABI nebo binární rozhraní aplikace
- Výpočtové prvky mohou paměť interpretovat různými způsoby.[10] To může zahrnovat obojí endianismus, konvence volání a rozložení paměti a závisí na architektuře i překladač se používá.
- API nebo aplikační programovací rozhraní
- Služby knihoven a OS nemusí být jednotně dostupné pro všechny výpočetní prvky.[11]
- Nízkoúrovňová implementace jazykových funkcí
- Jazykové funkce, jako jsou funkce a vlákna, jsou často implementovány pomocí ukazatele funkcí mechanismus, který při použití v heterogenních prostředích vyžaduje další překlad nebo abstrakci.
- Paměťové rozhraní a Hierarchie
- Výpočtové prvky se mohou lišit mezipaměti struktury, soudržnost mezipaměti protokoly a přístup do paměti může být jednotný nebo nejednotný přístup do paměti (NUMA ). Rozdíly lze nalézt také ve schopnosti číst libovolné délky dat, protože některé procesory / jednotky mohou provádět pouze bajtové, slovní nebo hromadné přístupy.
- Propojit
- Výpočtové prvky mohou mít kromě základních paměťových / sběrnicových rozhraní různé typy propojení. To může zahrnovat vyhrazená síťová rozhraní, přímý přístup do paměti (DMA ) zařízení, poštovní schránky, FIFO, a vzpomínky na zápisník atd. Kromě toho mohou být určité části heterogenního systému soudržné s mezipamětí, zatímco jiné mohou pro zachování konzistence a soudržnosti vyžadovat výslovné zapojení softwaru.
- Výkon
- Heterogenní systém může mít CPU, které jsou z hlediska architektury identické, ale mají základní mikroarchitektické rozdíly, které vedou k různým úrovním výkonu a spotřeby energie. Asymetrie ve funkcích spárovaných s neprůhlednými programovacími modely a abstrakcemi operačního systému mohou někdy vést k problémům s předvídatelností výkonu, zejména u smíšených úloh.
- Rozdělení dat
Příklad hardwaru
Heterogenní výpočetní hardware lze nalézt v každé počítačové oblasti - od špičkových serverů a vysoce výkonných výpočetních strojů až po nízkoenergetická vestavěná zařízení včetně mobilních telefonů a tabletů.
- Vysoce výkonná výpočetní technika
- Cray XD1
- Počítače SRC SRC-6 a SRC-7
- Vestavěné systémy (DSP a mobilní platformy)
- Texas Instruments OMAP
- Analogová zařízení Blackfin
- Qualcomm Hledík
- Nvidia Tegra
- Samsung Exynos
- Jablko "Série
- Movidius Myriad Jednotky zpracování obrazu, který zahrnuje několik symetrických procesorů, doplněných o pevné funkční jednotky a pár SPARC založené řadiče.
- HiSilicon Kirin SoC
- MediaTek SoC
- Cadence Design Systems Tensilica DSP
- Překonfigurovatelné výpočty
- Síťování
- Síťové procesory Intel IXP
- Netronome Síťové procesory NFP
- Obecná výpočetní, herní a zábavní zařízení
- Intel CPU Sandy Bridge, Ivy Bridge a Haswell
- AMD Rypadlo a Ryzen APU
- IBM Buňka, nalezený v Play Station 3[14]
- SpursEngine, varianta procesoru IBM Cell
- Emoční motor, nalezený v Playstation 2
- PAŽE big.LITTLE / DynamIQ Architektura CPU
- Téměř všichni prodejci ARM nabízejí heterogenní řešení; ARM, Qualcomm, Nvidia, Apple, Samsung, HiSilicon, MediaTek atd.
Viz také
Reference
- ^ Shan, Amar (2006). Heterogenní zpracování: strategie pro posílení Moorova zákona. Linux Journal.
- ^ „Nadace Hetergeneous System Architecture (HSA)“. Archivovány od originál dne 2014-04-23. Citováno 2014-11-01.
- ^ S. Mittal a J. Vetter (2015), Přehled heterogenních výpočetních technik CPU-GPU ACM Computing Surveys.
- ^ Venkat, Ashish; Tullsen, Dean M. (2014). Využití rozmanitosti ISA: Návrh heterogenního čipového multiprocesoru ISA. Sborník 41. výročního mezinárodního sympozia o počítačové architektuře.
- ^ Anand Lal Shimpi (05.05.2014). „AMD oznamuje projekt SkyBridge: Pin-Compatible ARM a x86 SoC v roce 2015, podpora Androidu“. AnandTech. Citováno 2017-06-11.
V příštím roce společnost AMD vydá 20nm SoC s nízkou spotřebou Cortex A57 s integrovaným grafickým jádrem Next GPU.
- ^ „Plánování energetické náročnosti“. Dokumentace k jádru Linuxu.
- ^ Přehled technik pro architekturu a správu asymetrických vícejádrových procesorů „ACM Computing Surveys, 2015.
- ^ Kunzman, D.M. (2011). Programování heterogenních systémů. Mezinárodní sympozium o paralelních a distribuovaných dílnách. doi:10.1109 / IPDPS.2011.377.
- ^ Flachs, Brian (2009). Přivedení heterogenních procesorů do hlavního proudu (PDF). Symposium on Application Accelerators in High-Performance Computing (SAAHPC).
- ^ „Nákladově efektivní alokace multimediálních dat pro heterogenní paměť pomocí genetického algoritmu v cloud computingu“ (PDF). IEEE. 2016. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ Agron, Jason; Andrews, David (2009). Hardwarové mikrokernely pro heterogenní systémy Manycore. Workshopy o paralelním zpracování, 2009. Mezinárodní konference o paralelním zpracování (ICPPW). doi:10.1109 / ICPPW.2009.21.
- ^ Beaumont, Olivier; Boudet, Vincent; Rastello, Fabrice; Robert, Yves (srpen 2002). „Rozdělení čtverce na obdélníky: algoritmy úplnosti a aproximace NP“ (PDF). Algorithmica. 34 (3): 217–239. CiteSeerX 10.1.1.3.4967. doi:10.1007 / s00453-002-0962-9.
- ^ Beaumont, Olivier; Becker, Brett; DeFlumere, Ashley; Eyraud-Dubois, Lionel; Lastovetsky, Alexey (červenec 2018). „Nedávné pokroky v dělení matic pro paralelní výpočty na heterogenních platformách“ (PDF). Transakce IEEE na paralelním a distribuovaném výpočtu.
- ^ Gschwind, Michael (2005). Nová architektura SIMD pro heterogenní čipový multiprocesor Cell (PDF). Hot Chips: Sympozium o vysoce výkonných čipech.