Základní úrovně: Moorův zákon: multi-core mikroprocesory (CPU) hypertherading pipeline many-core Paralelní systém Instrukce iterace procedura Proces

Rozměr: px
Začít zobrazení ze stránky:

Download "Základní úrovně: Moorův zákon: multi-core mikroprocesory (CPU) hypertherading pipeline many-core Paralelní systém Instrukce iterace procedura Proces"

Transkript

1 Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf...) zvýšení výkonu, redundance, jiné cíle, ale podobné nástroje a problémy. Moorův zákon: Počet tranzistorů/komponent, které lze levně integrovat se zdvojnásobí každý rok. Spíše pravidlo ( strategie intelu). multi-core mikroprocesory (CPU) - zrychlování sekvenčních programů, rozsáhlé univerzální instrukční soubory hypertherading s dvěma a více vlákny zajištění vícevláknového paralelního zpracování strojových instrukcí 1 Fyzické jádro se tváří jako více logických pipeline zřetězení procesů (překrývání), instrukce je rozdělena do více částí procesoru -> více činností. (vyzvednutí instrukce, dekódování instrukce, provedení instrukce, čtení z paměti, zápis výsledku do paměti) many-core mikroprocesory (GPU) - zvyšování propustnosti (throughput) stovky jader, stovky vláken, zaměřeno na floating-point operace Paralelní systém systém, ve kterém může probíhat několik procesů/činností současně Instrukce = příkaz, iterace = opakování, procedura = sekvence instrukcí Proces = kolekce vláken, společný kód + data Vlákno = instance kódu + dat a stav zásobníku + registrů. Vlákna sdílejí pamět -> komunikace Úloha = aplikace? Procesor kolekce jader jádro (core) čip + paměť + řadič vykonávající jedno vlákno multithreaded-core jádro schopné spustit více vláken multiprocesor = procesor s kolekcí multithread-jader Flynnova klasifikace systému Single Instruction, Single Data stream (SISD) data jsou zpracovávána výhradně sériově, instrukce jsou prováděny sériově, stačí jeden CPU, řídicí jednotky klasický von Neumannův počítač Single Instruction, Multiple Data streams (SIMD) - Jedná instrukce se provádí na více datech. Více CPU provádí stejnou instrukci s jinými daty -Typické GPU proc- maticové procesory, array/matrix esor

2 Multiple Instruction, Single Data stream (MISD) - jedna data jsou předávána více instrukcím více CPU, každý zpracovává data v jiné fázi výrobní linka umělá kategorie - není to pipelining Multiple Single Instruction stream, Multiple Data stream (MSIMD) několik propojených SIMD Same Program, Multiple Data stream (SPMD) každý procesor provádí stejný program, využívají se běžné CPU

3 Multiple Instruction, Multiple Data streams (MIMD) - Různá CPU mohou provádět různé operace - různá CPU pracují s jinými daty Moderní počítače, Distribuované systémy, HW virtualizace, Grid Komunikace výměna dat mezi paralelně probíhajícími procesy Synchronizace koordinace vláken, provádění příkazů v požadovaném pořadí. Kontrolovaný přístup ke sdíleným zdrojům (paměť). Režie (overhead) paralelismu čas spotřebovaný na komunikaci čas spotřebovaný na synchronizaci a výměnu dat ostatní režie (knihovny, spuštění, zastavení) Škálovatelnost (scalability) míra růstu výkonosti s růstem paralelismu zefektivnění algoritmu s přidáváním paralelizmu Amdahlův zákon předpovězení teoretického maximálního zrychlení při přidávání dalších procesorů. f s f p = 1 f s podíl programu, který nelze paralelizovat f p podíl programu, který lze paralelizovat t celková doba výpočtu p počet procesorů t 1 S z = t f s + t f p p = 1 f p + f p p Možnosti paralelizace Nízko úrovňové (fine grained) pipelining, multithreading, a podobné vychytávky Vyšší úroveň

