Mapa (paralelní vzor) - Map (parallel pattern) - Wikipedia
Mapa je idiom v paralelní výpočty kde se na všechny prvky sekvence aplikuje jednoduchá operace, potenciálně paralelně.[1] Používá se k řešení trapně paralelní problémy: ty problémy, které lze rozložit na nezávislé dílčí úkoly, které nevyžadují žádnou komunikaci / synchronizaci mezi dílčími úkoly kromě připojit se nebo bariéra na konci.
Při aplikaci mapového vzoru formuluje jeden elementární funkce který zachycuje operaci, která má být provedena s datovou položkou, která představuje část problému, pak použije tuto elementární funkci v jedné nebo více vlákna exekuce, hypervlákna, Pruhy SIMD nebo na více počítačů.
Některé systémy paralelního programování, jako např OpenMP a Cilk, mít jazykovou podporu pro vzor mapy ve formě a paralelní pro smyčku;[2] jazyky jako OpenCL a CUDA podporovat elementární funkce (jako „jádra ") na jazykové úrovni. Vzor mapy se obvykle kombinuje s jinými paralelními návrhovými vzory. Například mapa v kombinaci s redukcí kategorie dává MapReduce vzor.[3]:106–107
Viz také
Reference
- ^ Samadi, Mehrzad; Jamshidi, Davoud Anoushe; Lee, Janghaeng; Mahlke, Scott (2014). Paraprox: Aproximace založená na vzoru pro datové paralelní aplikace (PDF). Proc. 19. mezinárodní konf. o architektonické podpoře programovacích jazyků a operačních systémů. doi:10.1145/2541940.2541948.
- ^ Wolfe, Michael (6. dubna 2015). „Překladatelé a další: Minulost, současnost a budoucnost paralelních smyček“. HPCwire.
- ^ Michael McCool; James Reinders; Arch Robison (2013). Strukturované paralelní programování: vzory pro efektivní výpočet. Elsevier. ISBN 978-0124159938.