NPRG051 Pokročilé programování v C /17 Úkol 2

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

Download "NPRG051 Pokročilé programování v C /17 Úkol 2"

Transkript

1 NPRG051 Pokročilé programování v C /17 Úkol 2

2 Téma Async I/O B-Tree server

3 Motivace Typická databáze: stromové indexy výkon odvozený od rychlosti disku rychlosti synchronizace při paralelním přístupu zátěž CPU minimální

4 Motivace Typická databáze: stromové indexy B-trees kvůli šetření I/O výkon odvozený od rychlosti disku cca. O(h seek) rychlosti synchronizace při paralelním přístupu locking zátěž CPU minimální 1 CPU úplně stačí

5 Cíl Zadání: Server poskytující asynchronní přístup k základním operacím na B-stromě. 1 vlákno požadavky klientů budeme obsluhovat asynchronně

6 Asynchronní zpracování 1 Klienti Server Úložiště op 1 1 recv 2 2 recv op 2 ok 1 ok 2 poll poll poll

7 Implementace Jak na paralelní požadavky v jednom vláknu? event loop AIO Proč prostě nepoužít víc vláken?

8 Implementace Jak na paralelní požadavky v jednom vláknu? event loop AIO Proč prostě nepoužít víc vláken? Více vlákny nejde přidat prakticky žádná propustnost navíc bottleneck je jinde šetření systémových prostředků ruční scheduling je často lepší Synchronizační overhead! "poslouchat" může jen 1 vlákno nutnost zamykání při zapisování deadlocky...

9 Implementace Jak na paralelní požadavky v jednom vláknu? event loop AIO Proč prostě nepoužít víc vláken? Více vlákny nejde přidat prakticky žádná propustnost navíc bottleneck je jinde šetření systémových prostředků ruční scheduling je často lepší Synchronizační overhead! "poslouchat" může jen 1 vlákno nutnost zamykání při zapisování deadlocky... Tradiční motivace: C10K problém

10 Asynchronní zpracování Server: Klient: send(s, "get X"); reply = recv(s); for(;;) { active=poll(sockets); foreach(s in active) { req=recv(s); handle(req); } }

11 Asynchronní zpracování Server: Klient: send(s, "get X"); reply = recv(s); for(;;) { active=poll(sockets); foreach(s in active) { req=recv(s); handle(req); } }

12 Asynchronní zpracování Server: Klient: send(s, "get X"); reply = recv(s); for(;;) { active=poll(sockets); foreach(s in active) { req=recv(s); handle(req); } }

13 Asynchronní zpracování Server: Klient: send(s, "get X"); reply = recv(s); for(;;) { active=poll(sockets); foreach(s in active) { req=recv(s); handle(req); } }

14 Asynchronní zpracování Server: Klient: send(s, "get X"); reply = recv(s); for(;;) { active=poll(sockets); foreach(s in active) { req=recv(s); handle(req); } }

15 Podpora v OS Sockety: POSIX fcntl (fd, F_SETFL, O_NONBLOCK); poll(2); Windows ioctlsocket (fd, FIONBIO, &a); select(); Soubory: Linux/glibc aio(7) (!!!) UNIX aio(4) Windows OVERLAPPED portable Boost.Asio, libeio Pro účely DÚ a testování dodáme vlastní neškodný wrapper.

