Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů
|
|
- Alois Malý
- před 8 lety
- Počet zobrazení:
Transkript
1 Distribuovaná synchronizace Využití kritické sekce při vzájemném vyloučení v distribuovaném systému Paralelní a distribuované systémy 11. Přednáška Vzájemné vyloučení Logicky distribuovaný systém s vlákny Semafory, zámky yzicky distribuovaný systém? Procesy běží na různých procesorech Distribuované algoritmy vzájemného vyloučení: Lenka Carr Motyčková! Algoritmy: Centralizované Lamportův Ricart-Agrawala Maekewa Suzuki-Kasami Raymondův DM: Centralizovaný algoritmus Centralizovaný algoritmus - fronta procesů Jeden z procesů je vybrán jako koordinátor, např. proces nejvyšším ID Proces, který chce vstoupit do KS pošle koordinátorovi zprávu request Koordinátor rozhodne, který proces vstoupí do KS jako další a pošle tomuto procesu zprávu reply Proces, který přijme zprávu reply vstoupí do KS Po opuštění KS pošle proces zprávu release koordinátorovi a pokračuje ve své činnosti Algoritmus potřebuje pro vstup do KS tři zprávy: request reply release Centralizovaný algoritmus Centralizovaný algoritmus req server busy: boolean queue reply clients release Client do true send request; reply received enter CS; send release; <other work> od Server do request received and not busy send reply; busy:= true request received and busy enqueue sender release received and queue is empty busy:= false release received and queue not empty send reply to the head of the queue od Správnost: Vzájemné vyloučení: proces musí opustit KS předtím, než do ní vstoupí další érovost: procesy vstupují do KS v pořadí, ve kterém požadovaly vstup Uváznutí: koordinátor vydá další povolení ke vstupu do KS, pokud předchozí proces z KS vystoupí Nevýhody: Vznik bottlenecku Algoritmus selže, když se proces - koordinátor zastaví 1!
2 Distribuovaný algoritmus Distribuovaný algoritmus Centralizovaný koordinátor Distribuovaný koordinátor - množina arbitrů = quorum S i P i S i Každá dvojice procesů má alespoň jednoho společného arbitra : quorum - množina arbitrů: S i S j Každý proces má stejnou odpovědnost v roli člena quora (D) počet quor S k, pro která P i S k je D Každý proces musí vynaložit stejné úsilí při vstupu do KS: S i = K Síť musí být úplně propojená Kanály jsou IO a jsou spolehlivé P i P j S i S j Předpoklady: Velikost quora je N (D = K = N) Síť musí být úplně propojená: rozeslání = broadcast Kanály jsou IO Zpráva je doručená v konečném čase Request (T i,i) - zpráva obsahuje časová razítka Každý proces si vytváří uspořádanou frontu zpráv Request(s) Vstup do KS: P i uloží zprávu Request(T i,i) do své vlastní fronty a rozešle ji P j uloží zprávu Request(T i,i) do své vlastní fronty a odpoví procesu i : Reply(T j,j) Pi vstoupí do KS právě, když A) jeho vlastní požadavek je na začátku jeho vlastní fronty a B) P i přijal zprávy Reply s časovým razítkem starším než (T i, i) od všech ostatních procesů =>! Právě jeden proces je v KS:! P i musel také dostat všechny požadavky Request s časovými razítky menšími než (T i, i) (P i už dostal všechny požadavky starší než je jeho vlastní) Výstup z KS: P i odstraní svůj požadavek ze své fronty P i rozešle Release (T i, i) P j odstraní Request (T i,i) ze své fronty reply(t k ) Komunikační složitost: 3(N - 1) req(t s, P o ) req(t m, P i ) 2!
3 Princip: P j odešle zprávu Reply(T j,j) právě když nežádá o vstup do KS nebo jeho žádost má časové razítko (T j, j) > (T i,i) Jinak je zpráva Reply odložena na pozdější dobu P i vstoupí do KS až potom, co přijme zprávy Reply od všech ostatních procesů 2(N-1) zpráv Algoritmus: Když chce proces P i vstoupit do KS, vygeneruje nové časové razítko, (T i,i), a pošle zprávu Request (T i,i) všem ostatním procesům Když proces P j přijme zprávu Request (T i,i), buď okamžitě odpoví nebo odpověď odloží Když proces P i přijme zprávy Reply od všech ostatních procesů může vstoupit do KS Po opuštění KS proces pošle zprávy Reply(T i,i) všem odloženým procesům Algoritmus pokrač.: Rozhodnutí, zda proces P j odpoví na zprávu Request (T i,i) okamžitě nebo odloží odpověď, záleží na třech faktorech : jestliže je P j v KS, potom odpověď procesu P i odloží jestliže P j nechce vstoupit do KS, potom pošle procesu P i odpověď okamžitě jestliže chce proces P j vstoupit do KS, ale ještě tak neučinil, potom srovná časové razítko svého vlastního požadavku s časovým razítkem (T i,i) jestliže je časové razítko vlastního požadavku větší než (T i,i), potom pošle okamžitě zprávu Reply(T j,j) procesu P i (proces P i požádal o vstup do KS dříve) jinak je odpověď Reply odložena or each process requesting an access to CS:! my-request := true; #rec :=0;! broadcast <Request, Ti, i>;! while #rec < N - 1 do receive <Reply, Tj, j>; #rec ++; enter CS;! my-request := false;! k := 1;! while (k < N) do if Postponed[k]! then begin send <Reply, Ti, i> to k;! Postponed[k] := false; k++;! : příklad or each process upon receipt of receive <Request, Tj, j>:! if (my_request and (Ti,i) < (Tj,j) )! //pokud je v KS, tak podmínka vždy platí! then Postponed [j] := true! else send <Reply, Ti, i> to j;! 3!
4 : správnost : nedostatky Absence uváznutí je zaručena, protože vstup do KS je řízen pořadím časových razítek Proces musí znát identitu všech ostatních procesů v systému, což komplikuje dynamické přidávání a odstraňování procesů do/ze systému Absence stárnutí je zaručena, (žádosti posouvají časová razítka) Jestliže jeden z procesů přestane pracovat celý systém se zhroutí Pořadí časových razítek zaručuje že procesy jsou obslouženy způsobem firstcome, first served Počet zpráv nutných ke vstupu do KS Problém může být vyřešený kontinuálním monitorováním stavu všech procesů v systému Tento algoritmus je vhodný pro malé a stabilní systémy spolupracujících procesů 2(N 1) Ricarto Agrawalův algoritmus je symetrický Maekavův algoritmus tento požadavek uvolňuje quorum - množina arbitrů: S 1 = = S N = K Každý proces musí vynaložit stejné úsilí při vstupu do KS (K požadavků) Každá dvojice procesů má alespoň jednoho společného arbitra: S i S j P i S i S i vždy obsahuje proces P i N počet quor (podmnožin) = počet uzlů D.. P i je členem D quor = počet duplikací K.. počet procesů v každém quoru # quor N * # členů K = # uzlů N # duplikací D N * K / D = N => D = K v quoru je K procesů, každý je členem D quor j: P j je členem D quor S k tj. každý proces má stejnou odpovědnost jako člen různých quor Je potřeba přesně N quor: N = (D - 1) K + 1 N = (K - 1) K + 1 => K N Algoritmus s předáváním příznaku <Request, i > z procesu P i všem členům S i Jestliže člen quora není zamčený, odpoví YS a zamče se (odpovídá na první požadavek) Jestliže je proces už zamčený, uloží požadavek do uspořádané fronty a na požadavek neodpoví Když proces P i vstoupí do KS, všichni členové jeho quora S i musí být zamčení Když proces P i přijme zprávy YS od všech procesů P k S i P i vstoupí do KS Když proces P i opustí KS rozešle zprávy Release všem členům quora S i a odemče je Komunikační složitost O(K) = O( N ) Příznak obíhá mezi procesy Příznak je zvláštní typ zprávy Jestliže proces drží příznak, může vstoupit do KS Procesy jsou logicky uspořádané do kruhu, stromu nebo úplného grafu Jednosměrný kruh zaručuje absenci stárnutí procesů Algoritmus může mít dva typy poruch: Ztráta příznaku musí se zvolit jeden proces, který vlastní příznak Nefunkční proces musí se vytvořit nový logický kruh 4!
5 Suzuki - Kasami algoritmus Příznak = obsahuje pole token[n] časových razítek, které označují kdy naposled proces Pi přijal příznak a vstoupil do KS token [ ] 1 2 n Lokální pole requests[n] časových razítek, které označují kdy naposled proces Pi požadoval vstup do KS requests [ ] 1 2 n Zprávy jsou doručené v konečném čase Síť je úplně propojená (mesh) Nejsou potřeba IO kanály Komunikační složitost : n - 1 Suzuki - Kasami algoritmus or each process requesting an access to CS:! if!have_token! then begin broadcast <Request, Ti, i>;! receive <Token>; have_token := true; using_token := true;! enter CS;! token[i] := local_time T;! using_token := false;! k := i +1;! while (k i) do if (requests[k] > token [k] and have_token)! then begin have_token := false;! send <Token> to k; (k++) mod N; Suzuki - Kasami algoritmus or each process upon receipt of <Request,Tj,j>:! requests[j] := max(requests[j], Tj);! if have_token and!using_token! then k := i +1;! while (k i) do if (requests[k] > token [k]) and! have_token! then begin have_token := false;! send <Token> to k; end;! (k++) mod N;! end;! Raymondův algoritmus Logická stromová topologie Zprávy se posílají jenom ve stromu Komunikační složitost odpovídá ~ výšce stromu = log N Proces, který vlastní příznak smí vstoupit do KS Požadavky jsou ukládány do fronty v každém uzlu podle časových razítek HOLDR A = D HOLDR D = A D A D B C B C Raymond s algorithm Distribuované algoritmy vzájemného vyloučení A D A D B C B C HOLDR B = A HOLDR C = A HOLDR = self HOLDR = D HOLDR A = D HOLDR D = A žádá o vstup do KS -> HOLDR A = D D žádá o příznak : HOLDR D = opustil KS a předá příznak žádajícímu sousedovi, nastaví HOLDR = D D : HOLDR D = A: pošle příznak uzlu A 5!
Distribuované algoritmy - přehled. Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc. Distribuované vzájemné vyloučení Základní rozdělení Centralizované metody (sequencer) Decentralizované metody
VíceSynchronizace. Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Synchronizace Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc. Synchronizace hodin Pokud má každý počítač vlastní hodiny, pak jakékoliv události, která se objeví po jiné události, může být přidělen
VíceDistribuované systémy a výpočty
Dstrbuované systémy a výpočty X36DSV Jan Janeček (dnes Peter Macejko) Výlučný přístup Algortmy na úplném grafu Lamport - základní algortmus, 3(n-1) zpráv/požadavek Rcart Agrawala - pozdržení souhlasů,
VíceDistribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček (dnes Peter Macejko) Ukončení výpočtu (Termination Detection) Terminal configuration terminal state Termination implicit (message) x explicit (process)
VíceVzájemné vyloučení procesů
PDV 10 2017/2018 Vzájemné vyloučení procesů Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Příklad Bankovní server v cloudu. Dva zákaznici současně vloží 10
VíceOperační systémy. Přednáška 5: Komunikace mezi procesy
Operační systémy Přednáška 5: Komunikace mezi procesy 1 Semafory Datový typ semafor obsahuje čítač a frontu čekajících procesů. Nabízí tři základní operace: Init(): Čítač se nastaví na zadané číslo (většinou
VíceIB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.
IB109 Návrh a implementace paralelních systémů Kolektivní komunikační primitava RNDr. Jiří Barnat, Ph.D. Kvantitativní parametry komunikace B109 Návrh a implementace paralelních systémů: Kolektivní komunikační
VíceDistribuované algoritmy
SU Media: Student Středník ČWUT AVC SH Akropolis ikariéra Distribuované algoritmy z ČWUT Obsah 1 Asymetrické a symetrické algoritmy, metody interakce procesů 2 Kauzalita v distribuovaném
VíceSeminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr
Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)
VíceChapter 7: Process Synchronization
Chapter 7: Process Synchronization Background The Critical-Section Problem Synchronization Hardware Semaphores Classical Problems of Synchronization Critical Regions Monitors Synchronization in Solaris
VíceSemafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP.
Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP. Dvě sémantiky vzhledem k hodnotám čítače: 1. čítač >= 0 Operace DOWN zkontroluje
VícePARA Filozofové, kuřáci a holič
PARA Filozofové, kuřáci a holič Lenka Carr Motyčková 22. duben 2014 PDS Semafory 1 1. Večeřící filozofové (Dijkstra 1968) Problém: N (typicky 5) flozofů sedí u kulatého stolu, přemýšlí nebo jedí pomocí
VícePrincipy operačních systémů. Lekce 6: Synchronizace procesů
Principy operačních systémů Lekce 6: Synchronizace procesů Kritická sekce Při multitaskingu (multithreadingu) různé procesy často pracují nad společnou datovou strukturou (např. zápis a čtení do/z fronty)
VíceHomer. prvky. délka. přední 0 zadní 4. Použití fronty BUS STOP. 3 Lisa. 2 Bart. 4 Maggie. 1 Marge. Grafické znázornění předchozí animace:
Fronta Fronta je sekvence first-in-first-out (první do fronty první z fronty) prvků. Prvky mohou být vkládány pouze nakonec (rear) fronty a odstraňovány pouze zpočátku (front) fronty Délka fronty je počet
VíceOperační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové
Operační systémy Tomáš Hudec 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu, 6.1.1 Obědvající filosofové, 6.1.2 Producenti a konzumenti, 6.1.3 Problém spících holičů, 6.1.4 Problém pisatelů
VícePRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ. Dominik Fišer, Jiří Schejbal http://www.doser.cz
PRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ (c) Dominik Fišer, Jiří Schejbal 2009 Dominik Fišer, Jiří Schejbal http://www.doser.cz Obsah část 1 přednáší Dominik Fišer Co je to Précis?
VíceInterpret jazyka IFJ2011
Dokumentace projektu Interpret jazyka IFJ2011 Tým číslo 093, varianta b/3/i: 20 % bodů: Cupák Michal (xcupak04) vedoucí týmu 20 % bodů: Číž Miloslav (xcizmi00) 20 % bodů: Černá Tereza (xcerna01) 20 % bodů:
VíceTest 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
VíceCvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;
Cvičení 9 - Monitory na rozdíl od semaforů je monitor jazyková konstrukce monitor = Pascalský blok podobný proceduře nebo fci uvnitř monitoru jsou definovány proměnné, procedury a fce proměnné monitoru
VíceÚvod do simulace - 1
Tento materiál vznikl jako součást projektu, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR. Úvod do simulace - 1 Technická univerzita v Liberci Simulace výrobních systémů 14.11.2012
VíceKMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d
KMA/PDB Prostorové spojení Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Obsah Prostorové spojení pomocí hnízděných cyklů. Prostorové spojení pomocí R-stromů.
VíceJarníkův algoritmus. Obsah. Popis
1 z 6 28/05/2015 11:44 Jarníkův algoritmus Z Wikipedie, otevřené encyklopedie Jarníkův algoritmus (v zahraničí známý jako Primův algoritmus) je v teorii grafů algoritmus hledající minimální kostru ohodnoceného
VíceSynchronizace Mgr. Josef Horálek
Synchronizace Mgr. Josef Horálek Synchronizace procesu = Kooperující proces je proces, který může ovlivnit nebo být ovlivněn jiným procesem právě spuštěným v systému = Spolupracující procesy mohou sdílet:
VíceIB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)
IB108 Sada 1, Příklad 1 ( ) Složitost třídícího algoritmu 1/-Sort je v O n log O (n.71 ). Necht n = j i (velikost pole, které je vstupním parametrem funkce 1/-Sort). Lehce spočítáme, že velikost pole předávaná
VíceHranová 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
Více1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1
1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1. Prvocisla: Kratky ukazkovy priklad na demonstraci baliku WEB. Nasledujici program slouzi pouze jako ukazka nekterych moznosti a sluzeb,
VíceZá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íceOperační systémy. Přednáška 4: Komunikace mezi procesy
Operační systémy Přednáška 4: Komunikace mezi procesy 1 Časově závislé chyby Dva nebo několik procesů používá (čte/zapisuje) společné sdílené prostředky (např. sdílená paměť, sdílení proměnné, sdílené
VíceMartin Milata, <256615@mail.muni.cz> 27.11.2007. Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už je od
IB000 Lámání čokolády Martin Milata, 27.11.2007 1 Čokoláda s alespoň jedním sudým rozměrem Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už
VíceEvoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi
Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function
VíceAbstraktní datové typy FRONTA
Abstraktní datové typy FRONTA Fronta je lineární datová struktura tzn., že ke každému prvku s výjimkou posledního náleží jeden následník a ke každému prvku s výjimkou prvního náleží jeden předchůdce. Do
VíceDistribuované systémy a výpočty
Distribuované systémy a výpočty 9 Jan Janeček Czech Technical University in Prague c Jan Janeček, 2011 MI-DSV, SS 2011/12 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Jan Janeček
VíceUmělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize 2000 - Joseph Weizenbaum
Umělá inteligence UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI 1943-56 začátky (modelování neuronů a sítí na počítači) 1952-69 velká očekávání (GPS, Lisp, microworlds) 1966-74
VícePascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
VíceKatedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna 2009. Filip Železný (ČVUT) Vytěžování dat 9.
Vytěžování dat Filip Železný Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna 2009 Filip Železný (ČVUT) Vytěžování dat 9. dubna 2009 1 / 22 Rozhodovací pravidla Strom lze převést
VíceNPRG051 Pokročilé programování v C /17 Úkol 2
NPRG051 Pokročilé programování v C++ 2016/17 Úkol 2 Téma Async I/O B-Tree server Motivace Typická databáze: stromové indexy výkon odvozený od rychlosti disku rychlosti synchronizace při paralelním přístupu
VícePB161 6. přednáška (26. října 2015)
PB161 6. přednáška (26. října 2015) Standardní knihovna C++ obsahuje řadu částí, některé už jsme viděli (strings, I/O streams) mimo jiné obsahuje i knihovní funkce ze standardní knihovny jazyka C jiné
VíceFronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4
Fronta (Queue) Ú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 Fronta uplatňuje mechanismus přístupu FIFO first
VíceAnotace. Dynamické programování, diskrétní simulace.
Anotace Dynamické programování, diskrétní simulace. Problémy, které byly Přednášející jde tentokrát do M1, počet platných uzávorkování pomocí n párů závorek, počet rozkladů přirozeného čísla na součet
VícePříklad aplikace Klient/Server s Boss/Worker modelem (informativní)
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2
VíceProcesy a vlákna - synchronizace
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody
VíceParalelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 17 Monitor Semafor vedle aktivní (čekací smyčka, busy-wait) i pasivní implementace
VícePL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk
VíceKoncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.
p 1 Koncepce DMA Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW. Čekání na připravenost V/V Přenos paměť V/V nebo V/V paměť Posun pointeru
VíceZáklady topologie a komunikace sítí LAN
Sítě podle rozsahu Local Area Network LAN v jedné nebo několika sousedních budovách. V rámci budovy se používá strukturovaná kabeláž kombinují UTP kabely a optické kabely. Pro spojování budov se používají
VíceSměrovací protokoly, propojování sítí
Směrovací protokoly, propojování sítí RNDr. Ing. Vladimir Smotlacha, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Vladimír Smotlacha, 2011 Počítačové
VíceSouhrn Apendixu A doporučení VHDL
Fakulta elektrotechniky a informatiky Univerzita Pardubice Souhrn Apendixu A doporučení VHDL Práce ke zkoušce z předmětu Programovatelné logické obvody Jméno: Jiří Paar Datum: 17. 2. 2010 Poznámka k jazyku
VíceMQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Část 2
MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Část 2 Vítejte v šesté lekci mého kurzu MQL 4. Doufám, že se vám předchozí lekce líbily. V předchozí lekci jsme se bavili o smyčkách.
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
VícePRG036 Technologie XML
PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu
VíceIII/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceProgramovací 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
VíceIB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada
IB015 Neimperativní programování Časová složitost, Typové třídy, Moduly Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 07 str. 2/37 Časová složitost Časová složitost algoritmu IB015
VíceKapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)
- 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje
VíceSada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 17. Řadící algoritmy Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2
VíceInformatika Algoritmy
Informatika Algoritmy Radim Farana Podklady předmětu Informatika pro akademický rok 2010/2011 Obsah Algoritmus. Vlastnosti algoritmu. Popis algoritmu. Hodnocení algoritmů. Příklady algoritmů. Algoritmus
Vícepřirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:
Metody řazení ve vnitřní a vnější paměti. Algoritmy řazení výběrem, vkládáním a zaměňováním. Heapsort, Shell-sort, Radix-sort, Quicksort. Řazení sekvenčních souborů. Řazení souborů s přímým přístupem.
Víceš Á š š ů š ý š Č Š Č ň ý ž ů ý ž ů Č ý ž ú Ň Š Í š ý ú ý š š š ý š š š š ý š š š Ů š š š š ý ů ů š ý ň š š š ž ů ň š ž ž ň ý ž š ý ý š ý š ý ú ů ž ý š ž š ú ú š ý ň ň š ý š š š Ú ú š ý ů š š š š š š š
VíceSQL tříhodnotová logika
SQL tříhodnotová logika Jmeno Prijmeni Student Jaroslav Novák true Josef Novotný false Jiří Brabenec SELECT * FROM OSOBA WHERE Student!= true Jaký bude výsledek? SQL tříhodnotová logika Jmeno Prijmeni
VíceAlgoritmus Minimax. Tomáš Kühr. Projektový seminář 1
Projektový seminář 1 Základní pojmy Tah = přemístění figury hráče na tahu odpovídající pravidlům dané hry. Při tahu může být manipulováno i s figurami soupeře, pokud to odpovídá pravidlům hry (např. odstranění
VíceNPRG030 Programování I, 2016/17 1 / :58:13
NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování
VíceDefinice uživatelského typu. Uživatelem definované typy. Součinové datové typy. Součtové datové typy. FLP - Uživatelem definované typy
Uživatelem definované typy Ing. Lumír Návrat katedra informatiky, A 1018 59 732 3252 Definice uživatelského typu data Color = Red Green Blue Color typový konstruktor Red / Green / Blue datové konstruktory
VíceSoftware je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém
Software Co je to software? Software je ve světě IT vše, co není Hardware Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Podívejme se tedy na jednotlivé
VíceDijkstrův algoritmus (připomenutí)
Dijkstrův algoritmus (připomenutí) Základní předpoklad w : H R + (nezáporné délky hran) Upravený algoritmus prohledávání do šířky Dijkstra(G,s,w) 1 InitPaths(G,s) 2 S:= ; InitQueue(Q) 3 for každý uzel
VíceTGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
VícePísemná zpráva zadavatele
Zadavatel Úřední název zadavatele: Česká republika - Úřad vlády České republiky : 00006599 podnikání: nábř. E. Beneše 128/4 118 01 Praha 1 Osoba oprávněná jednat jménem či za zadavatele: Lenka Dynterová
VíceDigitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.
Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Realizace kombinačních logických funkcí Realizace kombinační logické funkce = sestavení zapojení obvodu, který ze vstupních proměnných vytvoří výstupní proměnné
Více5 Rekurze a zásobník. Rekurzivní volání metody
5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
Vícezswi/pc-testování.d 10. května 2003 1
zswi/pc-testování.d 10. května 2003 1 White-box testování ------------------- * white-box testování = využíváme znalost implementace - obvykle se používá pro testování relativně malých částí programu,
VíceMatice sousednosti NG
Matice sousednosti NG V = [ v ij ] celočíselná čtvercová matice řádu U v ij = ρ -1 ( [u i, u j ] )... tedy počet hran mezi u i a u j?jaké vlastnosti má matice sousednosti?? Smyčky, rovnoběžné hrany? V
VícePočítačové šachy. Otakar Trunda
Počítačové šachy Otakar Trunda Hraní her obecně Hra je definovaná pomocí: Počáteční situace Funkce vracející množinu přípustných tahů v každé situaci Ohodnocení koncových stavů Našim cílem je najít strategii
VícePES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000. 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1
PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1 PESlib Popis knihoven PASCAL a C 03.2000 2. verze dokumentu Zmìny a doplòky proti 1.
VíceÚ ť ť ť ó é ý ý ú é ý é ý é é Í é Š š š Í é ó é é Í š Ž ý Ž š é ý Ž ď é Ž é š é š Í é ď Ž é é ý Ž Í é é š ý é š š ů Í ý š ú ň ú š ý ý š ú Č ý ů ý ů š é ú Ž é ů é š ý é é é é ý š ú ó ý é ý é ýš ý Í ý é
VíceAlgoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
VíceHledáme efektivní řešení úloh na grafu
Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy
Vícewww.vscht.cz KOMUNIKACE a REPORTING Zkušenosti z VŠCHT Praha
www.vscht.cz KOMUNIKACE a REPORTING Zkušenosti z VŠCHT Praha Projekty řešené na VŠCHT Praha 6.RP 23 projektů z toho: IP 10 projektů STREP 7 projektů NoE 2 projekty SSA 2 projekty Marie Curie 2 projekty
VíceFilr 2.0 Uživatelská příručka k aplikaci Filr Web. Únor 2016
Filr 2.0 Uživatelská příručka k aplikaci Filr Web Únor 2016 Právní vyrozumění Informace o právních upozorněních, ochranných známkách, prohlášeních o omezení odpovědnosti, zárukách, omezeních exportu a
VíceVyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha
Vyhodnocování dotazů slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Časová a prostorová složitost Jako dlouho trvá dotaz? CPU (cena je malá; snižuje se; těžko odhadnutelná)
Více8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
VíceProcesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication) České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace
VíceČ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á
VíceLineární datové struktury
Lineární datové struktury doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 5. března 2019 Jiří Dvorský (VŠB TUO) Lineární datové
Vícebfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 19. září 2017 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
VíceParalelní 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)
VíceALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky
LG 04 Zásobník Fronta Operace nqueue, equeue, Front, mpty... yklická implementace fronty Průchod stromem do šířky Grafy průchod grafem do šířky průchod grafem do hloubky Ořezávání a heuristiky 1 Zásobník
VíceIV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat
IV113 Validace a verifikace Převod LTL formule na Büchi automat Jiří Barnat Připomenutí IV113 úvod do validace a verifikace: LTL BA str. 2/26 Problém Kripkeho struktura M LTL formule ϕ M = ϕ? Řešení pomocí
VíceDistribuované systémy poznámky k přednášce (založeno na Tel G., Introduction to distributed algorithms.)
Distribuované systémy poznámky k přednášce (založeno na Tel G., Introduction to distributed algorithms.) KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Distribuovaný systém Neformálně Množina procesů,
VíceProblém identity instancí asociačních tříd
Problém identity instancí asociačních tříd Autor RNDr. Ilja Kraval Ve školeních a také následně po jejich ukončení se stále častěji objevují dotazy, které se týkají tzv. identity instancí asociační třídy.
VíceORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ
ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2/2, Lekce Evropský sociální fond Praha & EU: Investujeme
VíceKomunikace eorders. aegis. aegis.cz. Konference Common 2009 Malá Fatra. Evžen Kučera
Komunikace eorders Konference Common 2009 Malá Fatra Evžen Kučera Obsah Požadavky na komunikaci Aegis utility Systém Programové Komunikační Nadstavba pro LeasePlan Kontrola komunikací Další rozvoj Požadavky
VíceSpojový seznam. Jan Kybic.
Spojový seznam Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 25 Složitost operací u lineárních datových struktur v Pythonu operace zásob. fronta pole pole řetězce přidej na začátek
Vícebfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
VíceZákladní datové struktury
Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013
VíceNPRG030 Programování I, 2010/11
Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou
VíceUživatelská dokumentace
Uživatelská dokumentace k projektu Czech POINT Provozní řád Vyřízení reklamace obdržení přístupových údajů do datové schránky Vytvořeno dne: 20.1.2010 Aktualizováno: 8.2.2011 Verze: 1.2 2009 MVČR Obsah
VícePoužití dalších heuristik
Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),
VíceParalelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 16 Semafory Await synchronizace používající await běží na železe = využívají
Více