04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Architektúry softvéru 105<br />

− Parallel Extensions to .NET – paralelné rozšírenia pre .NET (<strong>verzia</strong> 4.0) o.i. pridávajú<br />

do jazyku C# koncept malých blokov nezávislého kódu tzv. úloh (angl. task), ktoré je<br />

možné vykona súbežne pomocou príkazu paralelného cyklu (angl. parallel for). Tiež,<br />

rozšírenia obsahujú sadu dátových štruktúr pre súbežné spracovanie.<br />

3.7.5 Systémy zasielajúce správy<br />

Do tejto kategórie patria sekvenné, pokia možno nezávislé programy, ktoré komunikujú<br />

pomocou volaní send a receive, ktoré bývajú synchrónne alebo asynchrónne. Obyajne sa<br />

realizuje jeden program n-krát, t.j. ide o SPMD (jeden program, viacero údajov, angl. single<br />

program, multiple data) programovanie. Komunikácia prebieha poda modelu zasielania<br />

správ:<br />

− množina procesov používa lokálnu pamä,<br />

− procesy komunikujú posielaním a prijímaním správ,<br />

− prenos údajov vyžaduje spoluprácu (poslanie a prijatie).<br />

Najpopulárnejšími <strong>verzia</strong>mi systémov zasielajúcich správy sa stali rozhranie zasielania<br />

správ a paralelný virtuálny stroj, lebo nevyžadujú modifikáciu hostiteského programovacieho<br />

jazyka.<br />

Rozhranie zasielania správ (angl. Message Passing Interface – MPI)<br />

Je to definícia portovatenej knižnice na zasielanie správ. Táto špecifikácia má aj svoju<br />

implementáciu v programovacom jazyku C. Aplikáciu napísanú pomocou tejto knižnice<br />

treba vidie ako zbierku súbežných komunikujúcich programov, ktoré sa vykonávajú<br />

na jednom alebo viacerých procesoroch. Každý program má stupe a ID úlohy.<br />

Programy založené na MPI sú programy napísané v tradiných jazykoch (C, ...) rozšírené<br />

o príkazy definície prostredia a komunikácie. Komunikácia v rámci aplikácie je riadená<br />

pomocou konceptov komunikátorov. Komunikátor (angl. communicator) vytvára<br />

komunikaný kanál medzi skupinami úloh:<br />

− intrakomunikátor (angl. intracommunicator) – prepája úlohy jednej skupiny. Predvoleným<br />

typom je MPI_COMM_WORLD (MPI komunikátor pre svet) na komunikáciu<br />

so všetkými dostupnými úlohami,<br />

− interkomunikátor (angl. intercommunicator) – komunikácia medzi úlohami dvoch alebo<br />

viacerých skupín.<br />

V rámci komunikácie sa používajú typované správy zasielané synchrónnymi aj asynchrónnymi<br />

spôsobmi. Používajú sa virtuálne topológie – mapovanie úloh na problém<br />

a algoritmy.<br />

Paralelný virtuálny stroj (angl. Parallel Virtual Machine – PVM)<br />

Je to programový systém zasielajúci správy. Je urený na vývoj a prevádzku vekých súbežných<br />

aplikácií, ktoré pozostávajú z interagujúcich nezávislých súiastok.<br />

Pozostáva z knižnice funkcií a démona (pvmd – PVM daemon). Jeden program sa<br />

spustí rune a volá ostatné (majú ID). Komunikácia potom prebieha asynchrónnym zasielaním,<br />

priom príjem môže by blokujúci. PVM potrebuje explicitnú distribunú<br />

a komunikanú schému.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!