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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

104 Štúdie vybraných tém programových a informaných systémov<br />

úloh. Jedinou úlohou návrhu je rozdeli úlohy, aby skonili približne naraz a rovnomerne<br />

pokry zaaženie procesorov.<br />

Takmer „trápne“ problémy majú o 2 kroky navyše – distribúcia inicializaných údajov<br />

na procesory a zozbieranie výsledkov do koneného výsledku.<br />

V súasnosti je znaným trendom pre nároné i rozsiahle paralelizovatené úlohy<br />

zavedenie výpotov v sieti (angl. grid computing). Keže sa využíva aj na výpoty na používateských<br />

staniciach, na ktorých ich majitelia dobrovone poskytnú výpotový as, kladie<br />

sa dôraz na bezpenos. Nezanedbatenými sú aj kritériá rýchlosti a zopakovatenosti výsledkov.<br />

Okrem uvedených spôsobov existujú aj rôzne variácie, napríklad:<br />

− akumulácia pomocou zdieanej údajovej štruktúry, ke procesy potrebujú údaje<br />

z iastoných riešení, napríklad spracovanie bankomantových transakcií nad útom<br />

klienta,<br />

− iné ako úplné riešenie – riešenie bez splnenia všetkých úloh; používa sa v prípade, ak<br />

nie je možné uri, že existuje úplné riešenie a treba uri, kedy riešenie postauje,<br />

− iastoná definícia problému – nie je možné uri všetky úlohy na zaiatku, tvoria sa<br />

dynamicky. ažko je uri podmienku ukonenia.<br />

3.7.4 Údajovo paralelné systémy<br />

Pri údajovo-paralelných systémoch ide o systémy, v ktorých sa vykonávajú rovnaké operácie<br />

nad všetkými elementmi údajovej štruktúry. Komunikácia a synchronizácia pritom<br />

zostávajú implicitné (neviditené). Napr. pri násobení matíc: C = A × B sa zdrojové matice<br />

nemenia a vykonáva sa stále ten istý program pre rôzne prvky matice.<br />

Pri údajovo-paralelnom modeli všetky procesory vykonávajú ten istý program. Všetky<br />

údajové štruktúry sú priradené do obdžnikovej mriežky virtuálnych procesorov. Virtuálne<br />

procesory sú namapované na fyzickú štruktúru, na jeden fyzický procesor môže by<br />

namapovaných viacero virtuálnych procesorov.<br />

Údajovo-paralelné jazyky<br />

Na paralelné programovanie slúžia programovacie jazyky, ktoré obsahujú dodatoné rozšírenia<br />

pre prácu s paralelizmom a paralelnými výpotami. Zástupcami sú napr.:<br />

− High Performance Fortran – sada rozšírení do Fortran-u 90. Špecifikuje, ako sú údaje<br />

rozdelené medzi procesory. Nešpecifikuje sa nízkoúrovová komunikácia.<br />

− Data Parallel C Extensions (DPC) – používa šablóny (tvar, angl. shape). Každá štandardná<br />

premenná v jazyku C sa dá špecifikova cez DPC. Šablóna musí ma stupe<br />

(poet rozmerov), rozmery a rozloženie (ako je paralelný objekt distribuovaný), pozri<br />

nasledujúcu ukážku programu pre paralelné spracovanie v DPC.<br />

shape [20][20] S;<br />

main()<br />

{<br />

int sum;<br />

int:S a;<br />

a = 1;<br />

sum +=a ;<br />

}

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

Saved successfully!

Ooh no, something went wrong!