4 použití více jader / procesorů - pod 60% f p zcela nezajímavé paralelizace algoritmu zvyšujeme f p - využití speciálního HW (GPU) preemptivní multitasking operační systém přiděluje procesorový čas běžícím vláknům/procesům, v pravidelných časových intervalech (řádově x za vteřinu) uspává/probouzí vlákna -> běžící procesy se střídají Serializace - zajištění posloupnosti událostí události se provedou sekvenčně, pokud je zaručeno pořadí jejich provedení události se provedou souběžně, pokud se mohou provést ve stejný čas nebo v různém pořadí souběžně se provádí něco, o čem z kódu nedokážeme říct, který řádek se provede dřív Mutual exclusion vzájemné vyloučení mutex = semaphore(1) Semafor programová struktura, která se hodí pro synchronizaci při vytvoření se nastaví počáteční hodnota, při průchodu se sníží o 1 pokud je hodnota záporná pak se vlákno uspí (will block) pokud se hodnota semaforu zvýší na 0, pak je některé ze spících vláken probuzeno (wake-up) u standardního semaforu nevíme, které vlákno bude probuzeno aktuální hodnotu semaforu nelze zjistit stav semaforu je neurčitý semafor je atomický vlákno buď projde, nebo neprojde hodnota semaforu = počet propustek binární semafor = jedna propustka = mutex může existovat férový semafor, který probudí nejstarší vlákno- zabraňuje stárnutí - u pracovních vláken není moc žádoucí průchod semaforem semafor = semaphore(0) wait() = acquire() = decrement() signal() = release() = increment() bariéra symetrické rendezvous pro libovolný počet vláken všechna vlákna musí počkat, než projdou bodem setkání po příchodu posledního vlákna mohou všichni pokračovat dál realizace n vláken poslední vlákno otevře bariéru praktické využití pracovní vlákna po dokončení práce se výsledky spojí rozdá se nová práce spouští se v cyklu potřebujeme bariéru, kterou lze znovu použít wait v kritické sekci (uvnitř mutexu) je nepoužitelný turniket bod, kterým vlákna prochází po jednom, ale bez zdržení kdy funguje? n=počet vláken kdy nefunguje? předbíhání procesů

5 mutex = semaphore(1) barrier = semaphore(0) count = count + 1 if count == n barrier.signal() barrier.wait() //přidáním barrier.signal() je turniket Bariéra další řešení count = count + 1 if count == n turnstile.signal(n) turnstile.wait() /* process */ count = count 1 if count == 0 turnstile2.signal(n); turnstile2.wait() Fronta - 2 varianty a) smí pokračovat v párech danou činnost může vyvíjet n vláken současně, ale budou stejné počty stejných typů b) musí pokračovat v párech tj. danou činnost smí vyvíjet pouze dvě vlákna současně Producent konzument více producentů více konzumentů sdílená paměť buffer konzument odebírá data z paměti k paměti může přistupovat pouze jeden čtení i zápis je exkluzivní Reálně má buffer konečnou kapacitu v případě producent2 ani neznáme aktuální obsazení bufferu pokud je buffer plný, musí producenti čekat na uvolnění pokud je buffer prázdný, musí konzumenti čekat na naplnění mutex = semaphore(1) items = semaphore(0) Producet data = obtaindata() buffer.push(data)

6 items.signal() Konzument items.wait() data = buffer.pop() processdata(data) Obměna jeden semafor hlídá stav zásobníku Producent data = obtaindata() spaces.wait() buffer.push(data) items.signal() Konzument items.wait() data = buffer.pop() spaces.signal() processdata(data) Čtenáři písaři více konzumentů více producentů konzument neodebírá data z paměti čtení se může provádět souběžně zápis vylučuje čtení a naopak ale od každého může být více instancí kategorické vyloučení Písař roomempty.wait() writedata() roomempty.signal() Čtenář readers = readers + 1 if readers == 1 roomempty.wait() readdata() readers = readers 1 if readers == 0 roomempty.signal()

