1 / 14

Distribuované systémy cvičení 3

Distribuované systémy cvičení 3. Sequencer, sekvenční doručování, příčinné (kauzální) doručování Cvičení č.3 Ing. Jiří Ledvina, CSc. Fixn í sequencer Unicast-broadcast. Poslání zprávy sequenceru Broadcast zprávy od sequenceru ke členům. Fixní sequencer Broadcast-broadcast.

albin
Download Presentation

Distribuované systémy cvičení 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distribuované systémycvičení 3 Sequencer, sekvenční doručování, příčinné (kauzální) doručování Cvičení č.3 Ing. Jiří Ledvina, CSc.

  2. Fixní sequencer Unicast-broadcast • Poslání zprávy sequenceru • Broadcast zprávy od sequenceru ke členům Sequencery

  3. Fixní sequencerBroadcast-broadcast • Broadcast zprávy jednotlivým členům i sequenceru • Broadcast sekvenčního čísla všem členům Sequencery

  4. Fixní sequencerUnicast-unicast-broadcast • Vyžádání si sekvenčního čísla od sequenceru • Poslání sekvenčního čísla sequencerem do uzlu • Broadcast zprávy od uzlu všem členům (podle pořadí) Sequencery

  5. Přesunující se sequencer (rotující sequencer) • Založen na stejném principu jako fixní sequencer • Role sequenceru je přenášena mezi několika procesy • Motivací je rozdělení zátěže • Vysílač posílá požadavek všem sequencerům • Sequencery si posílají pověření, obsahující pořasové číslo a všechny zprávy, které jsou zařazeny podle sekvenčních čísel • Po přijetí tokenu sequencer přiřadí sekvenční číslo všem přijatým, ale nezařazeným zprávám • Odešle všechny nově zařazené zprávy • Opraví pověření a pošle ho dalšímu sequenceru. • Obdoba varianty broadcast-broadcast Sequencery

  6. Přesunující se sequencer (rotující sequencer) Sequencery

  7. Sekvenční doručováníAlgoritmy s předáváním oprávnění - broadcast • Vysílače mohou vysílat jen tehdy, pokud k tomu mají pověření • Často založeny na logickém kruhu Sequencery

  8. Sekvenční doručováníDohoda na straně příjemců • Vysílač vyšle broadcast zprávu všem příjemcům • Každý příjemce přiřadí zprávě lokálně časovou značku • Pošle časovou značku všem příjemcům • Příjemce po přijetí časové značky ode všech sousedů vypočte maximum a přiřadí je zprávě • Zprávy jsou zpracovány podle časových značek vzestupně Sequencery

  9. Definice kauzality (příčinnost) • Jestliže a a b jsou dvě události téhož procesu a a předchází b, pak říkáme, že a nastalo před b. • Jestliže a je proces posílající zprávu a tato zpráva je přijata procesem b, pak říkáme, že a nastalo před b • Jestliže a nastalo před b a b nastalo před c, pak a nastalo před c • relace „nastalo před“ se označuje symbolem → (a → b) • Relace → je nereflexivní, asymetrická a tranzitivní, tj. striktně částečně uspořádaná • Relace → je také označována jako relace kauzality nebo potenciální kauzality Sequencery

  10. Logický čas • Pro události a a b platí • jestliže a→ b pak C(a) < C(b) • Pravidla pro manipulaci s logickými hodinami • Každý proces inkrementuje C mezi dvěma událostmi • Jestliže událost a je odeslání zprávym, pak zpráva m obsahuje časovou značku C(a) • Jestliže proces přijme zprávu m se značkou C(a) jako událost C(b), pak své logické hodiny nastaví na hodnotu o 1 větší než je maximum C(a) a C(b). Sequencery

  11. Techniky uspořádání podle příčinnosti • Historie příčinnosti • Zahrnutí všech událostí které danou událost předcházejí Sequencery

  12. Techniky uspořádání podle příčinnosti • Lamportovy časové značky • Není dostatečné pro určení příčinnosti • Vektorové časové značky • Rozlišuje události na • Konkurentní • Příčinně závislé • Pokud proces a přijme zprávu od procesu b, pak • C(b)++ • C(i) = max(C(i), M(i); pro b <> i Sequencery

  13. Porušení kauzality (příčinnosti) Sequencery

  14. Kauzální doručování broadcast zpráv • Stejný časový vektor pro všechny příjemce Sequencery

More Related