PARALELNÍ PROCESY A PROGRAMOVÁNÍ

Podobné dokumenty
Dynamické programování

Směrová kalibrace pětiotvorové kuželové sondy

Univerzita Pardubice FAKULTA CHEMICKO TECHNOLOGICKÁ

IB109 Návrh a implementace paralelních systémů. Analytický model paralelních programů. RNDr. Jiří Barnat, Ph.D.

Oddělení technické elektrochemie, A037. LABORATORNÍ PRÁCE č.9 CYKLICKÁ VOLTAMETRIE

Výpočet svislé únosnosti osamělé piloty

Výpočet svislé únosnosti osamělé piloty

7. VÝROBNÍ ČINNOST PODNIKU

13. Architektury paralelních počítačů

Cyklické kódy. Alena Gollová, TIK Cyklické kódy 1/23

Způsobilost. Data a parametry. Menu: QCExpert Způsobilost

Obr. V1.1: Schéma přenosu výkonu hnacího vozidla.

Systémové struktury - základní formy spojování systémů

Téma 7: Přímý Optimalizovaný Pravděpodobnostní Výpočet POPV

Datová centra a úložiště. Jaroslav G. Křemének g.j.kremenek@gmail.com

NÁVRH A OVĚŘENÍ BETONOVÉ OPŘENÉ PILOTY ZATÍŽENÉ V HLAVĚ KOMBINACÍ SIL

Úvěr a úvěrové výpočty 1

SHANNONOVY VĚTY A JEJICH DŮKAZ

zadání: Je dán stejnosměrný motor s konstantním magnetickým tokem, napájen do kotvy, indukčnost zanedbáme.

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Laplaceova transformace.

Předpjatý beton Přednáška 6

Termodynamika ideálního plynu

FYZIKA. rovnováhy atmosférického tlaku a hydrostatického tlaku ve válci

2.3.6 Práce plynu. Předpoklady: 2305

1.5.2 Mechanická práce II

Cvičení z termomechaniky Cvičení 5.

PZP (2011/2012) 3/1 Stanislav Beroun

BH059 Tepelná technika budov Konzultace č. 2

3.2 Metody s latentními proměnnými a klasifikační metody

V p-v diagramu je tento proces znázorněn hyperbolou spojující body obou stavů plynu, je to tzv. izoterma :

7. Měření dutých objemů pomocí komprese plynu a určení Poissonovy konstanty vzduchu Úkol 1: Určete objem skleněné láhve s kohoutem kompresí plynu.

GEOMETRICKÉ PROJEKCE. Petra Surynková, Yulianna Tolkunova

Národní informační středisko pro podporu jakosti

MĚŘENÍ VÝKONU V SOUSTAVĚ MĚNIČ - MOTOR. Petr BERNAT VŠB - TU Ostrava, katedra elektrických strojů a přístrojů

CVIČENÍ Z ELEKTRONIKY

Přednáška č. 11 Analýza rozptylu při dvojném třídění

Protokol o provedeném měření

Aproximativní analytické řešení jednorozměrného proudění newtonské kapaliny

1. série. Různá čísla < 1 44.

GONIOMETRICKÉ ROVNICE -

Extrémy funkce dvou proměnných

Termodynamické základy ocelářských pochodů

Zákon o vyrovnání relativní mezní produktivity (MP) (týká se výrobce), pro výrobce užitek = produktivita, chová se jako viz výše MU

Způsob určení množství elektřiny z kombinované výroby vázané na výrobu tepelné energie

PRŮTOK PLYNU OTVOREM

Analytická metoda aneb Využití vektorů v geometrii

Stabilita prutu, desky a válce vzpěr (osová síla)

Analýza chování hybridních nosníků ze skla a oceli Ing. Tomáš FREMR doc. Ing. Martina ELIÁŠOVÁ, CSc. ČVUT v Praze Fakulta stavební

6. Vliv způsobu provozu uzlu transformátoru na zemní poruchy

5. Finanční hlediska podnikatelského rozhodování. Časová hodnota peněz. Podnikatelské riziko ve finančním rozhodování.

Numerické výpočty proudění v kanále stálého průřezu při ucpání kanálu válcovou sondou