7 poslední odejde a zhasne lock() unlock() vzor lightswitch písaři stárnou pokud stále přichází čtenáři, je potřeba zajistit, aby se dostalo i na písaře v algoritmu je implicitně zavedená priorita velmi zrádné není vidět na první pohled Písař turnstile.wait() roomempty.wait() writedata() turnstile.signal() roomempty.signal() Čtenář turnstile.wait() turnstile.signal() readers = readers + 1 if readers == 1 roomempty.wait() readdata() readers = readers 1 if readers == 0 roomempty.signal() CUDA - Compute Unified Device Architecture Platforma pro paralelizované výpočty na GPU Každá shader je jednotka schopná provádět jakýkoliv výpočetní úkol paměti Paměti cuda Registry extrémně rychlé,přístupné jednotlivými vlákny Sdílená paměť extrémně rychlá, vysoce paralelní, dostupná pro jednotlivé bloky Globální paměť dostupná pro všechny, pomalá ( cyklů), nevhodná pro přístup z vláken Konstantní paměť readonly, rychlá odezva a velká propustnost Bloky a vlákna Vlákna jsou sjednocovány do bloků - možnost 1D, 2D, 3D indexace Blok je spouštěn a na mutiprocesoru Bloky čekají ve frontě ke zpracování na dostupných multiprocesorech Bloky vykonávají stejný kernel Identifikace vlákna: interní proměnná threadidx

8 Mřížka a bloky Bloky vláken jsou sjednocenydo mřížky Každá mřížka (Grid) může spouštět rozdílné kernely Mřížka > Blok > Vlákno Identifikace vlákna ve vícerozměrném bloku : threadidx.x threadidx.y threadidx.z Identifikace bloku: interní proměnná blockidx (blockidx.{x,y}) CUDA příklad Zpracování obrázku 1024 x 1024 px Potřebujeme vláken Stanovíme rozměr Bloku na 16 x vláken Potřebujeme 4096 bloků ((1024x1024) / 256 ) Vytvoříme 2D mřížku (64 x 64 bloků)

9 CUDA škálování Rozložení stejného výpočtu na různých GPU s různým počtem multiprocesorů automatické MUTEX ochrana kritické sekce Stručně vysvětlete pojem "preemptivní multitasking". Čím je významný pro paralelizaci? - běžící procesy se střídají, operační systém přiděluje procesorový čas běžícím vláknům/procesům, v pravidelných časových intervalech (řádově x za vteřinu) uspává/probouzí vlákna. Umožňuje běh více-procesů (vláken) na 1-dno jádrovém CPU Vysvětlete pojem "pipelining". - zřetězení (překrývání) strojových instrukcí, instrukce je rozdělena mezi více částí procesoru -> více instrukcí najednou (minimálně 2 úseky) Vysvetlete pojem "scalability" (škálovatelnost) paralelního systému. -míra růstu výkonosti s růstem paralelismu zefektivnění algoritmu s přidáváním paralelizmu Vysvetlete pojem "uváznutí". Jak muže vzniknout? -tzv deadlock je situace, kdy jedno vlákno čeká na dokončení činnosti jiného vlákna, které čeká na dokončení činnosti vlákna prvního vzájemné zablokování Vysvětlete pojem "atomičnost". Jakým způsobem je možné ji zajistit? - atomická operace se provede celá najednou nebo vůbec. Zajišt uje konzistenci dat. Dosáhneme jí vzájemným vylučením (mutex) Co jsou to "synchronizační pravidla". Uveďte konkrétní příklad. omezení pro koordinaci procesů musí se zajistit přístup ke globálním proměnným (nelze číst a zapisovat zároveň) musí se vyvarovat deadlock musí se vymyslet, synchronizační vzory. Vysvětlete pojem "stárnutí". Jak může vzniknout? Když vlákno čeká na zpracování tak stárne, vzniká u vláken s prioritou, kdy prioritnější vlákno předbíhá méně prioritní. Vysvětlete pojem "synchronizace". koordinace vláken - provádění příkazů v požadovaném pořadí. Kontrolovaný přístup ke sdíleným zdrojům (paměť). Vysvětlete pojem "serializace". zajištění posloupnosti událostí události se provedou sekvenčně, pokud je zaručeno pořadí jejich provedení události se provedou souběžně, pokud se mohou provést ve stejný čas nebo v různém pořadí souběžně se provádí něco, o čem z kódu nedokážeme říct, který řádek se provede dřív Vysvětlete, jakým způsobem se implementují cykly při použití architektury CUDA. na GPU (takže i CUDA) nejsou FOR cykly

