Lazy and Eager Acquisition

Slides:



Advertisements
Podobné prezentace
Podpora plánování rozvoje sociálních služeb formou založení odborných partnerství CZ.1.04/3.1.03/
Advertisements

Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Inf Používání a tvorba databází. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT.
Období vzniku: duben _inovace_FG.9.48 Autor : Vladimír TesaříkČlověk a svět práce, finanční gramotnost, nové auto.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Zdeňka Kučerová, Online marketing manager, REAL-CITY Principy vyhledávání nemovitostí.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Josef Ledvoň. Dostupné z Metodického portálu ISSN: , financovaného.
Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační.
NÁZEV ŠKOLY: Střední odborné učiliště a Základní škola AUTOR: Bc. Lucie Chojnová NÁZEV: VY_32_INOVACE_07_Význam a funkce rodiny TÉMA SADY: Občanská výchova.
Předškolní vzdělávání.  Rámcový vzdělávací program vymezuje hlavní požadavky, podmínky a pravidla.  Školní vzdělávací program vytváří každá mateřská.
JAN FABIANEK, CS-PROJECT spol. s r.o. Konference Centralizované zadávání veřejných zakázek Praha, VYUŽITÍ ČÍSELNÍKU NIPEZ.
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu : CZ.1.07/1.5.00/ Šablona:III/2č. materiálu:VY_32_INOVACE_11.
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr. Petra Šandová Název: VY_32_INOVACE_5B_INF3_16_ Téma: pro 4.,5.ročník ZŠ, vytvořeno:
Principy Základních registrů Ing. Ondřej Felix, CSc.
Univerzitní informační systém III., Lednice 2004 Vývoj a koncepce nového univerzitního webu Ondřej Kudlík
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Software =je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost. - Software je protiklad k hardwaru,
Seminář o stavebním spoření
Tutoriál ~ eKnihy Stahování
MICROSOFT WINDOWS.
Systémové databáze v SQL Serveru
Podpora v nezaměstnanosti
Slovní úlohy o společné práci
Software počítače – opakování
Hodnocení sluchu hendikepovými testy.
Návod na tvorbu prezentace diplomové / bakalářské práce
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
Dělení mnohočlenů mnohočlenem
Osvoboditelů 380, Louny Číslo projektu CZ.1.07/1.5.00/ Číslo sady  15
Odbor školství mládeže a sportu Oddělení školské ekonomiky
Jedno-indexový model a určení podílů cenných papírů v portfoliu
Název školy : Základní škola a mateřská škola,
Financování přímých NIV
Inf Ovládání operačního systému
Filmová animace Náhodné změny Mgr. Jiří Mlnařík
Název: Práce s tabulátory Autor: Hokr Jan
Souběh Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
pedagogických pracovníků.
METODICKÝ LIST PRO ZŠ Pro zpracování vzdělávacích materiálů (VM)v rámci projektu EU peníze školám Operační program Vzdělávání pro konkurenceschopnost   
Poměr v základním tvaru.
Makro v Excelu.
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
Kód materiálu: VY_32_INOVACE_16_FUNKCNI_STYLY Název materiálu:
1. ročník oboru Mechanik opravář motorových vozidel
Plánování procesů Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Slovní úlohy o společné práci stejný čas
Digitální učební materiál
Hlasovací pravidla a alternativní mechanismy rozhodování
BIBS Informatika pro ekonomy přednáška 2
NV č. 201/2010 Sb. ze dne 31. května 2010  o způsobu evidence úrazů, hlášení a zasílání záznamu o úrazu ve znění NV č. 170/2014 Sb. ze dne 6. srpna 2014.
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
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 ISSN: 
Technická Evidence Zdravotnických Prostředků 1
SKENEROVÉ BONUSY.
Problematika uzavírání smluv mezi pojišťovnami a zdravotnickými zařízeními PharmDr. Ivana Cimalová, MBA ředitelka zdravotnického odboru ZPMV ČR Čestlice,
Materiál byl vytvořen v rámci projektu
1.
Remote login.
Slovní úlohy o společné práci
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
False start vs offside O co jde, když….
Nádherné prezentace navrhnete a předvedete snadno a s jistotou.
Poměr v základním tvaru.
Předmět: Informatika Ročník: VI. Tématický celek: Základy práce s PC
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr
Word Základy Wordu. Word Základy Wordu Ročník: 6 Předmět: Informační a komunikační technologie Učitel: Vojtěch Novotný Téma: Základy Wordu Ověřeno.
Matematika + opakování a upevňování učiva
Slovní úlohy o společné práci − 3
Kód materiálu: VY_32_INOVACE_09_DEN_ZEME Název materiálu: Den Země
Transkript prezentace:

Lazy and Eager Acquisition 1 1 1 1

Lazy (líný) vs eager (dychtivý, netrpělivý) Lazy vs Eager Lazy (líný) vs eager (dychtivý, netrpělivý) 2

Lazy Acquisition 3 3 3 3

Příklad – Elektronická zdravotní karta Doktor chce zkontrolovat elektronickou zdravotní kartu Jméno Adresa RT snímky, MR, CT... Tyto údaje mohou být čerpány z mnoha zdrojů pojišťovna, servery, databáze, souborový systém Pokud má pacient mnoho záznamů (např. často absolvoval RT), načtení všech jeho snímků může trvat dlouhou dobu Je docela možné, že by se doktor zajímal jen o poslední záběry (od zranění) a ty staré by byly zbytečně načtené – zbytečné čekání Potřebovali bychom systém, který nebude záviset na tom, jaká dlouhá je zdravotní karta pacienta 4