Model tenisového utkání

VYBRANÉ STATĚ Z PROCESNÍHO INŽENÝRSTVÍ cvičení 6

Porovnání dostupnosti různých konfigurací redundance pro napájení stojanů

Komparace Value at Risk a Expected Shortfall v rámci Solvency II

Závislost indexů C p,c pk na způsobu výpočtu směrodatné odchylky

HYDROPNEUMATICKÝ VAKOVÝ AKUMULÁTOR

1.3.3 Přímky a polopřímky

můžeme toto číslo považovat za pravděpodobnost jevu A.

OPTIMALIZACE PLÁŠTĚ BUDOV

Algoritmy I, složitost

Základní konvenční technologie obrábění SOUSTRUŽENÍ

Řetězy Vysokovýkonné IWIS DIN 8187

II. MOLEKULOVÁ FYZIKA 1. Základy termodynamiky IV

5. Lokální, vázané a globální extrémy

PROCESY V TECHNICE BUDOV cvičení 1, 2

ÚSTAV ORGANICKÉ TECHNOLOGIE

5 Teorie selekce a složky genetické změny

6 Algebra blokových schémat

Nelineární model pneumatického pohonu

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

Metody s latentními proměnnými a klasifikační metody

POSUDEK SPOLEHLIVOSTI VYBRANÉ OCELOVÉ KONSTRUKCE NUMERICKÝM ŘEŠENÍM

Výpo ty Výpo et hmotnostní koncentrace zne ující látky ,

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji?

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Výpočty za použití zákonů pro ideální plyn

Lineární algebra : Násobení matic a inverzní matice

V následující tabulce jsou uvedeny jednotky pro objemový a hmotnostní průtok.

K141 HY3V (VM) Neustálené proudění v potrubích

1.5.5 Potenciální energie

Spojitá náhodná veličina

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Kvantová a statistická fyzika 2 (Termodynamika a statistická fyzika)

Definice (Racionální mocnina). Buď,. Nechť, kde a a čísla jsou nesoudělná. Pak: 1. je-li a sudé, (nebo) 2. je-li liché, klademe

Rovnice paraboly

Třetí Dušan Hložanka Název zpracovaného celku: Řetězové převody. Řetězové převody

Soustavy lineárních rovnic a determinanty

4. Úvod do paralelismu, metody paralelizace

Lineární algebra : Násobení matic a inverzní matice

DIAGNOSTICKÁ MĚŘENÍ V SOUSTAVĚ MĚNIČ - MOTOR

Pokud světlo prochází prostředím, pak v důsledku elektromagnetické interakce s částicemi obsaženými

Příklady z přednášek Statistické srovnávání

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

TERMIKA VIII. Joule uv a Thompson uv pokus pro reálné plyny

PRINCIPY ZPRACOVÁNÍ HLASU V KLASICKÉ A IP TELEFONII

Obvodové rovnice v časové oblasti a v operátorovém (i frekvenčním) tvaru

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

8 Kořeny cyklických kódů, BCH-kódy

Transkript:

PARALELNÍ PROCESY A PROGRAMOVÁNÍ 6 Analýza složitosti algoritmů - cena, ráce a efektivita Ing. Michal Bližňák, Ph.D. Zlín 2013 Tento studijní materiál vznikl za finanční odory Evroského sociálního fondu (ESF) a rozočtu české reubliky v rámci řešení rojektu: CZ 1.07/2.2.00/15.0463, MOD- ERNIZACE VÝUKOVÝCH MATERIÁLŮ A DIDAKTICKÝCH METOD

OBSAH 1 Obsah 1 Kvalitativní měřítka aralelizace algoritmu 3 1.1 Cena algoritmu....................................... 3 1.2 Paralelní ráce....................................... 3 1.3 Efektivita algoritmu.................................... 3 1.3.1 Brentův simulační rinci............................. 5 1.3.2 Izoefektivita aralelního algoritmu........................ 5 1.3.3 Absolutně minimální aralelní čas........................ 7 1.3.4 Kar-Flattova metrika............................... 7 2 Příklad analýzy aralelního algoritmu 9 3 Kontrolní otázky 12