10 Zjistím, kolik je potřeba udělat operací a podle toho vytvořím počet vláken -> bloky -> mřížku, poté každé vlákno vykonává danou operaci Vlákno se identifikuje podle souřadnic, jsou provedena všechna vlákna. K čemu je užitečný Amdahlův zákon? (Jaké jsou pohledy na funkcní závislost Amdahlova zákona? Co z nich lze zjistit?) předpovězení teoretického maximálního zrychlení při přidávání dalších procesorů. f s f p = 1 f s podíl programu, který nelze paralelizovat f p podíl programu, který lze paralelizovat t celková doba výpočtu p počet procesorů t 1 S z = t f s + t f = p p 1 f p + f p p Výkon X počet jader -> objem zlepšení Vysvětlete pojem "kernel" v souvislosti s architekturou CUDA. Je to kód pro GPU, který využívá HW zdroje k provádění operací. Mřížky mohou spouštět rozdílné kernely, ale bloky v rámci 1 mřížky vykonávají stejný kernel. Vysvětlete princip rozkladu a škálování práce na procesory pri použítí architektury CUDA. 1 operace = vlákno organizovaná do bloků > mřížka. Bloky čekají ve frontě ke zpracování na dostupných multiprocesorech -> čím víc multiprocesrů k dispozici tím víc bloků běží paralelně. Rozložení stejného výpočtu na GPU s různým počtem multiprocesorů automatické. Popište systém typu MIMD (pocet výpocetních jednotek (PU), prístup PU k instrukcím a k datum, uveďte príklad reálného systému z této kategorie) Různá PU mohou provádět různé operace - různá PU pracují s jinými daty. Moderní počítače, Distribuované systémy, HW virtualizace Vysvětlete podstatu synchronizačního vzoru "bariéra" a uveďte příklad reálného problému, při jehož řešení se tento vzor použije. Synchronní schůzka pro libovolný počet vláken. Bariéra zajistí, aby vlákna došla do bodu setkání, a všechny je propustí s příchodem vlákna posledního. Například večeře x lidí, řekněme, že se sejdou v restauraci, ale objednají si, až přijde poslední. Vysvětlete pojmy: mřížka, blok, vlákno v souvislosti s GPU architekturou CUDA. V rámci GPU provádí vlákno jednu operaci (spouští kernel), vlákna jsou organizována do bloků (1D, 2D, 3D) a indexovány, v rámci bloku sdílejí paměť. Bloky jsou organizovány do mřížky (o5 1D, 2D, 3D) a indexovány indexem v rámci mřížky Overhead režie paral. systému čas spotřebovaný na komunikaci čas spotřebovaný na synchronizaci a výměnu dat ostatní režie (knihovny, spuštění, zastavení) Rozhodnout zda má smysl paralelizovat algoritmus

11 Časová složitost výpočtu musí být vyšší než časová složitost komunikace, jinak nemá cenu zpracovávat na dvou procesorech. (1003) Následující pseudokód se snaží implementovat jednoduchou bariéru, která není znovupoužitelná: // Main mutex = Semaphore(1) barrier = Semaphore(0) count = 0 // Thread count = count + 1 if count == num_threads() { barrier.signal() } barrier.wait() Za jakých okolností tento kód bude fungovat? Za jakých okolností tento kód nebude fungovat? Uveďte, jaké chyby se v kódu vyskytují. a. n se musí rovnat počtu vláken, jinak to nebude fungovat b. Pokud alespoň jedno vlákno někde vytuhne, tak nastane deadlock c. Přidal bych mutex na if count == num_threads() Napište kód, který demonstruje implementaci serializace s využitím semaforu. K čemu je tento kód užitečný? (zdrojový kód můžete psát v lib. jazyce nebo i pseudokódu, jde o synchronizační vzor, nejde o to, aby to šlo spustit). Asi priklad jak semafor pouzit aby 2 vlakna delali něco zaroven, po sobe Napište kód, který demonstruje implementaci producenta a konzumenta s využitím semaforu. K cemu je tento kód užitecný? 2 typy prycovních vláken. Jedno vlákno generuje data, druhé je zpracovává //main Mutex = semaphore (1) items=semaphore(0) buffer = new qeue() //producent data = obtaindata() buffer.push(data) items.signal() mutex.signal

12 //consument Items.wait() Mutex.wait() Item = data.pop() Mutex.signal() processdata(item) Napište kód, který demonstruje implementaci mutexu s využitím semaforu. K čemu je tento kód užitečný? Vzájemné vyloučení- zamezí přístupu dalším vláknum do kritické sekce v okamžiku, když s ní pracuje některé vlákno Mutex = semaphore(1) //thread Mutex.wait() //critical section Count = count +1 Mutex.signal))

