Paralelné algoritmy, cast c. 2

Podobné dokumenty
Paralelné algoritmy, cast c. 3

Paralelné algoritmy, cast c. 3

Metódy násobenie v stredoveku

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

Informačné technológie

Prenosový kanál a jeho kapacita

1 Rekurencie este raz riesenia niektorych rekurencii z cvik. mame danu rekurenciu napr T (n) = at ( n b ) + k. idea postupu je postupne rozpisovat cle

Aplikace matematiky- záverečná práca Juraj Bodík 28. septembra 2017 Definície Žena - objekt ohodnotený celým číslom. Každé dve ženy sa dajú porovnat a

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

Teória pravdepodobnosti Zákony velkých císel

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

Kolmogorovská zložitost

NÁVRH UČEBNÝCH OSNOV PRE 1

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Microsoft Word - skripta3b.doc

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Microsoft Word - 6 Výrazy a vzorce.doc

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

trafo

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

Axióma výberu

Optimal approximate designs for comparison with control in dose-escalation studies

Microsoft PowerPoint - Prog_p08.ppt

Matematika 2 - cast: Funkcia viac premenných

Študijný program (Študijný odbor) Školiteľ Forma štúdia Téma Elektronické zbraňové systémy (8.4.3 Výzbroj a technika ozbrojených síl) doc. Ing. Martin

Priebeh funkcie

MO_pred1

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Klasická metóda CPM

Hranoly (11 hodín) September - 17 hodín Opakovanie - 8. ročník (6 hodín) Mesiac Matematika 9. ročník 5 hodín/týždeň 165 hodín/rok Tematický celok Poče

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

Študent 1. kapitola Maticová algebra I 1.1 Definícia matice V mnohých prípadoch dáta majú štruktúru dvojrozmernej tabuľky, ktorá má m riadkov a n stĺp

A51

Snímka 1

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Úvodná prednáška z RaL

Čísla Nájdite všetky dvojice prirodzených čísiel, ktoré vyhovujú rovnici: 2 ( a+ b) ( a b) + 2b ( a+ 2b) 2b = 49 RIEŠENIE ( ) ( ) ( ) 2 a+ b a

MATEMATICKÁ OLYMPIÁDA NA STREDNÝCH ŠKOLÁCH 54. ročník, školský rok 2004/2005 Zadania úloh 3. kola kategórie P 1. súťažný deň Na riešenie úloh máte 4.5

Titulná strana Arial 30 bodov

Olympiáda v informatike ročník (2012/2013) zadania domáceho kola kategórie A a B Informácie a pravidlá Pre koho je súťaž určená? Kat

Photo Album

Viacnásobne použitelné oblasti spolahlivosti pre viacrozmernú kalibráciu

Microsoft Word - mnohouholnik.doc

Tomáš Jelínek - včely vyhľadávanie

Súhrnné špecifikácie

Pokrocilé programovanie XI - Diagonalizácia matíc

Light transport visualization and preturbations

Poznámky k cvičeniu č. 2

Relačné a logické bázy dát

Microsoft Word - Zaver.pisomka_januar2010.doc

Úlohy o veľkých číslach 6. Deliteľnosť In: Ivan Korec (author): Úlohy o veľkých číslach. (Slovak). Praha: Mladá fronta, pp Persistent UR

Prehľad matematiky I. ROZDELENIE ČÍSEL 1. Prirodzené N: 1, 2, 3, 4,... a. kladné: 8; 6,3; 5; Celé Z:..., 3, 2, 1, 0, 1, 2, 3... b. záporné: 3;

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