OBSAH 2 STRUČNÝ OBSAH PŘEDNÁŠKY Kvalitativní měřítka aralelizace algoritmu Příklad analýzy aralelního algoritmu MOTIVACE Analýza složitosti algoritmů umožňuje zjistit časové a amět ové charakteristiky jednotlivých algoritmů. Na základě těchto analýz lze určit vhodnost jednotlivých algoritmů ro řešení konkrétních úloh a také to, zda má smysl určitý algoritmus imlementovat. Tato kaitola ojednává o analýze časové a amět ové složitosti sekvenčních a aralelních algoritmů a o možnostech určení kvalitativních měřítek aralelních algoritmů. CÍL Naučit se stanovit cenu, ráci a efektivitu aralelní algoritmu a rozkoumat jeho škálovatelnost.

Kvalitativní měřítka aralelizace algoritmu 3 1 Kvalitativní měřítka aralelizace algoritmu Stanovením zrychlení aralelního algoritmu jeho analýza zdaleka nekončí. Dalšími důležitými měřítky kvality aralelizace je cena, ráce a zejména efektivita nového aralelního algoritmu. Vyjádřením a zkoumáním těchto měřítek lze zjistit, zda byla aralelizace algoritmu rovedena otimálně a účelně. Také je zaotřebí rozkoumat, zda je daný aralelní algoritmus dostatečně škálovatelný, tzn. zda lze měnit očet výočetních jednotek (CPU) odílejících se na výočtu odle otřeb tak, aby nebyla negativně ovlivněna jak cena, tak i efektivita aralelního algoritmu. Následující kaitoly oisují stanovení jednotlivých kvalitativních měřítek aralelizace a ukazují také další metody vhodné ke zjištění říčin její říadné neefektivnosti. 1.1 Cena algoritmu Cena aralelního algoritmu vyjadřuje jakých nákladů jsme museli vynaložit na dosažení konkrétního aralelního času a je definována jako Obecně lze říci, že C K (n, ) = Ω(SU K (n)) C K A (n) = C(n, ) = T (n, ) (1) Definice 1 Můžeme-li tvrdit, že C K (n, ) = O(SU K (n)), ak je aralelní algoritmus cenově otimální. 1.2 Paralelní ráce Práce aralelního algoritmu ředstavuje celkový očet aktivně racujících rocesorů ve všech krocích aralelního algoritmu. Označme t 0 = T (n, ), ak aralelní ráci definujeme jako W K A (n) = W (n, ) = N 1 + N 2 +... + N t0 (2) kde N i je očet aktivně racujících rocesorů v kroku i = 1, 2,..., t 0. Je zřejmé, že W (n, ) C(n, ), jelikož C(n, ) zahrnuje také zahálející rocesory. V raxi se ro určení kvality aralelního algoritmu uvádí síše C(n, ), rotože jeho hodnota lée reflektuje celkové vytížení aralelního systému. To je dáno tím, že zahálející rocesory není vždy možné z důvodu architektonického omezení aralelního systému uvolnit ro další využití a roto je hodnota W (n, ) říliš otimistická. Definice 2 Platí-li tvrzení, že W K (n, ) = O(SU K (n)), ak lze aralelní algoritmus ovažovat za racovně otimální. 1.3 Efektivita algoritmu Jednou z nejdůležitějších metrik kvality aralelního algoritmu je jeho efektivita, kterou lze cháat jako míru vytížení rocesorů. Efekticitu aralelního algoritmu označujeme jako nebo zjednodušeně a lze ji vyjádřit vztahem E K A (n) (3) E(n, ) (4)