OPS Paralelní systémy, seznam pojmů, klasifikace

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

Více

Paralelní programování

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)

Více

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

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í

Více

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2 Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy

Více

Nvidia CUDA Paralelní programování na GPU

Nvidia CUDA Paralelní programování na GPU Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2014 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia

Více

Principy operačních systémů. Lekce 6: Synchronizace procesů

Principy 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íce

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

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í

Více

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více

4. Úvod do paralelismu, metody paralelizace

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.

Více

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška 1 Úvod do HW a OS. 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

Více

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

Paralelní programování

Paralelní programování Paralelní programování přednáška 3 Michal Krupka 1. března 2011 Michal Krupka (KI UP) Paralelní programování 1. března 2011 1 / 14 Ještě k atomickým proměnným Další neatomické proměnné Mohou to být proměnné,

Více

Architektura Intel Atom

Architektura Intel Atom Architektura Intel Atom Štěpán Sojka 5. prosince 2008 1 Úvod Hlavní rysem Atomu je podpora platformy x86, která umožňuje spouštět a běžně používat řadu let vyvíjené aplikace, na které jsou uživatelé zvyklí

Více

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty Paralení programování pro vícejádrové stroje s použitím OpenMP B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Vlákna a jejich synchronizace v C++ 11... 1 Minulé cvičení: Vlákna a jejich synchronizace

Více

Nvidia CUDA Paralelní programování na GPU

Nvidia CUDA Paralelní programování na GPU Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2017 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia

Více

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič Obecné výpočty na GPU v jazyce CUDA Jiří Filipovič Obsah přednášky motivace architektura GPU CUDA programovací model jaké algoritmy urychlovat na GPU? optimalizace Motivace Moorův zákon stále platí pro

Více

Paralelní programování

Paralelní 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

Procesy a vlákna - synchronizace

Procesy 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íce

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

Úvod do GPGPU J. Sloup, I. Šimeček

Úvod do GPGPU J. Sloup, I. Šimeček Úvod do GPGPU J. Sloup, I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.3 Příprava studijního programu

Více

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů Úvod: CHARAKTERISTIKA MODERNÍCH PENTIÍ Flynnova klasifikace paralelních systémů Paralelní systémy lze třídit z hlediska počtu toků instrukcí a počtu toků dat: SI systém s jedním tokem instrukcí (Single

Více

Pavel Procházka. 3. prosince 2014

Pavel Procházka. 3. prosince 2014 Jazyk C# (seminář 11) Pavel Procházka KMI 3. prosince 2014 Motivace Dnes už se prakticky nedělají jednojádrové procesory pokud potřebujeme výkon, musíme zapojit všechna jádra Často potřebujeme dělat více

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy

Více

Struktura počítačů z{kladní pojmy

Struktura počítačů z{kladní pojmy Struktura počítačů z{kladní pojmy Cíl kapitoly: Úkolem této kapitoly je rozšíření znalostí o skladbě počítačů a procesorů a umožnit studentům pochopit činnost počítače a procesoru během z{kladních operací

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 11 Literatura Ben-Ari M.: Principles of concurrent and distributed programming.

Více

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,

Více

Management procesu I Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více

Více

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce. Operační systémy Tomáš Hudec 7 Prostředky programovacích jazyků pro IPC Obsah: 7.1 Monitor, 7.1.1 Použití monitoru pro řízení přístupu do kritické sekce, 7.1.2 Použití monitoru pro synchronizaci, 7.1.3

Více

Charakteristika dalších verzí procesorů v PC

Charakteristika dalších verzí procesorů v PC Charakteristika dalších verzí procesorů v PC 1 Cíl přednášky Poukázat na principy tvorby architektur nových verzí personálních počítačů. Prezentovat aktuální pojmy. 2 Úvod Zvyšování výkonu cestou paralelizace

Více

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

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

Více

Operační systémy. Přednáška 1: Úvod

Operační systémy. Přednáška 1: Úvod Operační systémy Přednáška 1: Úvod 1 Organizace předmětu Přednášky každé úterý 18:00-19:30 v K1 Přednášející Jan Trdlička email: trdlicka@fel.cvut.z kancelář: K324 Cvičení pondělí, úterý, středa Informace

Více

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková

Více

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

Architektury paralelních počítačů I. Architektury paralelních počítačů I. Úvod, Koherence a konzistence u SMP Ing. Miloš Bečvář s použitím slajdů Prof. Ing. Pavla Tvrdíka, CSc. Osnova přednášky Typy paralelismu a jejich využití v arch. poč.

Více

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. Jiří Barnat

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. Jiří Barnat IB109 Návrh a implementace paralelních systémů Organizace kurzu a úvod Jiří Barnat Sekce IB109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/32 Organizace kurzu Organizace kurzu

Více

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat Paralelní systémy Paralelním systémem rozumíme takový systém, který paralelně zpracovává více samostatných úloh nebo zpracování určité úlohy automaticky rozdělí do menších částí a paralelně je zpracovává.

Více

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština) Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,

Více

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty Vlákna a přístup ke sdílené paměti B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Paralelizace nám může pomoct... 1 Minulé cvičení: Paralelizace nám může pomoct... B4B36PDV: Ale ne všechny

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Přednáška 5 GPU - CUDA Martin Milata Obsah Obecné výpočty a GPU Grafické procesory NVIDIA Tesla Výpočetní model Paměťový model GT200 Zpracování instrukcí Vydávání instrukcí

Více

Služba ve Windows. Služba (service) je program

Služba ve Windows. Služba (service) je program Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ 1) INFORMACE VE VÝPOČETNÍ TECHNICE 3 2) POČÍTAČOVÉ ARCHITEKTURY, POČÍTAČ JAKO ČÍSLICOVÝ STROJ 3 3) SIGNÁLY 3

Více

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy) Architektura a koncepce OS OS a HW (archos_hw) Aby fungoval OS s preemptivním multitaskingem, musí HW obsahovat: 1. (+2) přerušovací systém (interrupt system) 2. (+2) časovač Při používání DMA: 1. (+1)

