Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PPA P 07. Obsah Návrh paralelních algoritmů Projekty.

Podobné prezentace


Prezentace na téma: "PPA P 07. Obsah Návrh paralelních algoritmů Projekty."— Transkript prezentace:

1 PPA P 07

2 Obsah Návrh paralelních algoritmů Projekty

3 Návrh paralelních algoritmů Úkol – převést sekvenční algoritmus do paralelní formy – Může vyžadovat velmi rozdílný pohled na věc – Paralelní řešení „podstatně“ jiné než sekvenční (sorting networks) Fáze návrhu – Konceptuální Rozdělené na paralelní tasky (decomposition) Koordinace, analýza komunikace (coordination) – Implementační Aglomerace (vzhledem k použité platformě) Mapování tasku na jádro

4 Dekompozice Rozdělení problému na paralelní tasky – Aby bylo možno využít paralelního prostředí – Datová vs. funkční dekompozice Datová dekompozice – Aka doménová dekompozice, cílem je data paralelní řešení Rozdělit data na části, definovat tasky, které budou probíhat nad daty

5 Dekompozice (2) Funkční dekompozice – Rozděluje primárně problém na paralelní (nepřekrývající se) úkoly Potom odpovídajícím způsobem rozdělíme data – Současné zpracování nezávislých funkcí – Současné zpracování streamů dat – Problém: počet prováděných úkonů často neroste s rostoucí dimenzí problému Vhodnost dekompozice – Řádově více tasků než procesorů – Bez redundance – Přibližně stejná velikost tasků – Počet tasků roste s velikostí problému

6 Komunikace Definice komunikačních toků mezi paralelními tasky – Jednotlivé paralelní tasky (odpovídající particím) komunikují – Komunikace je nežádoucí overhead, snaha ji minimalizovat – Typy komunikace Lokální vs. globální Strukturovaná vs. nestrukturovaná Statická vs. dynamická Synchronní vs. asynchronní

7 Dekompozice (2) Vhodná komunikace – Tasky mají podobné komunikační patterny – Komunikují jen s malým počtem sousedů (=lokální k.) – Komunikační operace mohou probíhat paralelně – Komunikace a výpočty mohou probíhat paralelně Viz. např. CUDA

8 Aglomerace Kompozice particí (a tasků a komunikace) vzhledem ke zvolené platformě – Možnost kompozice (serializace) více konceptuálních tasků Granularita – Velké množství izolovaných tasků (fine grained) může být neefektivní (silná komunikace) Méně komunikace, větší zprávy Méně procesů – Povrch vs. objem Komunikace odpovídá „povrchu“ dané části problému Výpočet odpovídá „objemu“ Čím větší task, tím výhodnější poměr výpočet/komunikace Těžké navrhnout, problémy s ad-hoc (nestrukturovanou) komunikací – Replikace výpočtu Stejné výpočty na více jádrech, distribuce výsledku v okolí – Zamezení komunikaci Důsledná aglomerace operací, které nemohou probíhat paralelně

9 Aglomerace (2) Flexibilita – Důležitá pro přenositelnost řešení, škálovatelnost atd. – Dobré řešení je flexibilní, tzn. dokáže se přizpůsobit momentálním podmínkám – Zpravidla 1 task na 1 jádro Nebo více tasků v případě, že očekáváme překrytí výpočtů a komunikace – 1 čeká na data, druhý zaměstnává procesor – Vhodný počet tasků Vychází z možností dané platformy, analytického modelování a studií problému Ovlivňování za compile time a runtime Vhodná aglomerace – Vede k navýšení lokality – Bere v úvahu replikaci výpočtů – Agreguje tasky tak, aby měly podobné výpočetní a komunikační požadavky – Zpravidla méně rozsáhlejších tasků má větší efektivitu než více menších

10 Mapování Kde (na kterém procesoru) který task provést – Symetrické muptiprocesory – automatické plánování tasků – Distribuované systémy – složitější Sofistikované schedulery, zvažování během návrhu – Cíl: minimalizace doby výpočtu Prostředky: paralelní tasky na různá jádra (procesory) Často komunikující tasky na jedno jádro (procesor) – Prostředkem je vysoká konkurence a vysoká lokalita výpočtů zároveň Mapování sady tasků na sadu procesorů – Různé varianty – Problém kombinatorické optimalizace – NP úplný problém – Heuristiky a metaheuristiky

11 Mapování (2) Heuristiky pro zvláštní případy – Doménová dekompozice (DD), pevný počet podobných tasků, strukturovaná komunikace Minimalizivat IPC, aglomerované tasky na stejný proc. – DD, proměnná délka tasku, nestrukturovaná kom. Load balancing; overhead load balancingu musí být menší než zisk – DD, různý počet tasků, dynamické změny komunikace / práce na task Dynamický load balancing (zahrnuje změny mapování, ale i aglomerace ) Preference lokálních algoritmů – Funkční dekompozice Plánování (nezávislých) tasků - (Independent) task scheduling

12 Mapování (3) Load balancing – Vyvážení zátěže. Metody: Rekurzivní bisekce – Rozdělení do domén s obdobnou výpočetní zátěží – Bisekce podle polohy » Nepravidelné gridy s lokální komunikací, rozdělení podle polohy, vždy rozděluje podle větší dimenze » Jednoduché, ale ne příliš optimální (komunikace) – Grafová bisekce » Založená na grafech konektivity » Rozděluje podle vzdálenosti v grafu

13 Mapování (4) Load balancing – Vyvážení zátěže. Metody: Pravděpodobnostní metody – Přiřazuje tasky náhodně vybraným procesorům (uniformní distr. pravděpodobnosti) – Nenáročné, dobře funkční s rostoucí dimenzí – Cyklické mapování » Každý z p procesorů je alokován každý p-tý task Lokální algoritmy – Bez znalosti systému jako celku, jen info od sousedů – Výpočet je přidělen nejméně vytíženému sousedovi – Méně drahé než globální metody – Méně efektivní, pomalejší reakce na globální změny

14 Mapování (5) Plánování tasků – Vhodné pro případy, kdy máme mnoho málo závislých tasků – Manager/worker Workeři žádají o problémy k vyřešení (nebo generují nové) Manager může být úzké hrdlo – Decentralizovaná schémata Bez centrálního managera Distribuovaný sdílený task pool Problémy s detekcí ukončení, volných zdrojů

15 Mapování (5) Plánování tasků – Plánování nezávislých tasků T={T1, …, Tn}M={M1, …, Mm} Bez závislostí, preempce, NP úplný problém Snaha optimalizovat flowtime, makespan (výpočet celého meta-tasku) Předpoklad znalosti ETC Řada heuristik – min-min – max-min – LJFR-SJFR – Sufferage – WorkQueue

16 Mapování (6) Plánování tasků – Plánování nezávislých tasků Dobře fungují i metaheuristiky – Genetické algoritmy – Diferenciální evoluce Dobré mapování – Vybalancování (konfliktních) požadavků pro dobrou distribuci, malou komunikaci


Stáhnout ppt "PPA P 07. Obsah Návrh paralelních algoritmů Projekty."

Podobné prezentace


Reklamy Google