SZZ - úvod do distribuovaných algoritmů

Basic notions, problems and solutions, distributed and centric architecture and its differences. Petri nets – basic concepts.Basic principles of modeling with Petri nets. Relation between distributed and service systems. How it was mirrored in lessons learnt from Interim Project?

= Úvod do distribuovaných algoritmů (11) =

Jedná se o kostru, kdo má možnost, prosím doplňte
Architektury paralelního zpracování podle Flynnovi klasifikace:

Multiprocesory (sdílená pameť) Multicomputery (předávání zpráv)  Distribuované systémy
 * SISD – konvenční
 * SIMD – vektorové
 * MISD – řetězové
 * MIMD – (Multiple Instructions Multiple Data)

Základní pojmy, problémy a řešení, distribuovaná a centralizovaná - doplnit
K této části nemám žádné materiály, kdo má možnost, prosím doplňte

Petriho sítě
Motivaci pro vznik Petriho sítí bylo modelovat řídící systémy. Petriho síť je matematická reprezentace diskrétních distribuovaných systémů. Neformálně je Petriho síť graf se dvěma typy uzlů (místy a přechody) s násobnými hranami. Hrany jsou přitom pouze mezi uzly různých typů. Obecně žádná další omezeni nejsou, zejména tedy nemusí byt vyváženy vstupní a výstupní stupně uzlů.

Definice P/T Petriho sítě: ∑ = (P, T, F,W,C,M0)


 * P je množina míst
 * T je množina přechodů, P ∩ T = ∅
 * F ⊆ (P × T) ∪ (T × P) incidenční relace
 * W : F → {1, 2, ...} váhová funkce
 * Kapacity míst. C : P → N
 * M0 počáteční značení, M0 : P → N

Základní pojmy:

Petriho sítě mají charakter bipartitního orientovaného grafu, ve kterém místa reprezentují složky možných stavů, přechody změny stavů a hrany vstupní a výstupní podmínky přechodů.

Obvykle zadáváme Petriho síť formou grafu.


 * Místa – kružnice.
 * Přechody – obdélníky.
 * Incidenční relace – šipky (orientované hrany).
 * Váhová funkce – ohodnocení hran.

&#x5B;&#x5B;File:&#x5D;&#x5D;

Konkrétní stav je určen značením (tečka), význačnou roli hraje tzv. počáteční značení, které reprezentuje počáteční stav systému.

Proveditelnost přechodu

Přechod je proveditelný, jestliže ve vstupních místech čeká dostatek procesů a současně výstupní místa mají dostatečnou volnou kapacitu.

Ke změně stavu dochází prováděním přechodů. Provedení přechodu sestává z odebrání značení z jeho vstupních míst a umístění značení do míst výstupních a to na základě vstupních a výstupních hran přechodu.

&#x5B;&#x5B;File:&#x5D;&#x5D;

Petriho sítě mohou modelovat:


 * paralelismus procesů
 * komunikaci a synchronizaci procesů
 * nedeterminismus

Základní principy modelování s Petriho sítí
Pro modelování diskrétních systémů zavádíme do klasických P/T Petriho sítí několik rozšíření — priority, pravděpodobnosti a doby přechodů. Při použití rozšíření přidáváme však pouze jeden parametr. Tedy, např. jen pravděpodobnost.

&#x5B;&#x5B;File:&#x5D;&#x5D;&#x5B;&#x5B;File:&#x5D;&#x5D;

&#x5B;&#x5B;File:&#x5D;&#x5D;&#x5B;&#x5B;File:&#x5D;&#x5D;

Další typy Petriho sítí:


 * Hierarchické – do sebe vnořené sítě
 * Barvené – značky mají datový typ ("barvu")
 * Objektově orientované – OOPN, PNtalk
 * Stochastické – P/T síť s prioritami, pravděpodobnostmi a časováním přechodů.

Fronty čekajících požadavků

Vytvoří se vždy, když požadavek chce být obsloužen již obsazeným zařízením. Pro fronty je charakteristické:


 * řazení požadavků ve frontě
 * způsob výběru požadavků z fronty
 * největší možná délka fronty

Frontové řady – FIFO, LIFO, SIRO (Service in Random Order)

Nulová fronta – požadavek nemůže vstoupit do fronty, systém se ztrátami

Fronta konečná – omezení kapacity fronty

Fronta s netrpělivými požadavky – netrpělivý požadavek opouští systém, překročí-li doba čekání určitou mez

Zdroj: slide k předmětu IMS na FIT VUT.

Vztah distribuovaných systémů a služeb – doplnit
SOA definuje základní pravidla jak navrhovat distribuované systémy, Komunikace mezi službami je typicky asynchronní

Definice distribuovaného systému:

Distribuovaný systém je takový systém propojení množiny nezávislých uzlů, který poskytuje uživateli dojem jednotného systému

Hardwarová nezávislost


 * uzly jsou tvořeny nezávislými “počítači” s vlastním procesorem a pamětí
 * jedinou možností komunikace přes komunikační (síťové) rozhraní

Dojem jednotného systému


 * uživatel (člověk i software) komunikuje se systémem jako s celkem
 * nemusí se starat o počet uzlů, topologii, komunikaci apod.

Distribuovaný systém - celá škála různých řešení


 * multiprocesory na jedné základové desce
 * celosvětový systém pro miliony uživatelů
 * moderní technologie: cluster, cloud, grid, ...

Motivace a cíle návrhu distribuovaného systému

Ekonomičnost provozu běžného PC ×  supercomputer. Výkon PC a supercomputer. Spolehlivost – výpadek jednoho uzlu lze nahradit. Rozšiřitelnost: přidání uzlu × upgrade centrálního serveru

Cílem návrhu distribuovaného systému je transparentnost (přístupová, lokační, migrační, replikační), přizpůsobivost (autonomie – každý uzel schopný samostatné činnosti, decentralizované rozhodování – každý uzel vykonává rozhodnutí nezávisle na ostatních,), spolehlivost, výkonnost, rozšiřitelnost.

Výkonnost

Teorie: více uzlů vyšší výkon

Praxe: výrazně nižší než lineární nárůst výkonu

Příčiny: komunikace, synchronizace, komplikovaný software

Granularita výpočetní jednotky

Internet jako distribuovaný systém

Vlastní přenosový systém


 * Trasy a aktivní prvky
 * Vysoká míra homogenity
 * Malý počet jednoduchých služeb

Zapojení koncových stanic


 * Heterogenita
 * Prakticky nekonečné množství služeb
 * Přímé zapojení koncových uživatelů

Zdroj: ulita.ms.mff.cuni.cz/pub/predn/PDS/PDS.ppt, http://www.metacentrum.cz/export/sites/metacentrum/downloads/presentations/kolokvialni_prednaska.pdf