Více

Ukázka zkouškové písemka OSY

Ukázka zkouškové písemka OSY Ukázka zkouškové písemka OSY Jméno a příjmení:.......................................... Odpovězte na otázky zaškrtnutím příslušného políčka. Otázky označené znakem mohou mít více než jednu správnou odpověď.

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor květen 2011 Jan Outrata (KI UP) Paralelní programování únor květen 2011 1 / 15 Simulátor konkurence abstrakce = libovolné proložení atom. akcí sekvenčních

Více

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

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

Více

Procesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication)

Procesy 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

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011 Operační systémy Správa procesoru Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 11. březen, 2011 Petr Krajča (UP) KMI/XOSY: Přednáška III. 11. březen, 2011 1 / 18 Procesy (1/2) neformálně:

Více

Operační systémy. Přednáška 4: Komunikace mezi procesy

Operač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íce

Paralelní architektury se sdílenou pamětí typu NUMA. NUMA architektury

Paralelní architektury se sdílenou pamětí typu NUMA. NUMA architektury Paralelní architektury se sdílenou pamětí typu NUMA NUMA architektury Multiprocesorové systémy s distribuovanou pamětí I. úzkým hrdlem multiprocesorů se sdílenou pamětí je datová komunikace s rostoucím

Více

Paralelní programování

Paralelní 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íce

Charakteristika dalších verzí procesorů Pentium

Charakteristika dalších verzí procesorů Pentium Charakteristika dalších verzí procesorů Pentium 1 Cíl přednášky Poukázat na principy architektur nových verzí typů Pentií. Prezentovat aktuální pojmy. 2 Úvod Paralelní systémy lze třídit z hlediska počtu

Více

Představení a vývoj architektur vektorových procesorů

Představení a vývoj architektur vektorových procesorů Představení a vývoj architektur vektorových procesorů Drong Lukáš Dro098 1 Obsah Úvod 3 Historie, současnost 3 Architektura 4 - pipelining 4 - Operace scatter a gather 4 - vektorové registry 4 - Řetězení

Více

Přidělování zdrojů (prostředků)

Přidělování zdrojů (prostředků) Přidělování zdrojů (prostředků) Proces potřebuje zdroje (prostředky) hardware (I/O zařízení, paměť) software (data, programy) Klasifikace zdrojů (z hlediska multitaskingového režimu) Násobně použitelné

