PARALELNÍ PROCESY A PROGRAMOVÁNÍ
|
|
- Kamil Tobiška
- před 8 lety
- Počet zobrazení:
Transkript
1 PARALELNÍ PROCESY A PROGRAMOVÁNÍ 8 Paralelní výpočetní modely Ing. Michal Bližňák, Ph.D. Zlín 2013 Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF) a rozpočtu české republiky v rámci řešení projektu: CZ 1.07/2.2.00/ , MOD- ERNIZACE VÝUKOVÝCH MATERIÁLŮ A DIDAKTICKÝCH METOD
2 OBSAH 1 Obsah 1 Parallel Random Access Machine (PRAM) model Vlastnosti PRAM modelu Omezení PRAM modelu Souběžný přístup do sdílené paměti Výpočetní síla PRAM podmodelů Cena, optimalita a efektivnost PRAM algoritmů Simulace velkého PRAM na malém PRAM 6 3 Simulace silnějšího PRAM na slabším PRAM 7 4 Asynchronní PRAM (APRAM) model APRAM výpočet Výkonostní parametry modelu APRAM Kontrolní otázky 11
3 OBSAH 2 STRUČNÝ OBSAH PŘEDNÁŠKY Parallel Random Access Machine (PRAM) model Simulace velkého PRAM na malém PRAM Simulace silnějšího PRAM na slabším PRAM Asynchronní PRAM (APRAM) model MOTIVACE Paralelní výpočetní modely slouží jako teoretické rámce stanovující podmínky pro výpočet časové složitosti paralelních algoritmů, kterou kromě počtu procesorů a povahy algoritmu ovlivňuje také použitá pamět ová architektura a způsob přístupu do sdílených pamět ových oblastí. Tato kapitola pojednává o modelu PRAM a jeho vlastnostech a derivátech. CÍL Obeznámit se s výpočetním modelem PRAM a jeho základními vlastnosti. Pochopit, jak jednotlivé podmodely PRAM ovlivňují časovou a prostorovou složitost paralelního algoritmu.
4 Parallel Random Access Machine (PRAM) model 3 1 Parallel Random Access Machine (PRAM) model PRAM model je jednoduchý model SIMD SMP systému. Vychází z klasického RAM (Random Access Machine) modelu, který je definován těmito vlastnostmi [1]: Základem RAM je výpočetní jednotka s uživatelsky definovaným programem. Pro čtení vstupních dat používá vstupní pásku a pro zápis výstupních dat výstupní pásku. Počet lokálních pamět ových buněk je neomezený. Pamět ové buňky jsou schopny obsahovat čísla neomezené velikosti. Systém podporuje instrukce pro aritmetické, logické a I/O operace a větvení toku programu. Výpočet začne první instrukcí a skončí po provedení instrukce HALT. Všechny instrukce trvají jednotkový čas bez ohledu na délku operandů. Časová složitost je definována jako počet provedených instrukcí. Pamět ová složitost je definována jako počet použitých pamět ových buněk. PRAM model je zobecněním RAM modelu; místo jednoho procesoru bude použito více procesorů připojených ke společné paměti. Tyto procesory budou pracovat synchronně jako u SIMD počítače. Další vlastnosti specifické pro PRAM model jsou: PRAM obsahuje neomezený počet procesorů P 1, P 2,..., P p. Pamět je tvořena neomezeným počtem sdílených pamět ových buněk M[1], M[2],..., M[n]. Každý P i má vlastní neomezenou lokální pamět a zná svůj index i. Každý procesor může přistupovat to kterékoliv sdílené pamět ové buňky v jednotkovém čase. Vstup a výstup PRAM algoritmu se skládá z n/n položek uložených ve sdílené paměti. PRAM instrukce tvoří vždy 3-fázové cykly: 1. Čti data ze sdílené paměti do svého registru 2. Proved lokální výpočet 3. Zapiš data ze svého registru do sdílené paměti Procesory provádějí tyto PRAM instrukce synchronně. Konflikty souběžného čtení či zápisu do sdílené paměti je zapotřebí explicitně ošetřit. Procesory mohou komunikovat pouze čtením/zápisem do sdílené paměti. P 1 má speciální aktivační registr obsahující nejvyšší index aktivního procesoru: 1. Na počátku je aktivní pouze P 1 2. P 1 spočítá počet požadovaných aktivních procesorů a nastaví aktivační registr 3. Poté začnou provádět své programy ostatní aktivní procesory Výpočet běží až do doby, kdy se P 1 zastaví (v té době již budou všechny ostatní procesory neaktivní) Paralelní časová složitost je rovna času výpočtu P 1. Prostorová složitost je rovna počtu použitých pamět ových buněk.
5 Parallel Random Access Machine (PRAM) model Vlastnosti PRAM modelu Ačkoliv PRAM model ignoruje určitá omezení a detaily nižších vrstev paralelního systému, je pro tvůrce paralelních algoritmů důležitý, protože: je přirozený, nebot počet operací provedených v jednom cyklu na p procesorech je nejvýše p. je výpočetně silný, nebot jakýkoliv procesor může číst či zapisovat do sdílené pamět ové buňky v jednotkovém čase. je jednoduchý, nebot zanedbává komunikační a synchronizační režie. může sloužit jako zkušební model - neexistuje-li pro daný problém rozumný/efektivní PRAM model, nemá smysl se snažit vymýšlet rozumný/efektivní řešení na reálném paralelním systému. je užitečný, nebot je idealizací existujících paralelních počítačů se sdílenou pamětí (SMP). 1.2 Omezení PRAM modelu Prakticky použitelné PRAM algoritmy musí počítat s omezeními, kterými je nutné korigovat některé velkorysé předpoklady základního PRAM modelu a to zejména: Omezení velikosti slova: velikost slova procesorů nebo pamět ová buňky je omezena. Malé PRAM: počet procesorů je v reálném světe omezen. Pokud je počet procesorů PRAM modelu vyšší, fyzické procesory se musí mezi nimi přepínat v režimu sdílení času. PRAM s malou pamětí: počet buněk sdílené paměti je omezen. Konflikty přístupu do paměti: pro současný přístup z více procesorů do jedné sdílené pamět ové buňky jsou definovány jasné omezující podmínky, kterým se budeme věnovat v následující kapitole Souběžný přístup do sdílené paměti Z hlediska nutnosti ošetření souběžného přístupu ke sdíleným pamět ovým buňkám bylo definováno několik podmodelů stanovujících podmínky omezující souběžné přístupy k jedné pamět ové buňce. Jedná se o podmodely Exclusice Read Exclusive Write (EREW) PRAM - Žádným dvěma procesorům není povoleno číst ani zapisovat do téže pamět ové buňky současně. Concurent Read Exclusive Write (CREW) PRAM - Současné čtení téže pamět ové buňky je povole, zapisovat však může v daný okamžik pouze jeden procesor. Exclusive Read Concurent Write (ERCW) PRAM - Číst sdílenou pamět ovou buňku může v daný omakžik pouze jeden procesor, současné zápisy do sdílené paměti je povoleno víc procesorům. Concurent Read Concurent Write (CRCW) PRAM - Jsou povolena jak současná čtení, tak i zápisy do sdílené pamět ová buňky. Je zřejmé že případy souběžného zápisu (Concurent Write) je nutné dále upřesnit pomocí rozšiřujících podmodelů:
6 Parallel Random Access Machine (PRAM) model 5 Prioritní (Priority) CRCW - Procesorům jsou přiděleny pevné priority a fyzický zápis je povolen pouze procesoru s nejvyšší prioritou ve skupině žadatelů. Náhodný (Arbitrary) CRCW - Ukončit zápis je povoleno náhodně vybranému procesoru. Shodný (Common) CRCW - Existuje-li více žádostí o zápis do dané pamět ové buňky, musí být zapisovaná hodnota ve všech žádostech shodná. Výše uvedené podmodely ovlivňují také celkový paralelní čas algoritmu. Uved me si jednoduchý příklad. Příklad Uvažujme p procesorový PRAM kde p < n a pole n nesetříděných hodnot uložených ve sdílené paměti obsahující n různých položek. Procesor P 1 vlastní hodnotu x. Úkolem je oznámit procesoru P 1, zda se hodnota x nalézá ve vstupním poli. 1. EREW PRAM algoritmus: (a) Procesor P 1 rozešle procesorům P 2,..., P p hodnotu x v log p krocích pomocí binární distribuce kopií. (b) Každý procesor provede lokální hledání v n/p položkách v n/p krocích. (c) Každý procesor nastaví příznak Nalezeno a všechny procesory povedou paralelní redukci hodnot těchto příznaků pomocí binárního redukčního stromu v čase O(log p). Celkový paralelní čas je tedy T (n, p) = O(log p + n/p). 2. CREW PRAM algoritmus: Řešení je podobné jako u EREW podmodelu pouze s tím rozdílem, že procesory P 2,..., P n si mohou načíst hledanou hodnotu souběžně ze sdílené pamět ové buňky v čase O(1). Paralelní čás závěrečné redukce však zůstává stejný a pro se nemění ani asymptotické vyjádření celkového paralelního času, které je tedy stejně jako minule T (n, p) = O(log p+n/p). 3. Shodný CRCW PRAM algoritmus: V této modifikaci trvá také závěrečný krok algoritmu konstantní čas O(1) nebot ty procesory, které nastavily příznak Nalezeno na hodnotu 1, mohou provést zápis do sdílené výsledkové pamět ové buňky procesoru P 1 současně v jednom kroku. Celkový paralelní čas poté bude T (n, p) = O(n/p), čímž jsme se dostali k optimálnímu řešení. 1.3 Výpočetní síla PRAM podmodelů Jak bylo patrné z příkladu v kapitole 1.2.1, omezení uvalená na jednotlivé podmodely PRAM ovlivňují také časovou složitost algoritmů a proto můžeme hovořit o výpočetní síle jednotlivých PRAM podmodelů. Definice 1 PRAM podmodel A je výpočetně silnější než podmodel B, psáno A B, jestliže jakýkoliv algoritmus napsaný pro PRAM počítač B poběží na stejně velkém PRAM počítači A beze změny a s tímtéž paralelním časem. Lemma 1 Prioritní CRCW Náhodný CRCW Shodný CRCW CREW EREW
7 Simulace velkého PRAM na malém PRAM Cena, optimalita a efektivnost PRAM algoritmů Definice 2 Necht K je problém s množinou vstupních dat o velikosti n. Předpokládejme, že K lze řešit na p-procesorovém PRAM počítači algoritmem A v čase T (n, p). Pak řekneme, že 1. A je efektivní, jestliže T (n, p) = O(log O(1) n) a C(n, p) = O(SU(n) log O(1) n) 2. A je cenově optimální, jestliže T (n, p) = O(log O(1) n) a C(n, p) = O(SU(n)) 3. A je plně paralelní, jestliže T (n, p) = O(1) a p = O(SU(n)) Plně paralelní algoritmy jsou tedy cenově optimální. 2 Simulace velkého PRAM na malém PRAM Model PRAM neomezuje návrháře paralelních algoritmů ani z hlediska počtu procesorů ani z hlediska počtu sdílených pamět ových buněk. Situace se však může radikálně změnit při implementaci takového PRAM algoritmu na reálném PRAM počítači (SMP), který nedisponuje potřebným počtem procesorů nebo buněk sdílené paměti. V takovém případě je potřeba přistoupit k simulaci velkého PRAM počítače na malém. Věta 1 Předpokládejme, že p < p. Uvažujme algoritmus A, který běží na p-procesorovém PRAM v t krocích. Pak lze A simulovat na p -procesorovém PRAM v t = O(t p/p ) krocích za předpokladu, že velikost sdílené paměti je stejná. Důkaz. 1. Rozdělme p simulovaných procesorů do p skupin o velikosti p/p. 2. Přiřad me každému z p simulujících procesorů jednu skupinu. 3. Každý simulující procesor simuluje jeden krok své skupiny procesorů: (a) provedením nejdříve všech jejích operací READ a lokálních výpočtů, (b) provedením jejich operací WRITE poté. Důležitým důsledkem je, že Každý PRAM algoritmus s cenou C(n, p) lze provést sekvenčně v čase T (n, 1) = C(n, p). Pokud jsme navrhli PRAM algoritmus s cenou C(n, p) = o(su(n)), pak jsme automaticky navrhli nový nejlepší sekvenční algoritmus. V případě, že omezení reálného PRAM počítače spočívá v nedostatečném velikosti sdílené paměti, je možné chybějící pamět ové buňky simulovat v lokální paměti procesorů. Simulující procesory tak budou simulovat jak procesory původní, tak také chybějící velkou sdílenou pamět pomocí svých malých lokálních pamětí. Věta 2 Předpokládejme, že m < m a uvažujme algoritmus A, který běží na p-procesorovém PRAM s m pamět ovými buňkami v t krocích. Pak lze A simulovat na p = max(p, m )-procesorovém PRAM s m pamět ovými buňkami v t = O(t m/m ) krocích.
8 Simulace silnějšího PRAM na slabším PRAM 7 Důkaz. Pamět ové buňky simulovaného a simulujícího počítače budeme označovat M[1,..., m] a M [1,..., m ]. 1. Rozdělme m simulovaných sdílených pamět ových buněk do m souvisejících úseků S i o velikosti m/m. 2. Každý simulující procesor P i, 1 i p, bude simulovat P i původního PRAM. 3. Každý simulující procesor P i, 1 i m, uloží počáteční obsah S i do své lokální paměti a bude používat M [i] jako pomocnou pamět ovou buňku pro simulování přístupu k buňkám S i. 4. Simulace jedné původní operace READ: Každý procesor P i, i = 1,..., max(p, m ), opakuje pro k = 1,..., m/m : (a) je-li i 1,..., m, zapiš hodnotu k-té buňky svého úseku S i do M [i]. (b) je-li i 1,..., p a v nějakém M [j] se objevila hodnota, kterou by simulovaný procesor P i četl v tomto simulovaném kroku, přečti ji. 5. Lokální výpočetní krok procesoru P i, i = 1,..., p, je simulován procesorem P i v jednom kroku. 6. Simulace jedné operace WRITE je analogická simulaci operace READ. Časová složitost simulace pak plyne z faktu, že jeden krok původního algoritmu je simulován v t = O(m/m ) O(m/m ) = O(m/m ) krocích. 3 Simulace silnějšího PRAM na slabším PRAM Jak již bylo zmíněno v kapitole 1.3, různé podmodely PRAM mají různou výpočetní sílu. Při návrhu paralelního algoritmu se může stát, že výpočetní síla použitého podmodelu je vyšší, než výpočetní síle reálného PRAM počítače, např. pokud HW počítače neumí ošetřit konflikty přístupu do sdílených pamět ových buněk. V takovém případě je nutné přikročit k SW řešení konfliktních situací, tj. k simulaci výpočetně silnější PRAM podmodelu na výpočetně slabším PRAM počítači. Vzhledem k tomu, že možných simulačních kombinací je velké množství, zaměříme se na extrémní případ simulace výpočetně nejsilnějšího prioritního CRCW PRAM na výpočetně nejslabším EREW PRAM. Uved me si dvě možné simulační metody. Věta 3 Uvažujme Prioritní CRCW PRAM s prioritním systémem založeným na indexování procesorů a to takovým, že procesory s nižším indexem mají vyšší prioritu. Jeden krok p-procesorového Prioritního CRCW PRAM s m buňkami sdílené paměti lze simulovat na p-procesorovém EREW PRAM s m p buňkami sdílené paměti v t = O(log p) krocích. Důkaz. 1. Každý procesor P k, k = 1,..., p, v Prioritním CRCW je simulován EREW procesorem P k. 2. Každá buňka sdílené paměti M[i], i = 1,..., m, v Prioritním CRCW je simulována polem p buněk sdílené paměti M [i, k], k = 1,..., p, na EREW. M [i, 1] hraje roli M[i]. M [i, 2],..., M [i, p] jsou pomocné buňky organizované jako vnitřní uzly úplného binárního stromu T i s p listy, i = 1,..., m. Výška stromu T i je log p. 3. Simulace kroku prioritní WRITE. Každý EREW procesor musí zjistit, zda je procesorem s nejmenším indexem v rámci skupiny procesorů, žádajících o zápis do téže buňky. Pokud ano, je vítězem skupiny a může provést zápis. Postup je následující:
9 Simulace silnějšího PRAM na slabším PRAM 8 (a) Všechny buňky pomocných polí M [i, ] mají nastavený příznak s na prázdný. (b) Pokud chce P k zapisovat do M[i], procesor P [k] se stane aktivním a stane se k-tým listem stromu T i. Ví, zda je pravým či levým listem vzhledem ke svému rodiči, tj. dané buňce pomocného pole M [i, ]. (c) Každý aktivní levý procesor uloží své ID do rodičovské buňky ve svém stromě, nastaví její příznak s na obsazená a zůstane aktivní. (d) Každý aktivní pravý procesor zkontroluje svou rodičovskou buňku. Je-li s = prázdná, uloží do ní své ID, nastaví s na obsazená a zůstane aktivní. V opačném případě se přepne do stavu neaktivní. (e) Toto se opakuje log p-krát na dalších hladinách stromu. (f) Procesor, kterému se podařilo postoupit do kořene T i se stává vítězem, který může zapsat do M [i, 1]. Procesory, které používaly strom T i ho pak musí projít dolů v opačném pořadí a vynulovat příznak s. 4. Simulace kroku Prioritní READ je podobná. (a) Paralelně se provedou stejné průchody stromy T i směrem nahoru, aby se určili vítězové ve skupinách. (b) Vítězové přečtou hodnotu z buněk M [, 1]. (c) Během zpětného průchodu stromy T i směrem dolů si procesory, které prohrály, kromě nastavování příznaku s kopírují načtenou hodnotu. Druhý simulační algoritmus má stejně jako předchozí optimální časovou složitost (i když skrytá konstanta je větší), ale vyžaduje pomocné pole, kde stačí pouze jedna buňka na jeden simulovaný procesor. Věta 4 Uvažujme Prioritní CRCW PRAM, kde procesory s nižším indexem mají vyšší prioritu. Jeden krok Prioritního CRCW PRAM s p procesory a m buňkami sdílené paměti lze simulovat na EREW PRAM s p procesory a m + p buňkami sdílené paměti v t = O(log p) krocích. Důkaz. 1. Každý procesor P k, k = 1,..., p, v Prioritním CRCW je simulován EREW procesorem P k. 2. Každá buňka M[i], i = 1,..., m, v Prioritním CRCW je simulována EREW buňkou M [i]. 3. EREW používá pomocné pole A s p buňkami. 4. Chce-li P k přístup do M[i], procesor P k zapíše do buňky A[k] dvojici (i, k), v opačném případě zapíše dvojici (0, k). 5. Všech p procesorů provede paralelní setřídění pole A podle indexů procesorů lexikograficky vhodným EREW algoritmem s časovou složitostí O(log p)). 6. Každý P k připojí k buňce A[k] příznak s, kde: 0 je-li první položka dvojice A[k] bud rovna 0 nebo je-li shodná s první položkou s = předchozí dvojice A[k-1], 1 jinak. Další kroky se liší podle toho, zde simulujeme WRITE nebo READ.
10 Asynchronní PRAM (APRAM) model 9 7. Prioritní WRITE: (a) Každý P k přečte trojici (i, j, s) ze své buňky A[k] a zapíše ji do A[j] (tato permutace je bezkonfliktní). V tomto okamžiku má každý procesor P k ve své buňce A[k] zpět svoji trojici (, k, ). (b) Každý P k přečte trojici (i, k, s) ze své buňky A[k]. Je-li s = 1, stal se vítězem a může zapsat do M[i] svoji hodnotu. 8. Prioritní READ: (a) Každý P k přečte trojici (i, j, s) ze své buňky A[k]. (b) Každý P k s s = 1 přečte hodnotu v i z M [i] a uloží ji do trojice (i, j, v i ). Jelikož ale díky předchozímu třídění došlo k permutaci trojic, není prozatím v A[k] jeho vlastní výsledek. (c) Sémantika operace Prioritní READ je taková, že každý, kdo požádal o čtení, by měl obsah požadované buňky dostat. Vzhledem k tomu, že sousední buňky v setříděném poli A obsahují požadavky na stejné pamět ové buňky, provedou všechny procesory pomocí EREW algoritmu binárního zdvojování jednoduše rozkopírování trojice (i,, v i ) do všech (i,, 0) v O(log p) krocích. (d) Každý P k přečte trojici (i, j, v i) ze své buňky A[k] a uloží ji do A[j]. Tím se požadavek dostává do buňky svého původce. (e) Každý P k, který žádal o READ si přečte hodnotu v i z trojice (i, k, v i ) ze své buňky A[k]. 4 Asynchronní PRAM (APRAM) model Reálné paralelní počítače se vetšinou od idealizovaného PRAM modelu liší v několika důležitých skutečnostech: jednak jejich procesory nepracují synchronně a navíc přístup do sdílené paměti je časově náročnější než přístup do lokálních registrů. Z tohoto důvodu je užitečné mít k dispozici model, který bude lépe reflektovat možnosti reálných počítačů. Tím může být například model APRAM (Asynchronous PRAM), který se od klasického PRAM odlišuje těmito vlastnostmi: procesory pracují asynchronně, procesory je potřeba explicitně synchronizovat, a doba přístupu do sdílené paměti není jednotková. 4.1 APRAM výpočet APRAM výpočet může provádět instrukce 4 typů: 1. Globální čtení - přečte obsah sdílené pamět ové buňky do lokální paměti. 2. Lokální výpočet - provede jakoukoliv RAM instrukci s operandy a výsledky uloženými v lokální paměti. 3. Globální zápis - zapíše hodnotu z lokální paměti do sdílené paměti. 4. Bariérová synchronizace - každý proces se v bodě bariéry zastaví až do doby, než k ní dorazí všechny zbývající procesy, pro které byla bariéra definována. Výpočet na APRAM je pak definován jako posloupnost asynchronně prováděných globálních fází oddělených bariérovou synchronizací. V rámci daných globálních fází musí být zápis do sdílených pamět ových buněk exkluzivní.
11 Asynchronní PRAM (APRAM) model Výkonostní parametry modelu APRAM Složitost jednotlivých APRAM operací je následující: Složitost lokální operace je 1. Složitost globální operace čtení nebo zápisu je obecně d. Pro jednoduchost předpokládáme, že d 2 je konstanta. Složitost implementace bariéry b(p) je vždy neklesající funkcí p, kde d b(p) p. Typické hodnoty jsou b(p) = Θ(d log p) pro implementaci pomocí binárního redukčního stromu nebo b(p) = Θ(d p) pro implementaci pomocí centrálního čítače [1]. k po sobě jdoucích operací globálního čtení nebo zápisu má složitost d + k 1, ne d k, jak by se dalo předpokládat, což odráží vlastnosti současných sběrnicových systémů [1].
12 Kontrolní otázky 11 5 Kontrolní otázky Co je to výpočetní model PRAM a k čemu slouží? Jaké rozličujeme výpočetní podmodely PRAM z hlediska řízení souběžného přístupu k pamět ovým buňkám? Jakým způsobem ovlivňuje simulace většího PRAM na menším časovou a pamět ovou složitost algoritmu? Jakým způsobem ovlivňuje simulace silnějšího PRAM na slabším časovou a pamět ovou složitost algoritmu?
13 REFERENCE 12 Reference [1] Pavel Tvrdík. Paralelní systémy a algoritmy. Vydavatelství ČVUT, Praha, 2005.
Stromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
PARALELNÍ PROCESY A PROGRAMOVÁNÍ
PARALELNÍ PROCESY A PROGRAMOVÁNÍ 12 Paralelní algoritmy - paralelní prefixové součty Ing Michal Bližňák, PhD Zlín 2013 Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF)
Princip funkce počítače
Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování
Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).
7 Barevnost grafu Definice 71 Graf G se nazývá k-obarvitelný, jestliže každému jeho uzlu lze přiřadit jednu z barev 1 k tak, že žádné dva sousední uzly nemají stejnou barvu Definice 72 Nejmenší přirozené
Architektury paralelních počítačů II.
Architektury paralelních počítačů II. Sekvenční konzistence paměti Implementace synchronizačních událostí Ing. Miloš Bečvář s použitím slajdů Prof. Ing. Pavla Tvrdíka, CSc. Osnova přednášky Opakování definice
Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31
Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu
V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování.
9.5 Třída NP Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování. Příklad. Uvažujme problém IND a následující
Základní datové struktury III: Stromy, haldy
Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní
Dynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit
Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti
4. Úvod do paralelismu, metody paralelizace
4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26.
Datové struktury 2: Rozptylovací tabulky
Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy
Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Kapitola 13: Transakce. Koncept transakce. ACID vlastnosti
- 13.1 - Kapitola 13: Transakce Koncept transakce Stavy transakce Implementace atomičnosti a trvanlivosti Souběžné spouštění Serializovatelnost Koncept transakce Transakce je posloupnost operací (část
SEKVENČNÍ LOGICKÉ OBVODY
Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních
Architektury počítačů a procesorů
Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní
Návrh Designu: Radek Mařík
1. 7. Najděte nejdelší rostoucí podposloupnost dané posloupnosti. Použijte metodu dynamického programování, napište tabulku průběžných délek částečných výsledků a tabulku předchůdců. a) 5 8 11 13 9 4 1
Systém adresace paměti
Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného
Složitost Filip Hlásek
Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,
Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012
Obecná informatika Přednášející Putovních přednášek Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Podzim 2012 Přednášející Putovních přednášek (MFF UK) Obecná informatika Podzim 2012 1 / 18
Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.
Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící
Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince / 63
Výpočetní modely Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince 2018 1/ 63 Nutnost upřesnění pojmu algoritmus Dosavadní definice pojmu algoritmus byla poněkud vágní. Pokud bychom pro nějaký problém
Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur
Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují
Architektura procesorů PC shrnutí pojmů
Architektura procesorů PC shrnutí pojmů 1 Co je to superskalární architektura? Minimálně dvě fronty instrukcí. Provádění instrukcí je možné iniciovat současně, instrukce se pak provádějí paralelně. Realizovatelné
NUMERICKÝ MODEL NESTACIONÁRNÍHO PŘENOSU TEPLA V PALIVOVÉ TYČI JADERNÉHO REAKTORU VVER 1000 SVOČ FST 2014
NUMERICKÝ MODEL NESTACIONÁRNÍHO PŘENOSU TEPLA V PALIVOVÉ TYČI JADERNÉHO REAKTORU VVER 1000 SVOČ FST 2014 Miroslav Kabát, Západočeská univerzita v Plzni, Univerzitní 8, 306 14 Plzeň Česká republika ABSTRAKT
Paralelní programování
Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)
Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost
Amortizovaná složitost. Prioritní fronty, haldy binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost 1. Asymptotické odhady Asymptotická složitost je deklarována na základě
Přerušovací systém s prioritním řetězem
Přerušovací systém s prioritním řetězem Doplňující text pro přednášky z POT Úvod Přerušovací systém mikropočítače může být koncipován několika způsoby. Jednou z možností je přerušovací systém s prioritním
Strojový kód. Instrukce počítače
Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska
Architektura počítačů
Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem
OPS Paralelní systémy, seznam pojmů, klasifikace
Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus
Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem
Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel
Architektura Pentia úvod
Architektura Pentia úvod 1 Co je to superskalární architektura? Minimálně dvě fronty instrukcí. Provádění instrukcí je možné iniciovat současně, instrukce se pak provádějí paralelně. Realizovatelné jak
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
Pohled do nitra mikroprocesoru Josef Horálek
Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická
Select sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání
Select sort: krok 1: výběr klíče z n prvků vyžaduje 1 porovnání krok 2: výběr klíče z 1 prvků vyžaduje 2 porovnání krok 3: výběr klíče z 2 prvků vyžaduje 3 porovnání atd. celkem porovnání Zlepšení = použít
Řízení IO přenosů DMA řadičem
Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována
AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace
AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně
Pamět ová hierarchie, návrh skryté paměti 2. doc. Ing. Róbert Lórencz, CSc.
Architektura počítačových systémů Pamět ová hierarchie, návrh skryté paměti 2 doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Třídění, vyhledávání Daniela Szturcová
Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
Složitost algoritmů doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 27. prosince 2015 Jiří Dvorský (VŠB TUO) Složitost algoritmů
Od Turingových strojů k P=NP
Složitost Od Turingových strojů k P=NP Zbyněk Konečný Zimnění 2011 12. 16.2.2011 Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 1 / 24 O čem to dnes bude? 1 Co to je složitost 2 Výpočetní modely
Základy algoritmizace a programování
Základy algoritmizace a programování Složitost algoritmů. Třídění Přednáška 8 16. listopadu 2009 Který algoritmus je "lepší"? Různé algoritmy, které řeší stejnou úlohu zbytek = p % i; zbytek = p - p/i*i;
Algoritmy I, složitost
A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??
Struktura a architektura počítačů (BI-SAP) 11
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 11 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Systémy pro sběr a přenos dat
Systémy pro sběr a přenos dat Centralizované SPD VME, VXI Compact PCI, PXI, PXI Express Sběrnice VME 16/32/64 bitová paralelní sběrnice pro průmyslové aplikace Počátky v roce 1981 neustále se vyvíjí původní
Adresní mody procesoru
Adresní mody procesoru K.D. - přednášky 1 Obecně o adresování Různé typy procesorů mohou mít v instrukci 1, 2 nebo více adres. Operandy mohou ležet v registrech nebo v paměti. Adresní mechanismus procesoru
KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni
KTE/TEVS - Rychlá Fourierova transformace Pavel Karban Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni 10.11.011 Outline 1 Motivace FT Fourierova transformace
Dijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
ALGORITMY A DATOVÉ STRUKTURY
Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu
Paměti a jejich organizace
Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu
Vyvažování a rotace v BVS, všude se předpokládá AVL strom
Vyvažování a rotace v BVS, všude se předpokládá AVL strom 1. Jednoduchá levá rotace v uzlu u má operační složitost a) závislou na výšce levého podstromu uzlu u b) mezi O(1) a Θ(n) c) závislou na hloubce
TÉMATICKÝ OKRUH TZD, DIS a TIS
TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 15. Otázka : Paralelní procesy v databázích. Transakce, zamykání, uváznutí. Dvoufázový protokol, časová razítka. Obsah : 1 Úvod 2 Paralelní procesy v databázích
Prioritní fronta, halda
Prioritní fronta, halda Priority queue, heap Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 26 Prioritní fronta Halda Heap sort 2 / 26 Prioritní fronta (priority queue) Podporuje
Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.
Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb. 1. Informace o přijímacích zkouškách Studijní program: Informatika navazující magisterský
NPRG030 Programování I, 2018/19 1 / :03:07
NPRG030 Programování I, 2018/19 1 / 20 3. 12. 2018 09:03:07 Vnitřní třídění Zadání: Uspořádejte pole délky N podle hodnot prvků Měřítko efektivity: * počet porovnání * počet přesunů NPRG030 Programování
Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010
Přednášky o výpočetní technice Hardware teoreticky Adam Dominec 2010 Rozvržení Historie Procesor Paměť Základní deska přednášky o výpočetní technice Počítací stroje Mechanické počítačky se rozvíjely už
4. Trojúhelníkový rozklad p. 1/20
4. Trojúhelníkový rozklad 4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad p. 2/20 Trojúhelníkový rozklad 1. Permutační matice 2. Trojúhelníkové matice 3. Trojúhelníkový (LU) rozklad 4. Výpočet
Procesor. Procesor FPU ALU. Řadič mikrokód
Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé
Systém řízení sběrnice
Systém řízení sběrnice Sběrnice je komunikační cesta, která spojuje dvě či více zařízení. V určitý okamžik je možné aby pouze jedno z připojených zařízení vložilo na sběrnici data. Vložená data pak mohou
Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III
Michal Krátký Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 tel.: +420 596 993 239 místnost: A1004 mail: michal.kratky@vsb.cz
Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost
1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole
(viztakéslidyktétopřednášce...) Poznámka. Neudělali jsme vše tak podrobně, jak je to v zápisu.
Teoretická informatika průběh výuky v semestru 1 Týden 8 Přednáška- první část (viztakéslidyktétopřednášce...) Poznámka. Neudělali jsme vše tak podrobně, jak je to v zápisu. Turingovy stroje,(výpočetní)
3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.
Katedra informatiky a výpočetní techniky České vysoké učení technické, fakulta elektrotechnická Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc. 10. prosince 2007 Pamět ové banky S výhodou používáme
Rekurzivní algoritmy
Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS
Přidělování paměti II Mgr. Josef Horálek
Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování
3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem
ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte
IB109 Návrh a implementace paralelních systémů. Analytický model paralelních programů. RNDr. Jiří Barnat, Ph.D.
IB109 Návrh a implementace paralelních systémů Analytický model paralelních programů RNDr. Jiří Barnat, Ph.D. Analytický model paralelních programů B109 Návrh a implementace paralelních systémů: Analytický
Architektura počítačů Logické obvody
Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální
Složitosti základních operací B + stromu
Složitosti základních operací B + stromu Radim Bača VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky ŠKOMAM 2010-1- 28/1/2010 Složitosti základních operací B +
Algoritmizace řazení Bubble Sort
Algoritmizace řazení Bubble Sort Cílem této kapitoly je seznámit studenta s třídícím algoritmem Bubble Sort, popíšeme zde tuto metodu a porovnáme s jinými algoritmy. Klíčové pojmy: Třídění, Bubble Sort,
Digitální učební materiál
Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_147_IVT Autor: Ing. Pavel Bezděk Tematický okruh:
Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače
V roce 1945 vystoupil na přednášce v USA matematik John von Neumann a představil architekturu samočinného univerzálního počítače (von Neumannova koncepce/schéma/architektura). Základy této koncepce se
Třídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21
Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní
1. Databázové systémy (MP leden 2010)
1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou
Paměťový podsystém počítače
Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
Časová a prostorová složitost algoritmů
.. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová
Teoretická informatika průběh výuky v semestru 1
Teoretická informatika průběh výuky v semestru 1 Týden 8 Přednáška Model RAM Ve studijním textu je detailně popsán model RAM, který je novějším výpočetním modelem než Turingův stroj a vychází z architektury
Profilová část maturitní zkoušky 2013/2014
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Zjednodušené schéma systému z základ hardware pro mainframe tvoří: operační pamět - MAIN / REAL STORAGE jeden
Trénování sítě pomocí učení s učitelem
Trénování sítě pomocí učení s učitelem! předpokládá se, že máme k dispozici trénovací množinu, tj. množinu P dvojic [vstup x p, požadovaný výstup u p ]! chceme nastavit váhy a prahy sítě tak, aby výstup
Operační systémy 2: Zápočtové úkoly
Operační systémy 2: Zápočtové úkoly 18. listopad 2010 1 Paralelní Mergesort Implementujte paralelní verzi algoritmu Merge sort, který bude řadit celá čísla uložená v textovém souboru. Program bude mít
Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
Pojem algoritmus doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Pojem algoritmus 54 / 344
3. Vícevrstvé dopředné sítě
3. Vícevrstvé dopředné sítě! Jsou tvořeny jednou nebo více vrstvami neuronů (perceptronů). Výstup jedné vrstvy je přitom připojen na vstup následující vrstvy a signál se v pracovní fázi sítě šíří pouze
přetížení operátorů (o)
přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - deklarace pomocí funkčního
Vzdálenost uzlů v neorientovaném grafu
Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující
Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010
Pokročilé haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (I-EFA) ZS 2010/11,
Základní komunikační operace
Základní komunikační operace Úvod Operace send a recieve Blokující a neblokující posílání zpráv Blokující posílání zpráv Neblokující posílání zpráv One-to-all broadcast/all-to-one reduction All-to-all
Výroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a