Obsah

N-AP 18

Zadání

Distribuované systémy, dekompozice úloh, „hrubý‟ paralelismus.

Distribuované systémy

Dva základní aspekty:

Při konstrukci distribuovaného systému by mělo být splněno několik cílů:

Distribuce dat

Data mohou být distribuována dvojím způsobem:

Obě metody lze kombinovat. Celou databázi lze např. rozložit a určité její prvky přitom duplikovat.

Distribuce řízení

MPI (Message Passing Interface)

Je komunikační rozhraní pro meziprocesorovou komunikaci v paralelních programech.
Vlastnosti:

PVM (Parallel Virtual Machine)

Byl vyvinut na přelomu 80. a 90. let s cílem vytvářet virtuální superpočítač. Znamenal první krok pro vývoj distribuovaného počítaní. Síť byla tvořena démony pvmd běžícími na různých počítačích s různými OS a knihovny přilinkované k programům. Výpočetní model byly samostatné úlohy řešené na jednotlivých procesorech s komunikací pomocí zpráv.

Základní třídy příkazů

Koordinační jazyk Linda

Dekompozice úloh

Paralelní programování rozděluje celkový problém do úkolů pro jednotlivé procesory a synchronizuje běh jednotlivých úkolů tak, aby na konci vznikl smysluplný výsledek.

Paralelní programování lze nahlížet také ze dvou úhlů:

Dekompozici úloh lze provádět ze dvou úhlů:

Uzitecne video: http://www.dailymotion.com/video/xksorx_introduction-to-parallel-programming-02-parallel-decomposition-methods-clay-breshears-intel-software_tech#.URuIRB000hY

„Hrubý‟ paralelismus

Granularita paralelismu na úrovni samostatných úloh pro jednotlivé OS, kdy si jednotlivé úlohy pouze zasílají zprávy. Používá se MPI nebo PVM, distribuovaná paměť. Jednotlivé podproblémy sú nezávislé od výsledkov iných podproblémov (tzn., že oneskorenie pri výpočte jedného nemá vplyv na iný výpočet). Takéto počítanie nazývame vysokopriepustné počítanie (vhodne pre volne-viazane PC siete).


Jemný paralelismus, hrubý paralelismus, granularita výpočtů Granularita paralelních výpočtů udává poměr mezi množstvím výpočtů prováděných jedním uzlem ku množství komunikace mezi jednotlivými uzly.
Jemný praralelismus (vysoká granularita) označuje situaci, kdy velikost jednotlivých výpočtů je relativně malá (délka kódu, procesorový čas). Uzly spolu často komunikují, vyměňují si malé objemy dát.
Hrubý paralelismus (nízká granularita) je opakem jemného paralelismu. Data se vyměňují po delších sekvencích výpočtů a větších časových úsecích.
S rostoucí granularitou lze výpočet rozdělit mezi více uzlů a zvyšuje se potenciál pro zrychlení. Tím se ale také zvětšuje režije a množství komunikace. Pro optimální výkon je potřeba nalézt kompromis mezi těmito dvěma extrémy.

Použitá literatura a weby

http://www1.osu.cz/~prochazka/ds/P2.pdf https://computing.llnl.gov/tutorials/parallel_comp