Více

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.

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. 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íce

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Paralelní programování

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Paralelní programování Tomáš Foltýnek foltynek@pef.mendelu.cz Paralelní programování strana 2 Opakování Co je to síť? Co je to tok? Co je to velikost toku? Co je to řez? Co je to velikost řezu? Jaký je vztah mezi velikostí toku

Více

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software. Maturitní témata IKT, školní rok 2017/18 1 Struktura osobního počítače Von Neumannova architektura: zakreslete, vysvětlete její smysl a popište, jakým způsobem se od ní běžné počítače odchylují. Osobní

Více

Úvod SISD. Sekvenční výpočty SIMD MIMD

Úvod SISD. Sekvenční výpočty SIMD MIMD Úvod SISD Single instruction single data stream Sekvenční výpočty MISD 1. Přednáška Historie Multiple instruction single data stream SIMD Single instruction multiple data stream MIMD Multiple instruction

Více

Synchronizace Mgr. Josef Horálek

Synchronizace 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íce

GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze

GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze GPGPU Jan Faigl Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze 8. cvičení katedra kybernetiky, FEL, ČVUT v Praze X33PTE - Programovací techniky GPGPU 1

Více

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 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ž

Více

Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně

Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně Úvod do problematiky návrhu počítačových systémů INP 2008 FIT VUT v Brně Čím se budeme zabývat Budou nás zejména zajímat jednoprocesorové číslicové počítače: Funkce počítače Struktura propojení funkčních

Více

Využijte plný výkon procesorů s více jádry v LabVIEW 8.5

Využijte plný výkon procesorů s více jádry v LabVIEW 8.5 Využijte plný výkon procesorů s více jádry v LabVIEW 8.5 Rychlosti procesorů narazily během posledních let na strop. Mooreův zákon, který říká, že počet tranzistorů na čipu se zdvojnásobí každých 18 až

Více

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková

Více

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23 Operační systémy Správa procesoru Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, 2014 1 / 23 Procesy (1/2) neformálně: proces = běžící

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 3 CUDA - GPU Martin Milata Výpočetní model CUDA Organizace kódu Sériově organizovaný kód určený pro CPU Paralelní kód prováděný na GPU Označuje se jako kernel GPU

Více

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D. IB109 Návrh a implementace paralelních systémů Organizace kurzu a úvod RNDr. Jiří Barnat, Ph.D. Sekce B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/25 Organizace kurzu Organizace

Více

Vícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček

Vícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček Vícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.2

Více

Architektura procesorů PC shrnutí pojmů

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é

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Jana Kubcová Název

Více

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é

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é 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íce

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv

Více

Systém adresace paměti

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

Více

Jazykové konstrukce pro paralelní výpočty

Jazykové konstrukce pro paralelní výpočty Paralelismus se vyskytuje na: Jazykové konstrukce pro paralelní výpočty 1. Úrovni strojových instrukcí 2. Úrovni příkazů programovacího jazyka 3. Úrovni podprogramů 4. Úrovni programů Vývoj multiprocesorových

Více

Management procesu II Mgr. Josef Horálek

Management procesu II Mgr. Josef Horálek Management procesu II Mgr. Josef Horálek Vlákna = Vlákna (Threads) = proces je definován množinou zdrojů výpočetního systému, které používá a umístěním, kde je spuštěn; = vlákno (thread) nazýváme lehký

Více

Vzájemné vyloučení procesů

Vzá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íce

Architektury počítačů a procesorů

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í

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Principy počítačů a operačních systémů

Principy počítačů a operačních systémů Principy počítačů a operačních systémů Operační systémy Synchronizace procesů, zablokování Zimní semestr 2011/2012 Přístup ke sdíleným datům Terminologie: souběžné vs. paralelní zpracování Paralelní provádění

Více

13. Paralelní architektury SISD, SIMD, MISD, MIMD.

13. Paralelní architektury SISD, SIMD, MISD, MIMD. 13. Paralelní architektury SISD, SIMD, MISD, MIMD. Obsah 13. Paralelní architektury SISD, SIMD, MISD, MIMD.... 1 13.1 Základní koncepce paralelismu... 2 13.2 Rozdělení paralelních systému... 2 13.2.1 Flynnova

Více

CUDA J. Sloup a I. Šimeček

CUDA J. Sloup a I. Šimeček CUDA J. Sloup a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Predn.6 Příprava studijního programu Informatika