--1/7-- ZŠ Scratch III 10/20 UK M. Tomcsányiová verzia HRA NIM 13 Oblasť informatiky / Téma Algoritmické riešenie problémov / Hra NIM 13 I

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Beáta Stehlíková Časové rady, FMFI UK, 2011/2012 Jednotkový koreň(unit roo

Snímka 1

Operačná analýza 2

unhbox group let unhbox hbox {Sglobal mathchardef spacefactor }accent 20 Segroup spacefactor acce

ARMA modely čast 3: zmiešané modely (ARMA) Beáta Stehlíková Časové rady, FMFI UK ARMA modely časť 3: zmiešané modely(arma) p.1/30

Predstavenie tímu Náš tím pozostáva zo siedmich členov: Andrej Hucko, Jakub Domian, Ľubomíra Trnavská, Ján Karaffa, Ľudovít Popelka, Dušan Janeček a Z

NSK Karta PDF

Analýza sociálnych sietí Geografická lokalizácia krajín EU

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

B5.indd

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

Microsoft Word - Argumentation_presentation.doc

Microsoft Word - a2f6-4f69-ca8b-718e

SK MATEMATICKÁOLYMPIÁDA skmo.sk 66. ročník Matematickej olympiády 2016/2017 Riešenia úloh domáceho kola kategórie Z9 1. Vo všetkých deviatich políčkac

Úroveň strojového kódu procesor Intel Pentium Úvod Štruktúra procesorov Intel Pentium Základné inštrukcie Vetvenia a cykly Praktické programovanie jed

prijimacky 2014 MAT 4rocne ver A.doc

PowerPoint Presentation

Microsoft Word - Diskusia11.doc

Microsoft Word - Zahradnikova_DP.doc

Oceňovanie amerických opcií p. 1/17 Oceňovanie amerických opcií Beáta Stehlíková Finančné deriváty, FMFI UK Bratislava

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

Služobný úrad Odbor verejného obstarávania Podľa rozdeľovníka Váš list číslo/ zo dňa: Naše číslo: Vybavuje/Klapka V Bratislave 27188/2017 Riedelová/23

Microsoft Word - Transparencies03.doc

(Pom\371cka k p\370\355prav\354 v\375ukov\351 hodiny s podporou Classroom Managementu \(Matematika\))

Cvičenie 9 Riešené príklady 1. Príklad min f(x 1, x 2 ) = x x x 1 s.t. x 1 80 x 1 + x Pre riešenie úlohy vykonáme nasledujúce kroky

UČEBNÉ OSNOVY

9. kapitola Maticová algebra II systém lineárnych rovníc, Frobeniova veta, Gaussova eliminačná metóda, determinanty 1. Systém lineárnych rovníc Systém

Identity Lifecycle Management

Výzva na predkladanie ponúk zadávanie zákazky podľa 9 ods. 9 zákona č. 25/2006 Z. z. o verejnom obstarávaní a o zmene a doplnení niektorých zákonov v

Štruktúra Modelu Výsledky odhadu Záver Trh práce v krajinách strednej Európy: Small Search and Matching Model Martin Železník Národná Banka Slovenska

MERANIE U a I.doc

Modelovanie nového produktu na trhu: Bassov model Beáta Stehlíková Cvičenia z časových radov, FMFI UK Modelovanie nového produktu na trhu: Bassov mode

Negrafické výpočty na GPU v prostredí OpenGL Autor: RNDr. Michal Červeňanský Školiteľ: Prof. Ing. Miloš Šrámek, PhD. Fakulta matematiky, fyziky a info

STRUČNÝ NÁVOD KU IP-COACHU

DediĊnosť

ECDL Syllabus V50 SK-V01

Priklad 9 - LisovanieVyluhovanieSusenie.xls

SK MATEMATICKÁOLYMPIÁDA skmo.sk 63. ročník Matematickej olympiády 2013/2014 Riešenia úloh česko-poľsko-slovenského stretnutia 1. Dokážte, že kladné re

Regulované napájacie zdroje DC AX-3005DBL jednokanálový AX-3005DBL 3-trojkanálový

Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. Katedra matematických metód, Fa

Olympiáda v informatike ročník (2011/2012) riešenia domáceho kola kategória B Riešenia kategórie B B-I-1 Teploty Na zisk 6 bodov sta

gazdikova

Prepis:

Paralelné algoritmy, čast č. 2 František Mráz Kabinet software a výuky informatiky, MFF UK, Praha Paralelné algoritmy, 2009/2010 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 1 / 17

Obsah 1 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 2 / 17

Úvod Ciele: vzájomné simulácie paralelných a sekvenčných modelov výpočtov použitie základných princípov návrhu paralelných algoritmov: rozdel a panuj známe zo sekvenčných algoritmov; úloha sa rozdelí na jednoduchšie podúlohy, tie sa riešia paralelne a potom sa z riešení podúloh skladá riešenie celej úlohy. práca v tímoch každej variante riešenia je pridelený jeden tím, ktorý overuje, či jeho riešenie odpovedá vstupom. Práve jeden tím zistí, že jeho riešenie zodpovedá vstupu a vydá svoje riešenie ako výsledok. Dohody: obmedzená sada inštrukcií: +,, div 2, x2 y (aritmetické posuny) pre jednoduchost budeme predpokladat, že vstupné čísla sú nezáporné celé čísla František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 3 / 17

Úvod Ciele: vzájomné simulácie paralelných a sekvenčných modelov výpočtov použitie základných princípov návrhu paralelných algoritmov: rozdel a panuj známe zo sekvenčných algoritmov; úloha sa rozdelí na jednoduchšie podúlohy, tie sa riešia paralelne a potom sa z riešení podúloh skladá riešenie celej úlohy. práca v tímoch každej variante riešenia je pridelený jeden tím, ktorý overuje, či jeho riešenie odpovedá vstupom. Práve jeden tím zistí, že jeho riešenie zodpovedá vstupu a vydá svoje riešenie ako výsledok. Dohody: obmedzená sada inštrukcií: +,, div 2, x2 y (aritmetické posuny) pre jednoduchost budeme predpokladat, že vstupné čísla sú nezáporné celé čísla František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 3 / 17

Úvod Ciele: vzájomné simulácie paralelných a sekvenčných modelov výpočtov použitie základných princípov návrhu paralelných algoritmov: rozdel a panuj známe zo sekvenčných algoritmov; úloha sa rozdelí na jednoduchšie podúlohy, tie sa riešia paralelne a potom sa z riešení podúloh skladá riešenie celej úlohy. práca v tímoch každej variante riešenia je pridelený jeden tím, ktorý overuje, či jeho riešenie odpovedá vstupom. Práve jeden tím zistí, že jeho riešenie zodpovedá vstupu a vydá svoje riešenie ako výsledok. Dohody: obmedzená sada inštrukcií: +,, div 2, x2 y (aritmetické posuny) pre jednoduchost budeme predpokladat, že vstupné čísla sú nezáporné celé čísla František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 3 / 17

Úvod Ciele: vzájomné simulácie paralelných a sekvenčných modelov výpočtov použitie základných princípov návrhu paralelných algoritmov: rozdel a panuj známe zo sekvenčných algoritmov; úloha sa rozdelí na jednoduchšie podúlohy, tie sa riešia paralelne a potom sa z riešení podúloh skladá riešenie celej úlohy. práca v tímoch každej variante riešenia je pridelený jeden tím, ktorý overuje, či jeho riešenie odpovedá vstupom. Práve jeden tím zistí, že jeho riešenie zodpovedá vstupu a vydá svoje riešenie ako výsledok. Dohody: obmedzená sada inštrukcií: +,, div 2, x2 y (aritmetické posuny) pre jednoduchost budeme predpokladat, že vstupné čísla sú nezáporné celé čísla František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 3 / 17

Úvod Ciele: vzájomné simulácie paralelných a sekvenčných modelov výpočtov použitie základných princípov návrhu paralelných algoritmov: rozdel a panuj známe zo sekvenčných algoritmov; úloha sa rozdelí na jednoduchšie podúlohy, tie sa riešia paralelne a potom sa z riešení podúloh skladá riešenie celej úlohy. práca v tímoch každej variante riešenia je pridelený jeden tím, ktorý overuje, či jeho riešenie odpovedá vstupom. Práve jeden tím zistí, že jeho riešenie zodpovedá vstupu a vydá svoje riešenie ako výsledok. Dohody: obmedzená sada inštrukcií: +,, div 2, x2 y (aritmetické posuny) pre jednoduchost budeme predpokladat, že vstupné čísla sú nezáporné celé čísla František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 3 / 17

Úvod Ciele: vzájomné simulácie paralelných a sekvenčných modelov výpočtov použitie základných princípov návrhu paralelných algoritmov: rozdel a panuj známe zo sekvenčných algoritmov; úloha sa rozdelí na jednoduchšie podúlohy, tie sa riešia paralelne a potom sa z riešení podúloh skladá riešenie celej úlohy. práca v tímoch každej variante riešenia je pridelený jeden tím, ktorý overuje, či jeho riešenie odpovedá vstupom. Práve jeden tím zistí, že jeho riešenie zodpovedá vstupu a vydá svoje riešenie ako výsledok. Dohody: obmedzená sada inštrukcií: +,, div 2, x2 y (aritmetické posuny) pre jednoduchost budeme predpokladat, že vstupné čísla sú nezáporné celé čísla František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 3 / 17

Počítanie funkcií log n a log n vstup: číslo n stačí log n procesorov jednočlenné tímy i-ty tím (procesor) overuje, či i = log n : v := n 2 i if (v > 0) and ( v 2 = 0) then r1 := i pre výpočet log n pridáme: ak n = 2 i tak výsledok i, inak i + 1. Počet proc. Čas Šírka slova Model log n O(1) O(log n) CREW František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 4 / 17

Počítanie funkcií log n a log n vstup: číslo n stačí log n procesorov jednočlenné tímy i-ty tím (procesor) overuje, či i = log n : v := n 2 i if (v > 0) and ( v 2 = 0) then r1 := i pre výpočet log n pridáme: ak n = 2 i tak výsledok i, inak i + 1. Počet proc. Čas Šírka slova Model log n O(1) O(log n) CREW František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 4 / 17

Počítanie funkcií log n a log n vstup: číslo n stačí log n procesorov jednočlenné tímy i-ty tím (procesor) overuje, či i = log n : v := n 2 i if (v > 0) and ( v 2 = 0) then r1 := i pre výpočet log n pridáme: ak n = 2 i tak výsledok i, inak i + 1. Počet proc. Čas Šírka slova Model log n O(1) O(log n) CREW František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 4 / 17

Počítanie funkcií log n a log n vstup: číslo n stačí log n procesorov jednočlenné tímy i-ty tím (procesor) overuje, či i = log n : v := n 2 i if (v > 0) and ( v 2 = 0) then r1 := i pre výpočet log n pridáme: ak n = 2 i tak výsledok i, inak i + 1. Počet proc. Čas Šírka slova Model log n O(1) O(log n) CREW František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 4 / 17

Počítanie funkcií log n a log n vstup: číslo n stačí log n procesorov jednočlenné tímy i-ty tím (procesor) overuje, či i = log n : v := n 2 i if (v > 0) and ( v 2 = 0) then r1 := i pre výpočet log n pridáme: ak n = 2 i tak výsledok i, inak i + 1. Počet proc. Čas Šírka slova Model log n O(1) O(log n) CREW František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 4 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Počítanie maxima z n čísel Bez ujmy na obecnosti môžeme predpokladat, že n je mocnina 2 (viz. vyššie). Vstupy sú x 0 v r 1,..., x n 1 v r n. Spočítame log n a n 2 (aritm. posunmi); výpočtu sa zúčastnia procesory s PID< n 2. Každý procesor rozdelí svoje PID na dve (log n)-bitové čísla i, j. i {0,..., n 1} je číslo tímu, j {0,..., n 1} je číslo člena tímu. i-ty tím overuje, či je x i maximum a bude komunikovat prostredníctvom registra r n+1+i ; (i, 0) je manažér 1 if j = 0 then r n+1+i := 0 2 if (x i < x j ) then r n+1+i := 1 3 if (j = 0) and (r n+1+i = 0) then r 1 := r i+1 Počet proc. Čas Šírka slova Model n 2 O(1) min. 2 log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 5 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel predpokladajme, že n je mocnicna 2 a vstupné čísla x 0,..., x n sú kladné súčet n b-bitových čísel nebude mat viac než O(b + log n) bitov toto číslo bude potrebovat každý procesor: log n viz alg. vyššie b spočítame max. a použijeme hornú celú čast b + log n zaokrúhlime na najbližšiu vyššiu alebo rovnú mocninu 2 2 n(b+log n) tímov po n procesoroch; procesor interpretuje svoje PID ako n čísel y 0,..., y n 1 s b + log n bitmi a číslo j s log n bitmi y n 1 y n 2... y 0 j každý procesor extrahuje z PID svoje číslo v tíme j, 0-tý člen tímu extrahuje y 0, j-ty (j > 0) člen tímu extrahuje y j a y j 1. Stačia na to posuny o i(b + log n) bitov. Vel kost posunu je i mocnicna 2 v konštantnom čase. 1 0-tý člen tímu kontroluje či y 0 = x 0 2 j-ty člen tímu kontroluje, či y j = y j 1 + x j Procesory, ktoré zistia nerovnost, to oznámia manažérovi (prostredníctvom komunikačného registra) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 6 / 17

Sčítanie n b-bitových čísel (pokračovanie) práve jeden tím nezistí žiadnu nerovnost jeho manažér extrahuje y n 1 a vydá výsledok. to, že sa jedná o b-bitové čísla ovplyvňuje počet procesorov, ale nie dobu výpočtu Počet proc. Čas Šírka slova Model n 2 n(b+log n) O(1) n (b + log n)) + log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 7 / 17