16 aio struct aiocb { int aio_fildes; off_t aio_offset; size_t aio_nbytes; void *aio_buf; struct sigevent aio_sigevent; //... }; aio_read(aiocb*); aio_write(aiocb*); aio_cancel(aiocb*); aio_suspend(aiocb**, n, timespec); aio_error(aiocb*); aio_return(aiocb*);

17 AdvC++AIO using IO=ACIO<...>; size_t block_size = IO::block_size; // == k*512 IO io("file.dat"); io.resize(10000); IO::op o(blockid, dataptr); io.read(&o); io.write(&o); io.poll(io_list, 1.5, false); io.finish(&o); IO::req req; io.recv_request(&req); req.value=12345; io.send_reply(&req); io.poll(io_list, 2.0, true);

18 Požadavky na funkcionalitu program implementuje B-strom chovající se stejně jako map<uint64_t, uint64_t>::operator[] požadavky od klientů: read req.type==io::req::read vstup: req.key výstup: req.value (default 0) write IO::req::write, 2 vstupy, výstup stejný erase IO::req::erase, výstup 0

19 Požadavky na funkcionalitu program implementuje B-strom chovající se stejně jako map<uint64_t, uint64_t>::operator[] požadavky od klientů: read req.type==io::req::read vstup: req.key výstup: req.value (default 0) write IO::req::write, 2 vstupy, výstup stejný erase IO::req::erase, výstup 0 potvrzená data musí být persistentní (!) pořadí odpovědí by mělo být konzistentní např.: write(10,5), write(10,6), read(10,5) je nutné zvládat obsloužit víc požadavků paralelně množství aktivních požadavků je vhodné umět omezit (!!)

20 Testování Prohlédněte si demo (slouží jako dokumentace) ACIO má 2 implementace mock in-memory s umělým zpožděním aio POSIX AIO, vhodná pro testování na větších datech Parametry klienta: frekvence a počet příchozích požadavků bursty

21 Odevzdávání V main.cpp doplňte svou implementaci do run_btree_server. Můžete přidat vlastní btserver.cpp a btserver.hpp. Odevzdejte do SISu.

22 Hodnocení správnost kvalita kódu implementace absence chyb správnost odpovědí klientovi přenositelnost (relativní) správně odevzdané soubory struktura formátování dokumentativní komentáře (!!) rychlost na mock implementaci schopnost omezit cache

23 Dotazy? Q&A

24 Dotazy? Dobré dotazy: Jak přežít request flood? K čemu to je? Q&A

25 Dotazy? Q&A Dobré dotazy: Jak přežít request flood? šetřit RAM K čemu to je? PostgreSQL?

C++ a vnitřní svět. David Bednárek Jakub Yaghob Filip Zavoral

C++ a vnitřní svět. David Bednárek Jakub Yaghob Filip Zavoral C++ a vnitřní svět David Bednárek Jakub Yaghob Filip Zavoral Vazby na OS Co není řešeno ISO normou Pokročilá práce se soubory Paměťově mapované soubory, asynchronní soubory Práce s adresáři Práce s procesy

Více

Open Source Programování

Open Source Programování Zpracování událostí Open Source Programování http://rtime.felk.cvut.cz/osp/ Pavel Píša http://cmp.felk.cvut.cz/~pisa Michal Sojka František Vacek DCE FEL ČVUT Copyright 2004 2010, Pavel

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

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro Ukázka doporučení z health checku zaměřeného na PERFORMANCE. Neobsahuje veškeré podkladové materiály, proto i obsah píše špatné odkazy. Healtcheck databáze ORCL běžící na serveru db.tomas-solar.com pro

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

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů 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

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

Paralelní dotazy v PostgreSQL 9.6 (a 10.0) Paralelní dotazy v PostgreSQL 9.6 (a 10.0) Tomáš Vondra tomas.vondra@2ndquadrant.com Prague PostgreSQL Developer Day 16. února, 2017 Agenda spojení vs. procesy v PostgreSQL využití zdrojů výhody, nevýhody,

Více

Brno. 30. května 2014

Brno. 30. května 2014 Brno 30. května 2014 1 IBM regionální zástupci - Morava Lubomír Korbel phone: +420 737 264 440 e-mail: lubomir_korbel@cz.ibm.com Dagmar Krejčíková phone: +420 737 264 334 e-mail: dagmar_krejcikova@cz.ibm.com

Více

NSS - Cache 5. LECTURE MARTIN TOMASEK

NSS - Cache 5. LECTURE MARTIN TOMASEK NSS - Cache 5. LECTURE MARTIN TOMASEK Cache mechanismus 1. Lze využít k: 1. Optimalizaci výkonu systému 2. Snížení náročností jednotlivých operací 3. Snížení náročností na jednotlivé vrstvy 4. Mitigaci

Více

FRED & PostgreSQL. CZ.NIC, z.s.p.o. Jaromír Talíř <jaromir.talir@nic.cz> 13. 2. 2008 http://www.nic.cz/ http://fred.nic.cz

FRED & PostgreSQL. CZ.NIC, z.s.p.o. Jaromír Talíř <jaromir.talir@nic.cz> 13. 2. 2008 http://www.nic.cz/ http://fred.nic.cz FRED & PostgreSQL CZ.NIC, z.s.p.o. Jaromír Talíř 13. 2. 2008 http://www.nic.cz/ http://fred.nic.cz 1 Obsah FRED co to je? Architektura systému, datový model, transakční model Komunikace

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

Komunikace v sítích TCP/IP (2)

Komunikace v sítích TCP/IP (2) České vysoké učení technické v Praze FAKULTA INFORMAČNÍCH TECHNOLOGIÍ katedra počítačových systémů Komunikace v sítích TCP/IP (2) Jiří Smítka jiri.smitka@fit.cvut.cz 25.2.2011 1/34 Opakování pojmů IP adresa

Více

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Struktura pamětí a procesů v DB Oracle. Radek Strnad Struktura pamětí a procesů v DB Oracle Radek Strnad radek.strnad@gmail.com 1 Základní rozdělení paměti Software codes area Chráněná část spustitelného kódu samotné DB. System global area (SGA) Sdílená

Více

PB071 Programování v jazyce C

PB071 Programování v jazyce C Programování v jazyce C POSIX Organizační Zápočtový příklad nanečisto v tomto týdnu na cvičeních, 60 minut (naostro proběhne 5-11.5., čtvrtkové odpadnuté cvičení 15.5.) Pro účast na zkoušce je nutné mít

Více

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13 Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace

Více

Bi-Direction Replication

Bi-Direction Replication Bi-Direction Replication P2D2 2015 Petr Jelínek, 2ndQuadrant (petr@2ndquadrant.com) BDR Bi-Directional Replication Je možné zapisovat na všech serverech Asynchronní Nízká latence (zápisu) Tolerance ke

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

C++ a vnější svět. David Bednárek Jakub Yaghob Filip Zavoral

C++ a vnější svět. David Bednárek Jakub Yaghob Filip Zavoral C++ a vnější svět David Bednárek Jakub Yaghob Filip Zavoral Databáze Připojení klienta Aplikace DB DB.LIB Databáze výběr a rozhraní Oracle OCI MS Server ODBC, OLE DB Sybase Open client PostgreSQL Vlastní

Více

Bezpečn č os o t t dat

Bezpečn č os o t t dat Bezpečnost dat Richard Biječek Samostatný pevný disk RAID (Redundant Array of Independent Disks) SW implementace (Dynamické disky) HW řešení (BIOS, Řadič disků) Externí disková pole iscsi Fiber Channel

Více

Principy operačních systémů. Lekce 7: Souborový systém

Principy operačních systémů. Lekce 7: Souborový systém Principy operačních systémů Lekce 7: Souborový systém Souborový systém Souborový systém (anglicky file system) je označení pro způsob organizace dat ve formě souborů (a většinou i adresářů) tak, aby k

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

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno Operační systémy IOS 2009/2010 Tomáš Vojnar Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno ÚÓ Ò Ö ØºÚÙØ ÖºÞ Úvod do UNIXu p.1/11 Unix úvod Úvod do UNIXu p.2/11

Více

Paralelizace datových přenosů

Paralelizace datových přenosů Paralelizace datových přenosů přes rozlehlé vysokorychlostní sítě Martin Čížek Vedoucí: Ing. Antonín Král Katedra počítačů FEL ČVUT Zimní semestr 2005 Martin Čížek (FEL ČVUT) Paralelizace datových přenosů

Více

Paralelní a asynchronní programování. Zdeněk Jurka

Paralelní a asynchronní programování. Zdeněk Jurka Paralelní a asynchronní programování Zdeněk Jurka Obsah přednášky Paralelní vs. Asynchronní programování Thread ThreadPool TPL Async await Synchronizace PLINQ Paralelní vs. Asynchronní programování Paralelní

Více

Softwarově definované úložiště pod taktovkou EMC Lukáš Bělovský, konzultant Gapp System

Softwarově definované úložiště pod taktovkou EMC Lukáš Bělovský, konzultant Gapp System G System, spol. s r.o., Petržílkova 23, 158 00, Praha Softwarově definované úložiště pod taktovkou EM Lukáš Bělovský, konzultant G System Agenda Trend dneška - softwarově definované Software Defined Storage

Více

Úvod do B4B36PDV. Organizace předmětu a seznámení se s paralelizací. B4B36PDV Paralelní a distribuované výpočty

Úvod do B4B36PDV. Organizace předmětu a seznámení se s paralelizací. B4B36PDV Paralelní a distribuované výpočty Úvod do B4B36PDV Organizace předmětu a seznámení se s paralelizací B4B36PDV Paralelní a distribuované výpočty Osnova Čím se budeme zabývat? Hodnocení předmětu Úvod do paralelního hardwaru a softwaru 1

Více

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body Cvičení č. 3 Sdílené prostředky a synchronizace Program Banka 4 body Datum: 12.3.2008 1 Obsah 1. Úvod...2 2. Pokyny pro odevzdání...2 3. Příprava...2 4. Úlohy...3 4.1. Požadavky na program...3 4.2. Požadavky

Více

IUJCE 07/08 Přednáška č. 6

IUJCE 07/08 Přednáška č. 6 Správa paměti Motivace a úvod v C (skoro vždy) ručně statické proměnné o datový typ, počet znám v době překladu o zabírají paměť po celou dobu běhu programu problém velikosti definovaných proměnných jak

Více

Návrh architektury škálovatelné cloudové služby aneb nespalte se v cloudu. Mgr. David Gešvindr MCSE: Data Platform MCT MSP

Návrh architektury škálovatelné cloudové služby aneb nespalte se v cloudu. Mgr. David Gešvindr MCSE: Data Platform MCT MSP Návrh architektury škálovatelné cloudové služby aneb nespalte se v cloudu Mgr. David Gešvindr MCSE: Data Platform MCT MSP david@wug.cz Motto Běžná webová aplikace navržená pro provoz na vlastním serveru

Více

Michal Daníček ŽIVOTOPIS. Kontaktní údaje: Praxe

Michal Daníček ŽIVOTOPIS. Kontaktní údaje: Praxe ŽIVOTOPIS 285374589 Michal Daníček Nejvyšší dosažené vzdělání: Středoškolské nebo odborné vyučení s maturitou Pohlaví: muž Datum narození: 24.1.1986 Místo narození: Česká republika Občanství: Česká republika

Více

Datasheet SanDisk Řada PCIe-SSD Fusion iomemory PX600 Server

Datasheet SanDisk Řada PCIe-SSD Fusion iomemory PX600 Server Strana 1 / 5 Datasheet SanDisk Řada PCIe-SSD Fusion iomemory PX600 Server Velmi krátká doba odezvy a vysoký výkon pro přístup k firemním datům v reálném čase Jednotka SSD představuje zařízení k ukládání

Více

POSIX X b. Přenositelné rozhraní pro Real-Time operační systémy

POSIX X b. Přenositelné rozhraní pro Real-Time operační systémy POSIX X 1003.1b Přenositelné rozhraní pro Real-Time operační systémy POSIX.1 a POSIX.4 povinné a volitelné části Mandatory Parts Optional Parts POSIX1003.1 POSIX.1 Base POSIX Chown Restricted POSIX Saved

Více

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ I/O systém 12 1/32 HARDWARE HW pro I/O je značně rozmanitý Existují však určité běžně používané prvky port sběrnice (bus) řadič (host adapter, controller) I/O zařízení

Více

Síťové programování. Berkeley sockets Zdroje. Wikipedia Google Jan Kubr

Síťové programování. Berkeley sockets Zdroje. Wikipedia Google Jan Kubr Síťové programování Berkeley sockets Zdroje Wikipedia Google Jan Kubr Co víte o souborech a operacích s nimi Deskriptor (fd) popisovač, číslo Zápis (write, fwrite, ) - deskriptor, data Čtení (read, fread,

Více

I/O systém Vnější paměti. PB 169 Počítačové sítě a operační systémy

I/O systém Vnější paměti. PB 169 Počítačové sítě a operační systémy PB 169 Počítačové sítě a operační systémy I/O systém Vnější paměti 1 Hardware HW pro I/O je značně rozmanitý Existují však určité běžně používané prvky port sběrnice (bus) řadič (host adapter, controller)

Více

1. Zpracování událostí na pozadí aplikace

1. Zpracování událostí na pozadí aplikace 1. Zpracování událostí na pozadí aplikace 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, 3. února 2014

Více

Analýza výkonu HELIOS Green

Analýza výkonu HELIOS Green Analýza výkonu HELIOS Green Dáme Vašemu Greenu zelenou Libor Soukup, HelpIS, s.r.o. soukup.libor@helpis.cz http://www.helpis.cz/vykon O co jde? Po úspěšné implementaci je zákazník spokojený a vše krásně

Více

Reaktivní programování v.net

Reaktivní programování v.net Reaktivní programování v.net Tomáš Petříček http://tomasp.net/blog tomas@tomasp.net Co je reaktivní programování? Psaní aplikací které regaují na události» Klasické.NET eventy Například MouseDown, KeyPress,

Více

Bezpečnostní mechanismy serverové infrastruktury

Bezpečnostní mechanismy serverové infrastruktury Bezpečnostní mechanismy serverové infrastruktury Miroslav Novotný Setkání správců NIS Seč, 19. 20.5.2008 Bezpečnostní hrozby Výskyt bezpečnostních incidentů za poslední dva roky a trend výskytu: 1. SPAM,

Více

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Monitoring SQL Server, Resource Governor, Tracing SQL Server Monitoring SQL Server, Resource Governor, Tracing SQL Server 1. Monitoring Monitoring cíl Zrychlení odezvy. Hledání úzkého hrdla. Identifikace často prováděných dotazů. Úprava dotazu, změna indexu, Sledování

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database.

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database. 11 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Tvorba webových aplikací. Active Server Pages. Activex Data Objects.

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

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

Ř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

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných

Více

DATOVÁ ÚLOŽIŠTĚ (DÚ) PRŮMYSLOVÉ DNY

DATOVÁ ÚLOŽIŠTĚ (DÚ) PRŮMYSLOVÉ DNY Agentura komunikačních a informačních systémů DATOVÁ ÚLOŽIŠTĚ (DÚ) PRŮMYSLOVÉ DNY podplukovník Ing. Jiří STUCHLÍK kontakt: 724 850 579 stuchlikj@army.cz 1 DÚ PRŮMYSLOVÉ DNY Organizace DÚ Průmyslové dny

Více

Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík

Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík Transakce a zamykání Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík Základní pojmy Databázová transakce je skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého. Transakční

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 7 ČASOVÁNÍ A SYNCHRONIZACE TECHNICKÉHO VYBAVENÍ doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních

Více

Stavba operačního systému

Stavba operačního systému Stavba operačního systému 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

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Web Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Technologické trendy v AV tvorbě, Web 2 DNS Domain Name Systém

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

SSD vs. HDD / WAL, indexy a fsync

SSD vs. HDD / WAL, indexy a fsync SSD vs. HDD / WAL, indexy a fsync Prague PostgreSQL Developers Day 2012 Tomáš Vondra (tv@fuzzy.cz( tv@fuzzy.cz) What a great day for science! Otázky DB = data + indexy + transakční log (WAL) Co umístit

Více

Transakce a zamykání Jiří Tomeš

Transakce a zamykání Jiří Tomeš Transakce a zamykání Jiří Tomeš Administrace MS SQL Serveru (NDBI039) O čem to dnes bude Úvodní opakování základních pojmů Jištění transakcí Speciální konstrukce Typy transakcí Závěrečný souhrn, použité

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015 Knot DNS Resolver Modulární rekurzivní resolver Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je KNOT Resolver Části resolveru Funkce a konfigurace Integrační testování Co je Knot DNS Resolver Minimalistický

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

Programování a implementace Microsoft SQL Server 2014 databází

Programování a implementace Microsoft SQL Server 2014 databází M20464 Programování a implementace Microsoft SQL Server 2014 databází Popis: Pětidenní kurz určený všem databázovým specialistům, kteří jsou odpovědni za implementaci databázových objektů a programování

Více

Novell Identity Management. Jaromír Látal Datron, a.s.

Novell Identity Management. Jaromír Látal Datron, a.s. Novell Identity Management Jaromír Látal Datron, a.s. 19.4.2012 1 Identity management základní vlastnosti Jednoduché a rychlé poskytování uživatelských účtů Samoobslužné funkce pro uživatele Snadný návrh

Více

01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980

01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980 01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980 02. Kdy přibližně vznikly první komerční relační databázové servery?

Více

Souborové operace Mgr. Josef Horálek

Souborové operace Mgr. Josef Horálek Souborové operace Mgr. Josef Horálek Souborové operace = V unixových systémech a Linuxu platí, že skoro vše je SOUBOR častý výskyt deskriptorů souborů a souborových operací. = Souborové operace umožňují

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

Databáze I. 5. přednáška. Helena Palovská

Databáze I. 5. přednáška. Helena Palovská Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma

Více

Cvičení z programování v C++ ZS 2016/2017 Přemysl Čech

Cvičení z programování v C++ ZS 2016/2017 Přemysl Čech Cvičení z programování v C++ ZS 2016/2017 Přemysl Čech cíl: vytvořit třídu inf_system pro ukládání informací o studentech a zaměstnancích působících na fakultě příklad použití: int main() { inf_system

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

Informace ke stavu celoměstsk xxx

Informace ke stavu celoměstsk xxx Informace ke stavu celoměstsk stského xxx projektu SO-001 V Praze dne 28.05.2003 Josef Sedláček Program Stav projektu SO-001 10 (cíle, stav, výstupy, legislativa) Nasazení produktů na ÚMČ Prahy 5 (podmínky,

Více

Návod na provedení upgrade IS Harmonik

Návod na provedení upgrade IS Harmonik Návod na provedení upgrade IS Harmonik Ing. Martin Klinger 4.6.2015 Co je to upgrade IS Harmonik? Upgrade systému představuje soubor technických nebo legislativních změn v ekonomickém softwaru Harmonik,

Více

Monitoring výkonu PostgreSQL

Monitoring výkonu PostgreSQL Monitoring výkonu PostgreSQL Tomáš Vondra http://www.fuzzy.cz A jedééééém... Monitoring výkonu PostgreSQL Můj SQL dotaz běží strašně pomalu! Chci vědět proč a chci aby běžel rychle! Use

Více

ver. 1.19 Asynchronní E-learningový

ver. 1.19 Asynchronní E-learningový Obsah: Teorie úvodem Základní terminologie Asynchronní e-learning Stavební bloky e-learningu Jednotlivé součásti sti systému Uživatelé Přehledné interaktivní prostředí Testy Jak testy fungují Hodnocení

Více

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1 Ovladače Windows A4M38KRP Str. 1 Struktura OS Windows Str. 2 Typy ovladačů Str. 3 Typy ovladačů Virtual Device Driver User mode ovladač Virtualizace HW pro DOS aplikace Legacy Driver Pro zařízení nepodporující

Více

Vláknové programování část III

Vláknové programování část III Vláknové programování část III Lukáš Hejmánek, Petr Holub {xhejtman,hopet}@ics.muni.cz Laboratoř pokročilých síťových technologií PV192 2008 05 06 1/36 Přehled přednášky Další nástroje pro synchronizaci

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Architektura paměťového a periferního podsystému České vysoké učení technické, Fakulta elektrotechnická A4M36PAP Pokročílé architektury počítačů Ver.1.00 2010 1 Motivace

Více

prostředí IDS 11.5 na Martin Mikuškovic, ICZ a. s. 23.6.2010

prostředí IDS 11.5 na Martin Mikuškovic, ICZ a. s. 23.6.2010 Pokrok se nedá zastavit: migrace centra IS RŽP do prostředí IDS 11.5 na Power 6 Martin Mikuškovic, ICZ a. s..6.1 1 Obsah IS RŽP a jak je provozován staré prostředí a návrh obnovy příprava migrace a zátěžové

Více

Centralizace aplikací ve VZP 9.11.2011

Centralizace aplikací ve VZP 9.11.2011 Centralizace aplikací ve VZP 9.11.2011 Jiří Holubec, Solution Architect jiri.holubec@gemsystem.cz GEM System a. s. All rights reserved HEWLETT-PACKARD celosvětová technologická společnost IT leader na

Více

12. Správa souborů. ZOS 2006, L. Pešička

12. Správa souborů. ZOS 2006, L. Pešička 12. Správa souborů ZOS 2006, L. Pešička Informace 2. zápočtový test Látka z přednášek do 9. týdne Požadované znalosti Meziprocesová komunikace Synchronizace Základ MM Řešení konkrétních příkladů v BACI

Více

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Od CGI k FastCGI Ondřej Caletka 5. října 2013 Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) Od CGI k FastCGI 5. října 2013 1 / 18 Obsah 1 Common

Více

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Pří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íce

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009 Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené

Více

Komunikace systémů pomocí. 10. 11. 2011 Hradec Králové

Komunikace systémů pomocí. 10. 11. 2011 Hradec Králové Komunikace systémů pomocí zasílání zpráv Petr Steckovič 10. 11. 2011 Hradec Králové 1 Komunikace Synchronní / Asynchronní Jednosměrná / Obousměrná Přímá / Zprostředkovaná Nejobvyklejší typ komunikace:

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

Implementace dávkových operací

Implementace dávkových operací Implementace dávkových operací Petr Steckovič 12. 5. 2011 Hradec Králové 1 Dávkové zpracování dat Procesy běžící na pozadí Spouštěné Časem Stavem (např. dochází místo) Ručně Obvykle se jedná o podpůrné

Více

Domácí úkoly 2013/14

Domácí úkoly 2013/14 Domácí úkoly 2013/14 SIMD kontejner kontejner odpovídající poli s podporou SIMD operací Single Instruction Multiple Data simd_vector< T, S> T = logický prvek kontejneru pouze jednoduchý datový typ (bez

Více

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9 Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

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

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Bakalářská práce 2014 Autor: Adam Schreier Garant práce: Jan Růžička Obsah prezentace 1.Seznámení s řešeným problémem

Více

11. Implementace ovladače ve Windows

11. Implementace ovladače ve Windows BI-MPP Cvičení 11 - Ovladače (Windows), Miroslav Skrbek (C)2010,2011 1 z 6 11. Implementace ovladače ve Windows Náplň cvičení V tomto cvičení se naučíte napsat ovladač zařízení pro operační systém Windows.

Více

Vlákna Co je to vlákno?

Vlákna Co je to vlákno? Vlákna Co je to vlákno? Hierarchie z pohledu operačního systému: Proces o největší výpočetní entita plánovače o vlastní prostředky, paměť a další zdroje o v závislosti na OS možnost preemptivního multitaskingu

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

TFTP Trivial File Transfer Protocol

TFTP Trivial File Transfer Protocol TFTP Trivial File Transfer Protocol Jan Krňoul KIV / PSI TFTP Jednoduchý protokol pro přenos souborů 1980 IEN 133 1981 RFC 783 1992 RFC 1350 1998 RFC 1785, 2090, 2347, 2348, 2349 Noel Chiappa, Bob Baldvin,

Více

Radek Krej í. rkrejci@cesnet.cz. NETCONF a YANG NETCONF. 29. listopadu 2014 Praha, IT 14.2

Radek Krej í. rkrejci@cesnet.cz. NETCONF a YANG NETCONF. 29. listopadu 2014 Praha, IT 14.2 Radek Krej í rkrejci@cesnet.cz NETCONF a YANG NETCONF 29. listopadu 2014 Praha, IT 14.2 Jak funguje protokol NETCONF Radek Krej í NETCONF a YANG 29.11. 2014 1 / 28 Základní charakteristiky klient-server

Více

Základní komunikační operace

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

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS www.blahovec.cz pavel@blahovec.cz

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS www.blahovec.cz pavel@blahovec.cz Databáze s tisíci uložených procedur Pavel Bláhovec, DiS www.blahovec.cz pavel@blahovec.cz Kdo jsem 1/2 Vývojem software se zabývám přes 15 let Mobilní aplikace pro obchodníky Wella PageMaker plug in pro

Více

Téma 2 Architektury OS a jejich služby

Téma 2 Architektury OS a jejich služby Téma 2 Obsah 1. Úkoly a skladba OS 2. Složky OS a jejich určení 3. Systémové programy 4. Standardy pro služby OS a typické služby JOS 5. Mechanismus volání služeb 6. Monolitické OS 7. OS s mikrojádrem

Více

Archivace dat s využitím DÚ CESNET

Archivace dat s využitím DÚ CESNET České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačové grafiky a interakce Zpráva k projektu 493/2013/1 Archivace dat s využitím DÚ CESNET Jan Kubr, Ondřej Votava Květen 2015

Více

Zotavení z chyb. Databázové systémy

Zotavení z chyb. Databázové systémy Zotavení z chyb Databázové systémy Zotavení z chyb v DBS Úloha: Po chybě obnovit poslední konzistentní stav databáze Třídy chyb: 1. Lokální chyba v ještě nepotvrzené transakci 2. Chyba se ztrátou hlavní

Více

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz GridSQL a pg-pool II Vratislav Beneš benes@optisolutions.cz Agenda 1. Datové sklady a datová tržiště 2. pg-pool II 1. Infrastrukutra 2. Využití pro datové sklady 3. GridSQL 1. Infrastuktura 2. Vytvoření

Více

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4. Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na

Více