Kvalitativní měřítka aralelizace algoritmu 4 Vztah 5 lze rozvinout jako E(n, ) = SU K (n) C K (n, ) (5) E(n, ) = SU K (n) S(n, ) T (n, ) S(n, ) C K = = 1 (6) (n, ) T (n, ) což znamená, že efektivitu aralelního algoritmu lze cháat také jako jeho zrychlení na rocesor a její hodnota bude vždy 1 (v ideální říadě = 1 ro aralelní algoritmy s lineárním zrychlením). Z toho vylývá, že algoritmus je cenově otimální má lineární zrychlení má konstantní efektivitu. Obecně lze v souladu s Amdahlovým efektem říci, že rostoucí velikost roblému n a ři zachování konstantní hodnoty očtu rocesorů má tendenci zvyšovat zrychlení aralelního algoritmu a tím také jeho efektivitu. Naoak, neúměrné zvyšování očtu rocesorů má za následek růst aralelní režie a tím také snížení zrychlení a efektivity. Tyické růběhy aralelního času, zrychlení a efektivity jsou zobrazeny na obrázku 1. Obrázek 1: Tyické růběhy T (n, ), E(n, ) a S(n, ) v závislosti na změně n Zdroje neefektivity aralelního algoritmu mohou být nedostatek užitečné ráce ro daný očet rocesorů, velké komunikační náklady v orovnání s výočetní složitostí, velká synchronizační režie, šatná distribuce ráce (nerovnoměrné rozdělení ráce) mezi rocesory. Neefektivitu aralelního algoritmu lze odstranit dvojím zůsobem: technologicky a algoritmicky. Technologický řístu zahrnuje oužití rychlejšího komunikačního HW, zmenšení SW komunikační režie, řekrývání komunikačních a výočetních oerací. Algoritmický řístu zahrnuje resektování škálovatelnosti roblému volnou vhodné granularity,

Kvalitativní měřítka aralelizace algoritmu 5 dobré statické maování algoritmu na aralelní architekturu, rovnoměrné statické rozdělení výočetní zátěže, vhodné ředřazování komunikačních oerací řed místa v rogramu, kde jsou vyměňovaná data otřeba. Je zřejmé, že využití algoritmického řístuu bude ve většině říadů výhodnější; náklady na úravu a otimalizaci aralelního algoritmu budou menší než náklady na úravu (ugrade) výočetního HW. Z algoritmických možností snížení neefektivity aralelního algoritmu se ak nejčastěji využívá možnosti vhodného škálování aralelního algoritmu. Škálovatelností aralelního algoritmu budeme rozumět jeho schonost řizůsobit se měnícímu očtu rocesorů nebo velikosti řešeného roblému ři udržení co nejleší efektivity. 1.3.1 Brentův simulační rinci V říadě, že náš aralelní algoritmus oužívá nerakticky velké množstvíá rocesorů, lze jeho škálováním sníži cenu a tím zvýšit jeho efektivitu. Je-li očet rocesorů menší než stueň aralelizmu a ředokládáme-li nízké komunikační režie, můžeme oužít Brentův simulační rinci, odle kterého nemůže mít simulace řádově horší ani ráci ani cenu. Věta 1 Uvažujme roblém K o velikosti n řešitelný v t aralelních krocích na rocesorech ři zanedbání komunikační režie. Necht m i je očet oerací v kroku i. Pak W (n, ) = t i=1 m i a stačí = max t i=1 m i rocesorů, čímž dostaneme C(n, ) = t = max t i=1 m it. Uvažujme rocesorový očítač M s < týmiž rocesory. Jestliže lze u M též ignorovat komunikační režie jako u K, lze tentýž výočet na M rovést v T (n, ) aralelních krocích, kde T (n, ) = W (n, )/ + t (7) Důkaz 1 Paralelní kroky se simulují ostuněm kdy každý i-tý krok, ve kterém je nutné rovést m i oerací, lze na M simulovat v m i / krocích. Celková doba simulace roto bude T (n, ) = t m i / = i 1 t (m i / ) + t = i=1 t (m i )/ + t = W (n, )/ + t (8) i=1 a dále W (n, ) = W (n, ) C(n, ) = T (n, ) W (n, ) + t = W (n, ) + C(n, ) (9) Význam Brentova simulačního rinciu sočívá v tvrzení, že nerakticky velké množství rocesorů lze libovolně snižovat, řičemž doba výočtu oroste nejvýše úměrně a celková ráce, cena i efektivita zůstávají řádově stejné. Zvolíme-li ro simulaci vhodný menší očet rocesorů, může ři zachování stejné ráce cena algoritmu dokonce klesnout, rotože budou oužité rocesory více vytíženy. U algoritmu, u nichž nelze zanedbat komunikační režie je toto zaotřebí brát v úvahu. 1.3.2 Izoefektivita aralelního algoritmu Jak již bylo zmíněno, ři návrhu aralelního algoritmu je ro udržení konstantní efektivity zaotřebí srávně volit granularitu, tj. musíme zvolit srávný oměr mezi očtem rocesorů a velikostí řešeného roblému n. K tomu nám může omoci tzv. izoefektivní metrika. Jedná se