Sčítanie n b-bitových čísel (pokračovanie) práve jeden tím nezistí žiadnu nerovnost jeho manažér extrahuje y n 1 a vydá výsledok. to, že sa jedná o b-bitové čísla ovplyvňuje počet procesorov, ale nie dobu výpočtu Počet proc. Čas Šírka slova Model n 2 n(b+log n) O(1) n (b + log n)) + log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 7 / 17

Sčítanie n b-bitových čísel (pokračovanie) práve jeden tím nezistí žiadnu nerovnost jeho manažér extrahuje y n 1 a vydá výsledok. to, že sa jedná o b-bitové čísla ovplyvňuje počet procesorov, ale nie dobu výpočtu Počet proc. Čas Šírka slova Model n 2 n(b+log n) O(1) n (b + log n)) + log n COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 7 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Násobenie b-bitových čísel v konštantnom čase školská metóda násobenia, predpokladáme, že x 1 a x 2 sú kladné spočítame b (log väčšieho z nich) a vložíme do r 0 i-ty procesor: extrahuj i-ty bit čísla x 2 (zodpovedá rádu 2 i ) ak je bit 1, tak posuň x 1 o i bitov dol ava (tj. násob 2 i ) a výsledok zapíš do r i+1 inak do r i+1 zapíš 0 súčet čísel r 1,..., r b spočítame v konšt. čase Počet proc. Čas Šírka slova Model b 2 b (2b+log b) O(1) O(b (b + log b)) = O(b 2 ) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 8 / 17

