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.

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

Programovacím jazykom tohto stroja je Fortran D s podporou viacerých nástrojov<br />

na vývoj a ladenie paralelných programov, napr. D Editor poskytuje spätnú väzbu<br />

o paralelizme a komunikácii; dPablo Performance Browser zobrazuje a spracováva nazbierané<br />

informácie o výkone.<br />

3.7.6 Metodológia paralelného programovania<br />

Paralelné programovanie je innos vemi nároná na autorovu tvorivos a predstavivos.<br />

Postupom asu bola vytvorená metodológia, ktorá uahuje vykonanie niektorých inností.<br />

Ideálnym zavedením paralelizmu by bolo jeho použitie bez ohadu na hardvérovú architektúru<br />

a programovací jazyk. V praxi však treba bra všetky tieto faktory do úvahy<br />

a preto je dôležitý aj výber programovacieho jazyka a k nemu najvhodnejšej architektúry.<br />

− Prvou etapou návrhu je výber modelu paralelného programovania. Opisuje mapovanie<br />

jednotiek súbehu (paralelne vykonatených sekvencií operácií) na výkonné jednotky.<br />

Treba pritom bra ohad aj na obmedzenia cieovej platformy. V návrhu treba<br />

použi dobrý paralelný algoritmus – abstraktný, efektívny, adaptovatený.<br />

− Dekompozícia problému a implementácia algoritmu – pri dekompozícii sa snažíme<br />

o vytvorenie takých prúdov inštrukcií, ktoré budú ma medzi sebou o najmenšiu interakciu.<br />

Pre vzájomný prístup k informáciám stanovi pravidlá a zabezpeovacie<br />

mechanizmy. Dekompozícia pozostáva z dvoch hlavných astí:<br />

o dekompozícia úloh – úlohou je zoskupi operácie do výkonných entít – procesov,<br />

úloh a distribuova prácu po úlohách za úelom dosiahnutia najvyššej vyaženosti,<br />

o dekompozícia údajov – preskúmanie štruktúr a vzorov použitia údajov<br />

v programe. Urenie logických hraníc medzi podmnožinami.<br />

− Výber štruktúry algoritmu – vykoná sa na základe potu úloh, ich poradia a spôsobu<br />

zdieania údajov. Hlavné štruktúry algoritmov:<br />

o organizácia poda poradia – dobre definovaná interakcia skupín úloh, rozhodujúce<br />

je ich vzájomné poradie, napr. MVC,<br />

o organizácia poda úloh – aktívna je naraz iba jedna skupina a interakcie sú v nej.<br />

3.8 Výzvy softvérovej architektúry<br />

Vedecká komunita a komerné firmy sa problematike architektúry softvéru venujú už<br />

niekoko rokov. Táto téma je teda znane rozsiahla a dobre zdokumentovaná. Avšak veká<br />

as výskumu bola zameraná predovšetkým na modelovanie a opis architektúry softvéru.<br />

Problematika vyhodnocovania a porovnávania jednotlivých architektúr bola zatia pokrytá<br />

len v obmedzenej miere. To znamená, že sme schopní navrhnú a namodelova zložitú<br />

architektúru, ale nie sme schopní exaktne vyhodnoti vhodnos použitia navrhnutej architektúry.<br />

Rozvoj v rámci návrhu a modelovania architektúry softvéru viedol k vývoju softvéru<br />

vedenému architektúrou (angl. architecture-driven software development). Vývoj softvéru<br />

vedený architektúrou mal však za následok, že softvér sa stal vekým a zložitým. Máme<br />

teda veký poet implementácií vychádzajúcich z rôznych architektúr avšak bez možnosti

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

Saved successfully!

Ooh no, something went wrong!