Více

Seznam zkušebních okruhů pro SZZ v bakalářském oboru Aplikovaná informatika

Seznam zkušebních okruhů pro SZZ v bakalářském oboru Aplikovaná informatika Seznam zkušebních okruhů pro SZZ v bakalářském oboru Aplikovaná informatika Předmět: Informační a komunikační technologie Skupina A 1. ARCH: Číselné soustavy, převody číselných soustav, základní operace

Více

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ Ing. Ivo Špička, Ph.D. Ostrava 2013 Ing. Ivo Špička, Ph.D. Vysoká škola báňská Technická univerzita Ostrava

Více

C2115 Praktický úvod do superpočítání

C2115 Praktický úvod do superpočítání C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137

Více

Optimalizace pro GPU hardware

Optimalizace pro GPU hardware Optimalizace pro GPU hardware Jiří Filipovič jaro 2015 Jiří Filipovič Optimalizace pro GPU hardware 1 / 52 Paralelismus GPU Paralelní algoritmy je nutno navrhovat vzhledem k paralelismu, který poskytuje

Více

REALIZACE SUPERPOČÍTAČE POMOCÍ GRAFICKÉ KARTY

REALIZACE SUPERPOČÍTAČE POMOCÍ GRAFICKÉ KARTY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS

Více

Řízení IO přenosů DMA řadičem

Ří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

Více

Pohled do nitra mikroprocesoru Josef Horálek

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á

Více

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA Literatura W.Stallings: Computer Organization & Architecture J.L.Hennessy, P.A.Patterson: Patterson: Computer Architecture: a Quantitative Approach

Více

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. 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í

Více

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ TITAN / HOPPER / NOTEBOOK TITAN HOPPER NOTEBOOK Počet CPU jader 299 008 153 216 2 Operační paměť [GB] 598 016 217 000 8 Počet GPU (CUDA) jader 50 233 344 0 8

Více

Paralelní programování

Paralelní programování Paralelní programování cvičení Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 13 Cvičení 1 Jazyk C POSIX Threads (UNIX) hlavičkový soubor pthread.h, knihovna

Více

Možnosti programování se sdílenými proměnnými. Týden 6 Programování se sdílenými proměnnými (Shared Variables, SV) Procesy a vlákna.

Možnosti programování se sdílenými proměnnými. Týden 6 Programování se sdílenými proměnnými (Shared Variables, SV) Procesy a vlákna. Možnosti programování se sdílenými proměnnými Týden 6 Programování se sdílenými proměnnými (Shared Variables, SV). Sekvenční jazyk + paralelizující kompilátor = zatím málo efektivní (implicitní paralelismus).

Více

Provádění instrukcí. procesorem. Základní model

Provádění instrukcí. procesorem. Základní model procesorem 1 Základní model Kód programu (instrukce) a data jsou uloženy ve vnější paměti. Procesor musí nejprve z paměti přečíst instrukci. Při provedení instrukce podle potřeby čte nebo zapisuje data

Více

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch ZOS 9. cvičení, ukázky kódu Pavel Bžoch Obsah Komunikace mezi procesy Atomické operace TSL a CAS Zámky Semafory Semafory vypsání věty Monitor Bariéra pomocí monitoru Implementace semaforu pomocí monitoru

Více

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

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

Více

Hlavní využití počítačů

Hlavní využití počítačů Úvod Hlavní využití počítačů Počítače jsou výkonné nástroje využívané pro zpracování dat. Provádějí: načtení a binární kódování dat provedení požadovaného výpočtu zobrazení výsledku Hlavní využití počítačů

Více

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba. Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je

Více

ZČU/FAV/KIV/PPR 1 Architektury paralelních počítačů, modely dekompozice výpočtu, interakce a výkonnost

ZČU/FAV/KIV/PPR 1 Architektury paralelních počítačů, modely dekompozice výpočtu, interakce a výkonnost Základní pojmy Program, programový kód o statický popis výpočetního postupu, tj. co bude počítač provádět o nemá stav Assembler o Překladač do strojového kódu cílového procesoru o I když formálně nesprávně,

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Přednáška 8 Multiprocesory vláknový paralelismus Martin Milata Obsah Paralelní architektury MIMD model Multi-jádrové a multi-vláknové procesory Klasterové řešení Sdílení

Více

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více