Odmocňovanie čísel v konštantnom čase nech c > 1, prirodzené číslo, n vstupné celé číslo. Chceme spočítat n 1 c n tímov procesorov tím i (0 i < n) kontroluje, či i = n 1 c 1 počíta i c pomocou c 1 násobení; jeden tím má 2 O(log2 n) procesorov 2 if (n i c ) and (i c 1 < n) then r 1 := i Počet proc. Čas Šírka slova Model n 2 O(log2 n) O(1) O(log 2 n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 9 / 17

Odmocňovanie čísel v konštantnom čase nech c > 1, prirodzené číslo, n vstupné celé číslo. Chceme spočítat n 1 c n tímov procesorov tím i (0 i < n) kontroluje, či i = n 1 c 1 počíta i c pomocou c 1 násobení; jeden tím má 2 O(log2 n) procesorov 2 if (n i c ) and (i c 1 < n) then r 1 := i Počet proc. Čas Šírka slova Model n 2 O(log2 n) O(1) O(log 2 n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 9 / 17

Odmocňovanie čísel v konštantnom čase nech c > 1, prirodzené číslo, n vstupné celé číslo. Chceme spočítat n 1 c n tímov procesorov tím i (0 i < n) kontroluje, či i = n 1 c 1 počíta i c pomocou c 1 násobení; jeden tím má 2 O(log2 n) procesorov 2 if (n i c ) and (i c 1 < n) then r 1 := i Počet proc. Čas Šírka slova Model n 2 O(log2 n) O(1) O(log 2 n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 9 / 17

Odmocňovanie čísel v konštantnom čase nech c > 1, prirodzené číslo, n vstupné celé číslo. Chceme spočítat n 1 c n tímov procesorov tím i (0 i < n) kontroluje, či i = n 1 c 1 počíta i c pomocou c 1 násobení; jeden tím má 2 O(log2 n) procesorov 2 if (n i c ) and (i c 1 < n) then r 1 := i Počet proc. Čas Šírka slova Model n 2 O(log2 n) O(1) O(log 2 n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 9 / 17

Odmocňovanie čísel v konštantnom čase nech c > 1, prirodzené číslo, n vstupné celé číslo. Chceme spočítat n 1 c n tímov procesorov tím i (0 i < n) kontroluje, či i = n 1 c 1 počíta i c pomocou c 1 násobení; jeden tím má 2 O(log2 n) procesorov 2 if (n i c ) and (i c 1 < n) then r 1 := i Počet proc. Čas Šírka slova Model n 2 O(log2 n) O(1) O(log 2 n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 9 / 17

Odmocňovanie čísel v konštantnom čase nech c > 1, prirodzené číslo, n vstupné celé číslo. Chceme spočítat n 1 c n tímov procesorov tím i (0 i < n) kontroluje, či i = n 1 c 1 počíta i c pomocou c 1 násobení; jeden tím má 2 O(log2 n) procesorov 2 if (n i c ) and (i c 1 < n) then r 1 := i Počet proc. Čas Šírka slova Model n 2 O(log2 n) O(1) O(log 2 n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 9 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova budeme potrebovat sčítat čísla s konštantnou bitovou dĺžkou na COMMON PRAM s lineárnou dĺžkou slova Vstup: n kladných celých čísel s n 1 1 c bitmi pre nejaké celé číslo c 2 Dohoda: nebudeme označovat horné a dolné celé časti súčet a každý čiastočný súčet bude mat maximálne O(n 1 1 c ) bitov Algoritmus: spočítame m = n 1 c+1 Fáza 1: rozdel vstupné čísla do skupín po m čísel a urob súčet každej skupiny opakuj c-krát dostaneme n m čísel n c Fáza 2: sčítaj m čiastočných súčtov c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 10 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova predvýpočet: čas O(1), malá šírka slova pre vel ké n Fázy 1 a 2 sa urobia starým postupom v konšt. čase šírka slova na Fázu 1: m n 1 1 c = n 1 1 c 2 +c šírka slova na Fázu 2: n m c n1 1 c = n 1 1 c 2 +c František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 11 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova Veta n (n 1 1 c )-bitových( čísel sa) dá sčítat v konštantnom čase na PRAMe so šírkou slova O n 1 1 c 2 +c. Ekvivalentne: λ, 0 < λ 1 2 µ > 0 : súčet n čísel s n 1 λ bitmi sa dá spočítat v čase O(1) na PRAMe COMMON so šírkou slova n 1 µ obecná technika: použitím jedného algoritmu na menšie skupiny sa vel kost úlohy zredukuje a na zmenšenú úlohu sa aplikuje pôvodný algoritmus. Zisk: zníženie potrebnej šírky slova z n(n 1 1 c + log n) + log n n 2 1 c > n 3 2 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 12 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova Veta n (n 1 1 c )-bitových( čísel sa) dá sčítat v konštantnom čase na PRAMe so šírkou slova O n 1 1 c 2 +c. Ekvivalentne: λ, 0 < λ 1 2 µ > 0 : súčet n čísel s n 1 λ bitmi sa dá spočítat v čase O(1) na PRAMe COMMON so šírkou slova n 1 µ obecná technika: použitím jedného algoritmu na menšie skupiny sa vel kost úlohy zredukuje a na zmenšenú úlohu sa aplikuje pôvodný algoritmus. Zisk: zníženie potrebnej šírky slova z n(n 1 1 c + log n) + log n n 2 1 c > n 3 2 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 12 / 17

Sčítanie čísel v konštantnom čase s menšou šírkou slova Veta n (n 1 1 c )-bitových( čísel sa) dá sčítat v konštantnom čase na PRAMe so šírkou slova O n 1 1 c 2 +c. Ekvivalentne: λ, 0 < λ 1 2 µ > 0 : súčet n čísel s n 1 λ bitmi sa dá spočítat v čase O(1) na PRAMe COMMON so šírkou slova n 1 µ obecná technika: použitím jedného algoritmu na menšie skupiny sa vel kost úlohy zredukuje a na zmenšenú úlohu sa aplikuje pôvodný algoritmus. Zisk: zníženie potrebnej šírky slova z n(n 1 1 c + log n) + log n n 2 1 c > n 3 2 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 12 / 17

Počítanie funkcií prev a last Nech x i N, 1 x i n, 1 i n prev : Z n { Z n a prev(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i, j < i a x k x i pre j < k < i kde y i = 0 ak také j neexistuje last : Z n { Z n a last(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i a x k x i pre j < k n kde y i = 0 ak také j neexistuje prev a last sa dajú spočítat v konštantnom čase na PRAMe so šírkou slova O(log n) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 13 / 17

Počítanie funkcií prev a last Nech x i N, 1 x i n, 1 i n prev : Z n { Z n a prev(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i, j < i a x k x i pre j < k < i kde y i = 0 ak také j neexistuje last : Z n { Z n a last(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i a x k x i pre j < k n kde y i = 0 ak také j neexistuje prev a last sa dajú spočítat v konštantnom čase na PRAMe so šírkou slova O(log n) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 13 / 17

Počítanie funkcií prev a last Nech x i N, 1 x i n, 1 i n prev : Z n { Z n a prev(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i, j < i a x k x i pre j < k < i kde y i = 0 ak také j neexistuje last : Z n { Z n a last(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i a x k x i pre j < k n kde y i = 0 ak také j neexistuje prev a last sa dajú spočítat v konštantnom čase na PRAMe so šírkou slova O(log n) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 13 / 17

Počítanie funkcií prev a last Nech x i N, 1 x i n, 1 i n prev : Z n { Z n a prev(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i, j < i a x k x i pre j < k < i kde y i = 0 ak také j neexistuje last : Z n { Z n a last(x 1,..., x n ) =< y 1,..., y n > j ak x j = x i a x k x i pre j < k n kde y i = 0 ak také j neexistuje prev a last sa dajú spočítat v konštantnom čase na PRAMe so šírkou slova O(log n) František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 13 / 17

Počítanie funkcií prev a last prev: n 2 tímov tím zodpovedá dvojici < i, j >, 1 i, j n každý tím má komunikačný register v spoločnej pamäti; ten manažér tímu inicializuje na 0 k-ty procesor, j < k < i (ostatné nepracujú) overí, či x k x i, ak zistí rovnost, tak do komunikačného registra zapíše 1 manažér skontroluje komunikačný register tímu, ak je tam 0 a x i = x j tak do r i zapíše j Počet proc. Čas Šírka slova Model n 3 O(1) O(log n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 14 / 17

Počítanie funkcií prev a last prev: n 2 tímov tím zodpovedá dvojici < i, j >, 1 i, j n každý tím má komunikačný register v spoločnej pamäti; ten manažér tímu inicializuje na 0 k-ty procesor, j < k < i (ostatné nepracujú) overí, či x k x i, ak zistí rovnost, tak do komunikačného registra zapíše 1 manažér skontroluje komunikačný register tímu, ak je tam 0 a x i = x j tak do r i zapíše j Počet proc. Čas Šírka slova Model n 3 O(1) O(log n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 14 / 17

Počítanie funkcií prev a last prev: n 2 tímov tím zodpovedá dvojici < i, j >, 1 i, j n každý tím má komunikačný register v spoločnej pamäti; ten manažér tímu inicializuje na 0 k-ty procesor, j < k < i (ostatné nepracujú) overí, či x k x i, ak zistí rovnost, tak do komunikačného registra zapíše 1 manažér skontroluje komunikačný register tímu, ak je tam 0 a x i = x j tak do r i zapíše j Počet proc. Čas Šírka slova Model n 3 O(1) O(log n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 14 / 17

Počítanie funkcií prev a last prev: n 2 tímov tím zodpovedá dvojici < i, j >, 1 i, j n každý tím má komunikačný register v spoločnej pamäti; ten manažér tímu inicializuje na 0 k-ty procesor, j < k < i (ostatné nepracujú) overí, či x k x i, ak zistí rovnost, tak do komunikačného registra zapíše 1 manažér skontroluje komunikačný register tímu, ak je tam 0 a x i = x j tak do r i zapíše j Počet proc. Čas Šírka slova Model n 3 O(1) O(log n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 14 / 17

Počítanie funkcií prev a last prev: n 2 tímov tím zodpovedá dvojici < i, j >, 1 i, j n každý tím má komunikačný register v spoločnej pamäti; ten manažér tímu inicializuje na 0 k-ty procesor, j < k < i (ostatné nepracujú) overí, či x k x i, ak zistí rovnost, tak do komunikačného registra zapíše 1 manažér skontroluje komunikačný register tímu, ak je tam 0 a x i = x j tak do r i zapíše j Počet proc. Čas Šírka slova Model n 3 O(1) O(log n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 14 / 17

Počítanie funkcií prev a last prev: n 2 tímov tím zodpovedá dvojici < i, j >, 1 i, j n každý tím má komunikačný register v spoločnej pamäti; ten manažér tímu inicializuje na 0 k-ty procesor, j < k < i (ostatné nepracujú) overí, či x k x i, ak zistí rovnost, tak do komunikačného registra zapíše 1 manažér skontroluje komunikačný register tímu, ak je tam 0 a x i = x j tak do r i zapíše j Počet proc. Čas Šírka slova Model n 3 O(1) O(log n) COMMON František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 14 / 17

Počítanie súčtu n čísel Označenie: Nech T (n, P(n)) je čas potrebný na výpočet súčtu n čísel (konečnej alebo nekonečnej) pologrupy pomocou P(n) procesorov na modele COMMON PRAM. [Namiesto T (n, n) budeme písat T (n).] Definícia Hovoríme, že f : Z Z je konštruovatel ná v konštantnom čase, ak COMMON PRAM s n procesormi môže spočítat f (n) zo vstupu n v konštantnom čase. s rozšírenou sadou aritmetických inštrukcií sú polynómy, log n, odmocniny,... konštruovatel né v konštantnom čase. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 15 / 17

Počítanie súčtu n čísel Označenie: Nech T (n, P(n)) je čas potrebný na výpočet súčtu n čísel (konečnej alebo nekonečnej) pologrupy pomocou P(n) procesorov na modele COMMON PRAM. [Namiesto T (n, n) budeme písat T (n).] Definícia Hovoríme, že f : Z Z je konštruovatel ná v konštantnom čase, ak COMMON PRAM s n procesormi môže spočítat f (n) zo vstupu n v konštantnom čase. s rozšírenou sadou aritmetických inštrukcií sú polynómy, log n, odmocniny,... konštruovatel né v konštantnom čase. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 15 / 17

Počítanie súčtu n čísel Označenie: Nech T (n, P(n)) je čas potrebný na výpočet súčtu n čísel (konečnej alebo nekonečnej) pologrupy pomocou P(n) procesorov na modele COMMON PRAM. [Namiesto T (n, n) budeme písat T (n).] Definícia Hovoríme, že f : Z Z je konštruovatel ná v konštantnom čase, ak COMMON PRAM s n procesormi môže spočítat f (n) zo vstupu n v konštantnom čase. s rozšírenou sadou aritmetických inštrukcií sú polynómy, log n, odmocniny,... konštruovatel né v konštantnom čase. František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 15 / 17

Počítanie súčtu n čísel Lemma Nech f : N N, f (n) n, pre všetky n 0, je konštruovatel ná v konštantnom čase. Potom ( ) n T (n) T + T (f (n), n) + O(1). f (n) Dôkaz: vstup n čísel, n procesorov spočítame f (n); procesory rozdelíme do f (n) tímov po maximálne n f (n) procesoroch každý tím sčíta svoje vstupy v čase T ( n f (n) ) Predpokladáme, že T (n) je monotónna neklesajúca funkcia. Dostanene f (n) čiastočných súčtov, ktoré sa dajú sčítat v čase T (f (n), n) pre f (n) = O(log n) sa súčet n čísel v konečnej pologrupe dá spočítat v čase ) s použitím n procesorov. O( log n log log n František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 16 / 17

Počítanie súčtu n čísel Lemma Nech f : N N, f (n) n, pre všetky n 0, je konštruovatel ná v konštantnom čase. Potom ( ) n T (n) T + T (f (n), n) + O(1). f (n) Dôkaz: vstup n čísel, n procesorov spočítame f (n); procesory rozdelíme do f (n) tímov po maximálne n f (n) procesoroch každý tím sčíta svoje vstupy v čase T ( n f (n) ) Predpokladáme, že T (n) je monotónna neklesajúca funkcia. Dostanene f (n) čiastočných súčtov, ktoré sa dajú sčítat v čase T (f (n), n) pre f (n) = O(log n) sa súčet n čísel v konečnej pologrupe dá spočítat v čase ) s použitím n procesorov. O( log n log log n František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 16 / 17

Počítanie súčtu n čísel Lemma Nech f : N N, f (n) n, pre všetky n 0, je konštruovatel ná v konštantnom čase. Potom ( ) n T (n) T + T (f (n), n) + O(1). f (n) Dôkaz: vstup n čísel, n procesorov spočítame f (n); procesory rozdelíme do f (n) tímov po maximálne n f (n) procesoroch každý tím sčíta svoje vstupy v čase T ( n f (n) ) Predpokladáme, že T (n) je monotónna neklesajúca funkcia. Dostanene f (n) čiastočných súčtov, ktoré sa dajú sčítat v čase T (f (n), n) pre f (n) = O(log n) sa súčet n čísel v konečnej pologrupe dá spočítat v čase ) s použitím n procesorov. O( log n log log n František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 16 / 17

Počítanie súčtu n čísel Lemma Nech f : N N, f (n) n, pre všetky n 0, je konštruovatel ná v konštantnom čase. Potom ( ) n T (n) T + T (f (n), n) + O(1). f (n) Dôkaz: vstup n čísel, n procesorov spočítame f (n); procesory rozdelíme do f (n) tímov po maximálne n f (n) procesoroch každý tím sčíta svoje vstupy v čase T ( n f (n) ) Predpokladáme, že T (n) je monotónna neklesajúca funkcia. Dostanene f (n) čiastočných súčtov, ktoré sa dajú sčítat v čase T (f (n), n) pre f (n) = O(log n) sa súčet n čísel v konečnej pologrupe dá spočítat v čase ) s použitím n procesorov. O( log n log log n František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 16 / 17

Počítanie maxima n 2 procesorov čas O(1) n procesorov čas O(log n) pre f (n) = n T (n) T ( n) + T ( n, n) + O(1) = T ( n) + O(1) O(log log n) s n 1+ 1 k procesormi, pre nejakú konštantu k 1, a f (n) = n sa hĺbka rekurzie obmedzí na log k konštantný čas František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 17 / 17

Počítanie maxima n 2 procesorov čas O(1) n procesorov čas O(log n) pre f (n) = n T (n) T ( n) + T ( n, n) + O(1) = T ( n) + O(1) O(log log n) s n 1+ 1 k procesormi, pre nejakú konštantu k 1, a f (n) = n sa hĺbka rekurzie obmedzí na log k konštantný čas František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 17 / 17

Počítanie maxima n 2 procesorov čas O(1) n procesorov čas O(log n) pre f (n) = n T (n) T ( n) + T ( n, n) + O(1) = T ( n) + O(1) O(log log n) s n 1+ 1 k procesormi, pre nejakú konštantu k 1, a f (n) = n sa hĺbka rekurzie obmedzí na log k konštantný čas František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 17 / 17

Počítanie maxima n 2 procesorov čas O(1) n procesorov čas O(log n) pre f (n) = n T (n) T ( n) + T ( n, n) + O(1) = T ( n) + O(1) O(log log n) s n 1+ 1 k procesormi, pre nejakú konštantu k 1, a f (n) = n sa hĺbka rekurzie obmedzí na log k konštantný čas František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy, 2009/2010 17 / 17