Kvalitativní měřítka aralelizace algoritmu 6 o metriku škálovatelnosti aralelního systému, čili jeho schonosti zvyšovat výkon ři zvyšování očtu rocesorů. Z Amdahlova efektu vylývá, že zrychlení je rostoucí funkcí velikosti řešeného roblému n. Aby byla zachována konstantní efektivita E(n, ), ři rostoucím musí růst také n. Rychlost tohoto růstu lze vyjádřit omocí izoefektivní funkce. Uvažujme vztah mezi aralelním a sekvenčním časem algoritmu řešícím stejný roblém T (n, ) = T (n, 1) + κ(n, ) (10) kde T (n, ) je aralelní čas, T (n, 1) je sekvenční čas a κ(n, ) je celková aralelní režie. Paralelní čas ak lze vyjádřit jako T (n, ) = T (n, 1) + κ(n, ) Dosadíme-li vztah 11 do vztahu ro vyjádření zrychlení algoritmu, dostaneme S(n, ) SU(n) T (n, 1) T (n, ) T (n, ) T (n, 1) T (n, 1) + κ(n, ) Vyjádříme-li efektivitu algoritmu omocí vztahu 12, dostaneme (11) (12) E(n, ) S(n, ) Izoefektivní funkci lze oté odvodit následovně T (n, 1) T (n, 1) + κ(n, ) 1 1 + κ(n,) T (n,1) 1 1 + κ(n,) SU(n) (13) kde c je konstanta T (n, 1) E(n, )(T (n, 1) + κ(n, )) T (n, 1)(1 E(n, )) κ(n, )E(n, ) T (n, 1) E(n,) 1 E(n,) κ(n, ) T (n, 1) c κ(n, ) (14) c = E(n, ) 1 E(n, ) Z odvození 14 vylývá, že ři změně (a tím ádem i celkové aralelní režie) se musí změnit i n, aby latila daná nerovnice a efektivita zůstala zachována konstantní. To znamená, že změní-li se na, musí se změnit také n o násobek κ(n, ) κ(n,). Pro dobře škálovatelné aralelní algoritmy musí být tato změna minimální, rotože i jejich aralelní režie by měla být co nejnižší. Problém stanovení horní a dolní meze vhodného očtu rocesorů lze vyjádřit omocí izoefektivních funkcí ψ 1 a ψ 2. Definice 3 Necht je dána konstanta 0 < E 0 < 1. Pak ψ 1 je asymtoticky minimální funkce taková, že (15) n = Ω(ψ 1 ()) : E(n, ) E 0 (16) čili ψ 1 udává asymtoticky nejmenší instanci roblému, která je na daném očtu rocesorů řešitelná s konstantní efektivitou.