Příklad – Elektronická zdravotní karta (Vylepšená) Mohli bychom si data všech objednaných pacientů na dnešek načíst ráno Nebo Během současného pacienta bychom si načetli následujícího ... Načteme jen data (např. textové) o tom, že dané snímky máme a pokud se lékař bude chtít podívat detailněji, tak se načte celý snímek v plný kvalitě 5

NV Lazy Acquisition – idea Práci budeme odkládat úplně do poslední chvíle, dokud to bude možné 6

Kdy? Pokud řešíme problémy jako: Získání všech prostředků na začátku není vždy nejlepší volba počáteční inicializace může trvat dlouho Není zaručeno, že všechny inicializované prostředky (plně) využijeme Je možné, že jsme některou práci dělali zbytečně 7

NV Lazy Acquisition – použití Pokud v aplikaci potřebujeme zajistit vysokou propustnost a dostupnost při omezených prostředcích Tento návrhový vzor posouvá získání prostředku na nejpozdější možný okamžik, kdy již není možné posunout danou operaci 8

NV Lazy Acquisition – členové Resource user – získává a používá prostředky (lékař) Resource – libovolný prostředek (RT snímek, jméno, záznam) Resource proxy – zprostředkovává získání nového prostředku nebo již získané prostředky prodává uživateli, zakrývá přímé vs lazy získání prostředku (informační systém) Resource provider – postará se o získání prostředku (načtení z databáze, serveru, file systému...) 9

NV Lazy Acquisition – implementace 10

NV Lazy Acquisition – implementace 11

NV Lazy Acquisition – implementace (poznámky) Resource proxy je vytvořena na začátku při inicializaci má stejné API jako Resource 12

NV Lazy Acquisition – výhody Dostupnost - systém získává pouze ty prostředky, které je třeba (nezabývá se těmi, co netřeba) Stabilita – menší pravděpodobnost zahlcení systému Optimální start systému – nezabývá se načtením dát na začátku, takže start je rychlý Transparentnost – je transparentní z hlediska uživatele Pořízení prostředku – přímé vs lazy 13

NV Lazy Acquisition – nevýhody Paměť – Spotřebovaná paměť na proxy Čas – některé získání prostředku může trvat déle Nepředvídatelnost – pokud získání nějakého prostředku budou více členů nechávat na poslední chvíli a pak se vše najednou spustí, může nastat zahlcení 14

NV Lazy Acquisition – použití Singleton objects (lazy instantiation) Operating systems (library loading) Haskell (lazy evaluation of expressios) JIT(Just-In-Time) překlad 15

Eager Acquisition 16 16 16 16

Příklad – Operační systém V operačním systému potřebujeme v různých případech: Dynamicky alokovat paměť Navázat síťové spojení Spustit vlákno pro nějakou úlohu Získání takových prostředků může trvat netriviálně dlouho Během toho mohou vzniknout ještě různé výpadky, čekání Potřebujeme mechanismus, který bude připraven co nejdříve vyhovět danému požadavek ... 17

Příklad – Operační systém (vylepšený) Globální proměnné pro jednotlivé prostředky Nebo Alokace na zásobníku ... Prostředky si někde připravíme v časovém rozmezí od startu po prvé použití daného prostředku 18

NV Eager Acquisition – idea Práci se snažíme provést co nejdříve 19

Kdy? Pokud získání prostředků: Za runtime může způsobovat netriviální zdržení aplikace Musí být rychlé a předvídavé Musí být spravedlivé k ostatním 20

NV Eager Acquisition – použití Návrhový vzor popisuje, jak je možné získání prostředků optimalizovat předčasným získáním, před jejich prvním použitím Vytvoří se kontejner, do kterého se (v době od startu po jejich použití) připravují dané prostředky V případě požadavku je máme hned k dispozici 21

NV Eager Acquisition – členové Resource user – získává a používá prostředky (aplikace, program) Resource – libovolný prostředek (paměť, připojení, vlákno) Provider proxy – Udržuje získané prostředky v container-u, které zprostředkovává a předává uživateli. (Thread pool, Memory pool,...) Resource provider – stará se o získání prostředku, je možné vynechat přímým použitím Resource (OS - přidělení paměti, vlákna, připojení, …) 22

NV Eager Acquisition – implementace 23

NV Eager Acquisition – implementace 24

NV Eager Acquisition – implementace 25

NV Eager Acquisition – implementace (poznámky) ProviderProxy Je vytvořena na začátku při inicializaci má stejné API jako Resource Udržuje container daných prostředků, který se „nafukuje“ Při požadavku vrátí daný prostředek v O(1) „Nafukování“ bychom mohli zajistit i paralelně Čas, kdy proběhne nafukování, může být konkrétně určený 26

NV Eager Acquisition – výhody Rychlost – získání prostředku může být konstantní Předvídavost – prostředky jsou připraveny v containeru Transparentnost – je transparentní z pohledu uživatele 27

NV Eager Acquisition – nevýhody Správa získaných prostředků – uvolnění paměti, likvidace ... Statická konfigurace - počet prostředků se musí odhadnout na začátku ... Zahlcení systému Pomalejší start 28

NV Eager Acquisition – použití Pooling Servery AOT (Ahead-of-time) preklad Křeček (Škrečok, Hamster, 倉鼠)  29

Lazy and Eager Acquisition - shrnutí Oba vzory jsou extrémy ... Použitím těchto návrhových vzorů optimalizujeme v programech to, že získání prostředků proběhne v ten správný moment Návrhový vzor Lazy Acquisition je vhodné použít v případech, kdy získané prostředky nejsou používány ihned Návrhový vzor Eager Acquisition je vhodné použít v případech, kdy se klade důraz na čas – např. v real-time aplikacích; dříve získané prostředky se mohou ihned začít používat 30