Kvalitativní měřítka aralelizace algoritmu 7 ψ 2 je asymtoticky maximální funkce taková, že n = O(ψ 2 (n)) : E(n, n ) E 0 (17) čili ψ 2 udává asymtoticky největší očet rocesorů, který ještě oskytuje řešení dané instance roblému s konstantní efektivitou. Funkce ψ 2 (n) je inverzní k funkci ψ 1 (). Menší (omalu rostoucí) funkce ψ 1 () říká, že systém je lée škálovatelný. Pro funkci ψ 2 (n) je tvrzení oačné. 1.3.3 Absolutně minimální aralelní čas Pro zjištění otimálního očtu rocesorů, které jsou schony roblém dané velikosti vyřešit v absolutně minimálním čase lze oužít následující ostu. Jak již bylo zmíněno výše a jak je atrné na obrázku 2, řidáváním nadměrného očtu rocesorů můžeme docílit nejen oklesu zrychlení, ale dokonce také rodlužování času řešení. Toho můžeme využít k tomu, abychom omocí derivace růběhu aralelního času nalezli otimální očet rocesorů ot oužitých ro řešení roblému dané velikosti. Uvažujme rovnici Obrázek 2: Tyické růběhy T (n, ) v závislosti na změně n a T (n, ) =ot = 0 (18) Jejím řešením získáme otimální očet rocesorů ot ro daný algoritmus a velikost roblému. 1.3.4 Kar-Flattova metrika Chceme-li zjistit říčinu neefektivity aralelního algoritmu, můžeme oužít Kar-Flattovu metriku, která umožňuje určit, zda je neefektivita zůsobena velkou sekvenční složkou f σ aralelního algoritmu či jeho nadměrnou režií κ(n, ). Kar-Flattova metrika stanovuje tzv. exerimentálně určený oměr sekvenční složky e. Z růběhu hodnoty e ři vzrůstajícím lze vyvodit říčinu neefektivity: je-li e konstantní, je říčinou neefektivity velká sekvenční složka, je-li e rostoucí, je říčinou neefektivity nadměrná aralelní režie.

Kvalitativní měřítka aralelizace algoritmu 8 Uvažujme T (n, ) = σ(n) + φ(n) + κ(n, ) T (n, 1) = σ(n) + φ(n) Exerimentálně určený oměr sekvenční složky lze vyjádřit jako (19) e = σ(n) + κ(n, ) T (n, 1) Po dosazení do 19 a úravě dostaneme vyjádření aralelního času σ(n) + κ(n, ) = T (n, 1)e (20) Uvažujme T (n, ) = T (n, 1)e + T (n, 1)(1 e) (21) S(n, ) = Pak o zjednodušení vztahu T (n, 1) T (n, 1) = S(n, )T (n, ) (22) T (n, ) T (n, ) = S(n, )T (n, )e + dostaneme exerimentálně určený oměr sekvenční složky e = 1 S(n,) 1 1 1 S(n, )T (n, )(1 e) (23) (24) Příklad 1 Exerimentální cestou jsme ři analýze aralelního algoritmu získali tabulku Tabulka 1: Exerimentálně zjištěné S(n, ) a růběh e 2 3 4 5 6 7 8 S(n,) 1.82 2.5 3.08 3.57 4.00 4.38 4.71 e 0.1 0.1 0.1 0.1 0.1 0.1 0.1 Hodnota e v tabulce 1 je konstantní což znamená, že říčinou neefektivity zkoumaného algoritmu je velká sekvenční složka f σ. Příklad 2 Exerimentální cestou jsme ři analýze aralelního algoritmu získali tabulku Tabulka 2: Exerimentálně zjištěné S(n, ) a růběh e 2 3 4 5 6 7 8 S(n,) 1.87 2.61 3.23 3.73 4.14 4.46 4.71 e 0.07 0.075 0.08 0.085 0.09 0.095 0.1 Hodnota e v tabulce 2 je rostoucí což znamená, že říčinou neefektivity zkoumaného algoritmu je velká aralelní režie κ(n, ).

Příklad analýzy aralelního algoritmu 9 2 Příklad analýzy aralelního algoritmu Všechny doosud diskutované asekty analýzy aralelního algoritmu si demonstrujme na říkladu zkoumání ostuu aralelní redukce množiny hodnot. Uvažujme aralelní redukci množiny n čísel na rocesorovém stroji kde = n dle schématu na obrázku 3, kde jednotlivé řádky ředstavují aralelní fáze algoritmu. Obrázek 3: Schéma aralelní redukce Předokládejme, že oerace součtu i řenosu dat mezi rocesory trvá 1 časovou jednotku. Paralelní výočet roběhne v log n iteracích (aralelních fázích), každý bude trvat 2 jednotky času. Paralelní algoritmus má časovou složitost Horní mez sekvenčního algoritmu řešícího stejný roblém je T (n, ) = 2 log n = Θ(log n) (25) SU(n) = T (n, 1) = 2(n 1) = 2n 2 = Θ(n) (26) Základní charakteristiky algoritmu jsou ak následující: C(n, ) = Θ(n log(n)) (27) W (n, ) = ( n 2 + n 2 ) + (n 4 + n ) +... + (1 + 1) = 2n 2 = Θ(n) (28) 4 n S(n, ) = Θ( log n ) (29) 1 E(n, ) = Θ( log n ) (30) Z výše uvedeného je atrné, že algoritmus je časově i racovně otimální, není však cenově otimální, což je dáno nedostatkem užitečné ráce ro všechny rocesory (viz. obrázek 3). Pokusme se roto snížit aralelní cenu algoritmu jeho vhodným škálováním. Uvažujme tedy modifikaci algoritmu aralelní redukce n hodnot na výočetním stoji s < n rocesory. V tom říadě existují nejméně dva zůsoby simulace: 1. Přiřazení simulovaných rocesorů o řádcích, což znamená, že každý z rocesorů rovede činnost n simulovaných rocesorů v jedné aralelní fázi, jak je ilustrováno na obrázku 4. Doba trvání jedné aralelní fáze je n a očet aralelních fází je. Závěrem zůstane v osledním aktivním rocesoru n mezivýsledků, které je otřeba redukovat sekvenčně, což zabere čas n. Celkový aralelní čas této simulace je

Příklad analýzy aralelního algoritmu 10 T (n, ) = ( n ) log + n = Θ( n log ) (31) Obrázek 4: Simulace řiřazování o řádcích 2. Přiřazení simulovaných rocesorů o sloucích, což znamená, že každý z rocesorů rovede sekvenční redukci n hodnot v čase n, čímž dostaneme mezivýsledků, které ak lze aralelně zredukovat v log aralelních fázích v čase log. Postu je ilustrován na obrázku 5. Celkový aralelní čas této simulace je T (n, ) = n + log = Θ( n + log ) (32) Obrázek 5: Simulace řiřazování o sloucích Paralelní cena simulace řiřazování o řádcích je C(n, ) = Θ(n log ), což stále není cenově otimální. Paralelní cena simulace řiřazování o sloucích je C(n, ) = Θ(n+ log ), což za ředokladu n >> log je C = Θ(n). V tomto říadě se již jedná o cenově otimální aralelní algoritmus. Nyní se okusme omocí izoefektivní funkce stanovit vhodnou granularitu algoritmu. E(n, ) = S(n, ) = S(n, ) = T (n, 1) T (n, ) = n n + log = n n + log (33) 1 1 + log n = 1 1 + κ(n,) T (n,1) = 1 1 + κ(n,) SU(n) Ze vztahu 34 vylývá, že κ(n, ) = log. Vyjádříme-li izoefektivní funkci jako (34)

Příklad analýzy aralelního algoritmu 11 T (n, 1) c κ(n, ) n c log (35) ak z nerovnice vylývá, že změní-li se na, musí se ro zachování konstantní efektivity změnit také n a to o násobek log log. Na závěr si stanovme absolutní minimální čas simulovaného algoritmu. Jak již bylo zmíněno, lokální oerace a komunikace stojí 2 jednotky času. Derivujme aralelní čas odle odtud T (n, ) = n + 2 log T (n, ) = n T (n, ) + 2 2 = 0 = 2 n = 0 2 ot = n 2 (36) (37) Dosazením získáme minimální aralelní čas T min (n, ot ) = 2 + 2 log n 2 T min (n, ot ) = 2 + 2(log n + log 1 2 ) T min (n, ot ) = 2 log n = Θ(log n) (38)

Kontrolní otázky 12 3 Kontrolní otázky Co vyjadřuje cena a ráce aralelního algoritmu? Co vyjadřuje efektivita aralelního algoritmu? Jaké maximální a minimální hodnoty efektivity může aralelní algoritmus dosáhnout? Co je to škálovatelnost aralelního algoritmu? Jaké by měly být ideální růběhy grafů zrychlení a efektivity dobře škálovatelných aralelních algoritmů? Co je to granularita aralelního algoritmu? Co vyjadřuje izoefektivita aralelního algoritmu? Jak ji definujeme? Co vyjadřuje Kar-Flattova metrika aralelního algoritmu?