Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

V PÁRHUZAMOS ARCHITEKTÚRÁK - 5 VÉGES AUTOMATA MODELL.

Hasonló előadás


Az előadások a következő témára: "V PÁRHUZAMOS ARCHITEKTÚRÁK - 5 VÉGES AUTOMATA MODELL."— Előadás másolata:

1 V PÁRHUZAMOS ARCHITEKTÚRÁK - 5 VÉGES AUTOMATA MODELL

2 2015Németh Gábor: Párhuzamos architektúrák2 MODELL ALAPÚ TERVEZÉS - 1 VÉGES ÁLLAPOTÚ AUTOMATÁA rendszert általában egy VÉGES ÁLLAPOTÚ AUTOMATÁval írjuk le.  Az állapotátmeneteket eredményező események a környezetből a portokon keresztül érkező üzenetek. Az elosztott rendszer konkurrens működését nagyon jól lehet kezelni ezzel a modellel. Közvetlen módszerek léteznek a megvalósításra.

3 2015Németh Gábor: Párhuzamos architektúrák3 MODELL ALAPÚ TERVEZÉS - 2  Nagy rendszerek esetén az állapotok száma kezelhetetlenül nagy lesz.  A megoldás helyességének bizonyítása nehéz, nincs rá közvetlen módszer.  A finomítási lépések a tervezőt általában meghatározott megvalósítások felé kényszerítik.  A finomítási lépések (amikor a rendszert egymással kommunikáló alrendszerekre bontjuk fel) a tervezőt általában meghatározott megvalósítások felé kényszerítik.

4 2015Németh Gábor: Párhuzamos architektúrák4 MODELL ALAPÚ TERVEZÉS - 3 PÉLDA:Tervezzünk egy tantárgyra jelentkezett hallgatókat nyilvántartó és félévüket elismerő rendszert. (MEGJEGYZÉS: A véges automata alapú módszer lényeges sajátosságainak kiemelésére a példában nincs szükség lépésenkénti finomításra, a formális specifikáció már magát a megvalósítást adja.)

5 2015Németh Gábor: Párhuzamos architektúrák5 MODELL ALAPÚ TERVEZÉS - 4 ELŐFELTEVÉSEK: 1.A hallgatóknak egyedi neve van. (Tipikus példája a környezetből és az önkényes tervezői döntésből együttesen származó előfeltevésnek.) 2.Egyetlen beviteli terminál van a rendszerben. (Akár környezetből származó, akár önkényes tervezői döntésből származó előfeltevés lehet.) 3.Csak a beiratkozott hallgatók látogathatják a tantárgyat. 4.Nem lép fel meghibásodás a rendszerben. (Önkényes tervezői döntés a feladat egyszerűsítésére.)

6 2015Németh Gábor: Párhuzamos architektúrák6 MODELL ALAPÚ TERVEZÉS - 5 SPECIFIKÁCIÓK: 1.STUDENTS/*állapot specifikálása*/ done, notdone: set of NAME done  notdone =  /*korlátozás*/  Az állapot specifikáció korlátozását a rendszer bármilyen műveletsorozata végrehajtásának eredményeként adódó új állapotnak is teljesítenie kell.

7 2015Németh Gábor: Párhuzamos architektúrák7 MODELL ALAPÚ TERVEZÉS ENROLL/*művelet specifikálása*/ STUDENTS/*jelenlegi állapot*/ STUDENTS’/*új állapot*/ nm: NAME nm  done  notdone/*a művelet saját kiegészítő korlátozása*/ done’ := done/*állapotátmenet*/ notdone’ := notdone  {nm} /*állapotátmenet*/ az állapotok korlátozásait örököljük  A done  notdone =  korlátozásnak teljesülnie kell a művelet végrehajtása előtt és a done’  notdone’ =  korlátozásnak teljesülnie kell a művelet végrehajtása után, azaz az állapotok korlátozásait örököljük.

8 2015Németh Gábor: Párhuzamos architektúrák8 MODELL ALAPÚ TERVEZÉS COMPLETE STUDENTS STUDENTS’ nm: NAME nm  notdone done’ := done  {nm} notdone’ := notdone - {nm} 4.REPORT STUDENTS STUDENTS’ result’: set of NAME result’ = done’ := done notdone’ := notdone

9 2015Németh Gábor: Párhuzamos architektúrák9 MODELL ALAPÚ TERVEZÉS - 8 A végesállapotú automata működése implikálja, hogy egy kezdeti állapotot kell definiálni. A kezdeti állapotnak is ki kell elégítenie az általános done  notdone =  korlátozást. 5.STUDENTS init STUDENTS done :=  notdone :=  ÉS HA KIKAPCSOLJUK A TÁPFESZÜLTSÉGET?! SAJNOS A MODELL NEM TUDJA KEZELNI A TÁROLÁST/BETÖLTÉST.

10 2015Németh Gábor: Párhuzamos architektúrák10 MODELL ALAPÚ TERVEZÉS - 9 MEGVALÓSÍTHATÓSÁGSPECIFIKÁCIÓ ELLENŐRZÉSE: MEGVALÓSÍTHATÓSÁG  Egy specifikáció akkor és csak akkor valósítható meg, ha 1.a kezdeti állapot feltételei teljesíthetőek, és 2.minden, az előfeltételeknek és a saját korlátozásaiknak megfelelően végrehajtott utasítás megengedett állapotot eredményez.

11 2015Németh Gábor: Párhuzamos architektúrák11 MODELL ALAPÚ TERVEZÉS - 10 A példában a kezdeti feltétel STUDENTS init STUDENTS done :=  notdone :=  a done =  és notdone =  választással nyilvánvalóan teljesíti az érvényes állapot done  notdone =  feltételét.

12 2015Németh Gábor: Párhuzamos architektúrák12 MODELL ALAPÚ TERVEZÉS - 11 A megvalósíthatóság 2. feltételét ellenőrizzük pl. az ENROLL művelet esetén (a művelet akkor érvényes, ha végrehajtásakor teljesítjük saját egyedi korlátozását is [nm  done  notdone]): [(done  notdone =  )  (nm  done  notdone)]  done  (notdone  {nm}) =    (done’, notdone’): [(done’ = done)  (notdone’ = notdone  {nm})  (done’  notdone’ =  )] 

13 2015Németh Gábor: Párhuzamos architektúrák13 MODELL ALAPÚ TERVEZÉS - 12 ELÉRHETŐEgy jó rendszer specifikációjának ELÉRHETŐnek kell lennie.  A specifikáció elérhető, ha minden legális állapotot bármelyik legális állapotból el lehet érni legális műveletek valamilyen véges sorozatával.  Nem elérhető specifikáció esetén valamilyen hiba vagy nem megengedett művelet olyan állapotba viheti a rendszert, mely a legális műveletekkel nem érhető el.  A rendszer csak hidegindítással vihető vissza a helyes működésbe.

14 2015Németh Gábor: Párhuzamos architektúrák14 MODELL ALAPÚ TERVEZÉS - 13 A végesállapotú gépet a következőképpen jellemezhetjük: x(n+1) = Gx(n) + Hu(n) ahol x(n) az n. állapot, u(n) az n. bemenet és G és H a vonatkozó átmeneti függvények. Az egyszerűség kedvéért tekintsünk csak időinvariáns rendszereket (sem meghibásodás, sem konfiguráció módosítás nem történik). Kissé más formában: x(n+1) = G[x(n) + Fu(n)] ahol G k  k nemszinguláris mátrix és F k  m mátrix.

15 2015Németh Gábor: Párhuzamos architektúrák15 MODELL ALAPÚ TERVEZÉS - 14 A cél állapot legyen az állapottér origója (mindig ide transzformálható). n = 0-ból indulva: x(1) = G[x(0) + Fu(0)] x(1) = 0 választással meghatározhatók azon x(0) kiinduló állapotok, melyekből a rendszer egy lépésben a kívánt állapotba vihető: 0 = G[x(0) + Fu(0)] Mivel G nemszinguláris mátrix: x(0) = -Fu(0)

16 2015Németh Gábor: Párhuzamos architektúrák16 MODELL ALAPÚ TERVEZÉS - 15 Hasonlóan, x(2) = 0 választással meghatározhatók azon x(0) kiinduló állapotok, melyekből a rendszer két lépésben a kívánt állapotba vihető: x(2) = G[x(1) + Fu(1)] = G[G{x(0) + Fu(0)} + Fu(1)] = G 2 x(0) + G 2 Fu(0) + GFu(1) = 0 Ebből: x(0) = -Fu(0) - G -1 Fu(1) k lépésben a rendszer a következő kiinduló állapotból vihető a kívánt állapotba: x(0) = -Fu(0) - G -1 Fu(1) - … - G -(k-1) Fu(k-1)

17 2015Németh Gábor: Párhuzamos architektúrák17 MODELL ALAPÚ TERVEZÉS - 16 Ha -F, -G -1 F, …, -G -(k-1) F lineárisan függetlenek, akkor bármilyen x(0) előállítható lineáris kombinációjukból.  A specifikáció elérhető, ha  P = [F | GF | … | G k-1 F] mátrix rangja k. A részrendszerek elérhetősége nem garantálja a teljes rendszer elérhetőségét!

18 2015Németh Gábor: Párhuzamos architektúrák18 KLASSZIKUS VÉGES AUTOMATA MODELL - 1  A fejlesztéshez gyakran használjuk a klasszikus véges automata modellt.  Bizonyos feladatok eredetileg nemdeterminisztikus automatával írhatók le, azonban mindig konstruálható egy egyenértékű determinisztikus automata.

19 2015Németh Gábor: Párhuzamos architektúrák19 KLASSZIKUS VÉGES AUTOMATA MODELL - 2  A lépésenkénti finomítás egymástkövető lépéseiben más- más állapot- és eseményhalmaz adódik, ez nagy rendszerek esetén óriási többletmunkát igényelhet! A tervezés során használandó állapotokat és eseményeket magából a feladatmegfogalmazásból származtathatjuk. Ez viszonylag egyszerű, mert a véges automata modell a tervező számára közvetlenül értelmezhető.

20 2015Németh Gábor: Párhuzamos architektúrák20 KLASSZIKUS VÉGES AUTOMATA MODELL - 3 verem automataNagyobb leíró erőt biztosít a verem automata. Formálisan: P(Q, , , , q 0, Z 0, F) ahol Qaz állapotok halmaza (véges),  a bemenetek halmaza (véges),  a verem tartalmi elemeinek halmaza (véges),  mozgási szabályok halmaza (véges): az automata mozgását jelenlegi állapota, a jelenlegi bemenet és a verem tetején lévő elem határozza meg, q 0  Q kezdeti állapot, Z 0  a verem kezdeti tartalma, F  Q elfogadó állapotok halmaza.

21 2015Németh Gábor: Párhuzamos architektúrák21 KLASSZIKUS VÉGES AUTOMATA MODELL - 4  mozgás:a bemenet érdektelen, az automata nem olvassa be és az új állapot csak a régi állapot és a verem tetején lévő elem függvénye. A mozgási szabályok a következő leképzést határozzák meg: Q  (    )    Q   k ahol    és  k legfeljebb k hosszúságú elem lánc. A verem kapacitása véges, de nem korlátos. (Ha korlátos lenne, akkor csak korlátos számú különböző láncokat tartalmazhatna és így kisebb leíró erejű véges automatává lehetne áttranszformálni.)

22 2015Németh Gábor: Párhuzamos architektúrák22 KLASSZIKUS VÉGES AUTOMATA MODELL - 5 A verem automata mozgási szabálya:  (q i, x, y) = (q j, z) ahol q i az automata jelenlegi állapota, xa bemenet, ya verem tetején lévő elem, q j az automata új állapota, za verembe beírt elem lánc.

23 2015Németh Gábor: Párhuzamos architektúrák23 KLASSZIKUS VÉGES AUTOMATA MODELL - 6 PÉLDA: Legyenek a mozgási szabályok a következők: Z 0 = a verem kezdeti tartalma  (q 0, a, Z 0 ) = (q 1, aZ 0 )Z 0 = a verem kezdeti tartalma  (q 0, b, Z 0 ) = (q 1, bZ 0 )  (q 1, a, a) = (q 1, aa)  (q 1, b, a) = (q 1, ba)  (q 1, a, b) = (q 1, ab)  (q 1, b, b) = (q 1, bb)  c-t nem írjuk be a verembe  (q 1, c, a) = (q 2, a)  c-t nem írjuk be a verembe  c -t nem írjuk be a verembe  (q 1, c, b) = (q 2, b)  c -t nem írjuk be a verembe csak az egyező bemenetet fogadja el  (q 2, a, a) = (q 2,  )csak az egyező bemenetet fogadja el és kiveszi a veremből  (q 2, b, b) = (q 2,  )és kiveszi a veremből F = {q 3 } elfogadó állapot  (q 2, , Z 0 ) = (q 3, Z 0 )F = {q 3 } elfogadó állapot

24 2015Németh Gábor: Párhuzamos architektúrák24 KLASSZIKUS VÉGES AUTOMATA MODELL - 7 Az automata  c  -R alakú bemenet sorozatot fogad el, ahol  a-k és b-k tetszőleges sorozata és  -R az  lánc fordított sorrendű változata. Ez nyilvánvalóan nem kezelhető véges automatával: A c-t követő fordított sorrendű rész ellenőrzéséhez tárolni kell a megelőző láncot. Mivel  hossza tetszőleges (nem korlátos), nem tárolható korlátos számú állapotban.  A verem automata leíró ereje nagyobb, mint a véges automatáé!

25 2015Németh Gábor: Párhuzamos architektúrák25 KLASSZIKUS VÉGES AUTOMATA MODELL - 8 Kezelhető a tápfeszültség kikapcsolásakor és bekapcsolásakor szükséges elmentés és visszatöltés! Kezelhető a tápfeszültség kikapcsolásakor és bekapcsolásakor szükséges elmentés és visszatöltés!  Bonyolultsága miatt inkább csak a véges automata modellt használják, más úton kezelve a korlátozásokat.

26 2015Németh Gábor: Párhuzamos architektúrák26 MÓDOSÍTOTT VÉGES AUTOMATA MODELL - 1 Az eredeti matematikai véges automata modell: ahol S állapotok halmaza (véges), I bemenetek halmaza,  leképzés.  Ezt a modellt módosítani kell:  Ezt a modellt módosítani kell, mert figyelembe kell venni:  meghibásodások/hibák léphetnek fel,  az üzenetátviteli idő nem hanyagolható el,  a működés véges időt igényel.

27 2015Németh Gábor: Párhuzamos architektúrák27 MÓDOSÍTOTT VÉGES AUTOMATA MODELL - 2 módosított véges automatamodell A rendszert egy módosított véges automata modellel írjuk le: CGM A =  F, E, S, C, G, M  ahol funkció funkciók halmaza (véges), enti- tás a funkciókat megvalósító enti- tások halmaza (véges), ahol E i az f i funkciót megvalósító enti- tások halmaza (véges),

28 2015Németh Gábor: Párhuzamos architektúrák28 MÓDOSÍTOTT VÉGES AUTOMATA MODELL - 3 A =  F, E, S, C, G, M  ahol állapot az entitások állapotainak halmaza, ahol az állapotainak halmaza (véges),

29 2015Németh Gábor: Párhuzamos architektúrák29 MÓDOSÍTOTT VÉGES AUTOMATA MODELL - 4 A =  F, E, S, C, G, M  ahol órái az entitások óráinak halmaza (véges), ahol az a esemény fellépésének időpillanata entitás órájával mérve,

30 2015Németh Gábor: Párhuzamos architektúrák30 MÓDOSÍTOTT VÉGES AUTOMATA MODELL - 5 A =  F, E, S, C, G, M  ahol ismeretfüggvény ismeretfüggvények halmaza (véges), ahol a vektor elemei közül ha azentitás aidőpillanatig észleli az entitás által küldött üzenetet, egyébként 0,  Üzenet elveszés, torzulás, lassú működés figyelembe vétele!

31 2015Németh Gábor: Párhuzamos architektúrák31 MÓDOSÍTOTT VÉGES AUTOMATA MODELL - 6 A =  F, E, S, C, G, M  ahol állapotátmeneti függvény állapotátmeneti függvények halmaza (véges), ahol  Az automata új állapotát nem azonnal, hanem csak némi idő elteltével veszi fel a ténylegesen megfigyelt jelek alapján!

32 2015Németh Gábor: Párhuzamos architektúrák32 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 1 PÉLDA:koordinátor csomópont elosztott megválasztása multiprocesszoros rendszerekben. Egy multiprocesszoros rendszer egymással kommunikációs alrendszeren keresztül kommunikáló autonóm feldolgozó egységekből áll. A rendszer struktúrája tetszőleges lehet és emellett meghibásodások és/vagy módosítások miatt dinamikusan változhat. Csomópont(ok) meghibásodása és/vagy beiktatása esetén az aktív csomópontoknak alkalmazkodniuk kell az új helyzethez Csomópont(ok) meghibásodása és/vagy beiktatása esetén az aktív csomópontoknak alkalmazkodniuk kell az új helyzethez, hogy a rendszer tovább működhessen.

33 2015Németh Gábor: Párhuzamos architektúrák33 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 2 szabályalapú tervezésA véges automata modellnek az ún. szabályalapú tervezés felel meg. Feltételezzük, hogy a rendszer struktúrája megváltozása észlelésének és átszervezésének idejére (de nagyon rövid időre) a rendszer normál működése felfüggeszthető. HA megváltozik a rendszer aktív konfigurációja, AKKOR koordinátor csomópontot választunk 1.felfüggesztjük a rendszer normál működését és egy-egy koordinátor csomópontot választunk mindenegyes hálózat szigetben (bizonyos hibák esetén a hálózat több elszigetelt részre eshet szét);

34 2015Németh Gábor: Párhuzamos architektúrák34 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 3 akoordinátor csomópont vezérli a rendszer átszervezését 2.a megválasztott koordinátor csomópont vezérli a rendszer átszervezését. MEGJEGYZÉS:a rendszer hidegindítását is konfiguráció változásnak tekintjük (nincs aktív koordinátor csomópont a rendszerben).  A választási eljárásban résztvevő minden csomópont ugyanazokat a szabályokat hajtja végre  A választási eljárásban résztvevő minden csomópont ugyanazokat a szabályokat hajtja végre, (ez a véges automata modellből következik),  mindenegyes szabályt egy-egy külön entitás valósít meg. (önkényes tervezői döntés).

35 2015Németh Gábor: Párhuzamos architektúrák35 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 4 ELŐFELTEVÉSEKELŐFELTEVÉSEK 1.A kommunikációs alrendszer nem hibásodik meg. Finomítsuk (orthogonális összetevőkkel): 1.1.Az átvitel során nem veszik el üzenet: 1.2. Egy csomópont által vett üzenetet egy másik csomópont küldte:

36 2015Németh Gábor: Párhuzamos architektúrák36 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL Nincs üzenet duplikálás: (  az implikációt jelöli) Az üzenet tartalma nem változik:

37 2015Németh Gábor: Párhuzamos architektúrák37 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL Az entitásokat egymástól különböző i egészszámokkal azonosítjuk (indexeljük). 3. Az üzenetátviteli késleltetések bármelyik csomópontpár között felülről korlátosak: ahol a csomópont által küldött üzenetre a b csomópont által visszaküldött azonnali nyugtázójel vételének pillanata a csomópont órájával mérve, a csomópont által b csomópontnak küldött üzenet küldési ideje.

38 2015Németh Gábor: Párhuzamos architektúrák38 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL b csomópont ugyanabban a sorrendben veszi az üzeneteket, mint ahogy azokat a csomópont elküldte: 5. b csomópont azonnal nyugtát küld vissza a csomópont- nak az üzenet vételekor és szinkronizálja magát a-hoz:

39 2015Németh Gábor: Párhuzamos architektúrák39 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL Az i csomópontból a eseményként elküldött m üzenet tartalmaz egy időbélyeget: 7. Minden csomópontnak saját órája van, mely kielégíti az órafeltételt: 8. Minden csomópont ugyanolyan választási algoritmust hajt végre:

40 2015Németh Gábor: Párhuzamos architektúrák40 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL Ha egy csomópont meghibásodik, akkor inaktívvá válik: 10.Minden csomópontnak van egy aszinkron időzítője: (Az időzítő egy a üzenetet véve beállít egy üzenetnek megfelelő időzítési értéket. Ha az időzítő ezen időtartam alatt nem kap egy másik b üzenetet, akkor kiad egy speciális m t időzítő üzenetet.)

41 2015Németh Gábor: Párhuzamos architektúrák41 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 10 Egy vagy több csomópont valahogyan észleli, hogy hiba van és új koordinátor jelöltként lépnek fel egy elosztott választási folyamatban. Az új megválasztott koordinátor a tényleges helyzetnek megfelelően átszervezi a rendszert. SPECIFIKÁCIÓK:SPECIFIKÁCIÓK: 1.Egyetlen csomópont választódik meg új koordinátorként. 2.Ha a választás során nem lép fel végtelen meghibásodás sorozat, akkor a választás végülis sikeresen végrehajtó- dik.

42 2015Németh Gábor: Párhuzamos architektúrák42 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 11 TERVEZÉSI MODELLAZ ALGORITMUS SZABÁLYALAPÚ TERVEZÉSE (TERVEZÉSI MODELL): –Az elosztott választási algoritmus tervezése négy alapvető megfontoláson alapul: 1.Melyik csomópont kíván jelöltként fellépni a választáson? 2.Hogyan közli egy jelölt a többi csomóponttal, hogy meg kívánja nyerni a választást? 3.Hogyan reagálnak a csomópontok a jelöltekre? 4.Hogyan szereznek a csomópontok tudomást arról, hogy a választás eldőlt?

43 2015Németh Gábor: Párhuzamos architektúrák43 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL Melyik csomópont kíván jelöltként fellépni a választáson? 1.SZABÁLY:HA egy csomópont konfiguráció változást észlel, AKKOR (új koordinátor) jelöltnek nyilvánítja magát.

44 2015Németh Gábor: Párhuzamos architektúrák44 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 13 KONFIGURÁCIÓ VÁLTOZÁSOK ÉSZLELÉSE:KONFIGURÁCIÓ VÁLTOZÁSOK ÉSZLELÉSE: életjelüzenetA hibaészlelés speciális vizsgáló (életjel) üzeneteken alapul. –Egy nem koordinátor aktív csomópont meghibásodásának ellenőrzése: a koordinátor periodikusan minden általa aktívnak ismert csomópontnak életjel üzenetet küld és nyugtára vár. –Koordinátor ellenőrzése: az életjel üzenetek periodicitását a csomópontok ismerik, így minden nem koordinátor aktív csomópont beállít egy időzítés értéket és meghibásodottnak tekinti a koordinátort, ha nem kap tőle életjel üzenetet ezen időn belül.

45 2015Németh Gábor: Párhuzamos architektúrák45 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 14 Egy újonnan beiktatott, vagy javítás után visszatett csomó- pont nem kap életjel üzenetet (a koordinátor csomópont nem tud róla, azaz nem tartja aktívnak), így időzítésének lejárta- kor a koordinátort "hibásnak" tekinti. a konfiguráció megváltozását észlelő csomópont lépjen fel jelöltkéntNyilvánvalóan a konfiguráció megváltozását észlelő csomópont lépjen fel jelöltként.  Így finomíthatjuk az 1. SZABÁLYt: 1.1. SZABÁLY:HA a csomópont aktív AKKOR HA életjel időzítője lejár AKKOR jelöltté válik jelenlegi állapot esemény új állapot

46 2015Németh Gábor: Párhuzamos architektúrák46 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 15 Az 1.1. SZABÁLY aktív csomópont(ok) és a koordinátor csomópont meghibásodását észleli. a kezelendő állapotok és események közvetlenül származtathatóakA megfogalmazásból - a véges automata modell funkcionális értelmezhetősége eredményeként - a kezelendő állapotok és események közvetlenül származtathatóak.  i csomópont állapotai: aaktív, életjel időzítő be van állítva b jelölt, (egyelőre még nem definiált további tulajdonságok) … (egyelőre még nem definiált további állapotok)  i csomópont eseményei: e 1 az életjel időzítő lejárt …(egyelőre még nem definiált további események)

47 2015Németh Gábor: Párhuzamos architektúrák47 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 16  i csomópont állapot-átmeneti táblája:

48 2015Németh Gábor: Párhuzamos architektúrák48 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL SZABÁLY:HA a csomópontot (újra) beiktatjuk AKKOR jelöltté válik MEGJEGYZÉS:úgy kell tekintenünk, mintha életjel időzítője lejárt volna!  i csomópont állapot-átmeneti táblája:, 1.2.

49 2015Németh Gábor: Párhuzamos architektúrák49 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 18 A konfiguráció a választási folyamat alatt is megváltozhat erre további szabály kell  A konfiguráció a választási folyamat alatt is megváltozhat (például meghibásodhat egy jelölt csomópont), erre további szabály kell, ha már ismert az összes vonatkozó, eddig még esetleg nem definiált állapot.

50 2015Németh Gábor: Párhuzamos architektúrák50 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL Hogyan közli egy jelölt a többi csomóponttal, hogy meg kívánja nyerni a választást? 2. SZABÁLY:HA a csomópont jelölt AKKOR időbélyeges jelölt üzenetet küld a rendszer minden más csomópontjának ÉSbeállítva egy jelölt időzítőt nyugtázásra vár ÉS HA vesz egy nyugtát AKKORa reagáló csomópont (j) azonosítóját felveszi aktivitás listájára Ezeket felvesszük b tulajdonságai közé. Az üzenetküldést és nyugtára várást egy alrendszer elindításá- val valósíthatjuk meg (tulajdonság  alrend- szer  finomítás).

51 2015Németh Gábor: Párhuzamos architektúrák51 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 20  i csomópont állapotai: aaktív, életjel időzítő be van állítva b jelölt, … (egyelőre még nem definiált további állapotok) jelölt időzítő be van állítva, időbélyeges jelölt üzeneteket küld és nyugtákra vár 3. Hogyan reagálnak a csomópontok a jelöltekre? Önkényes tervezői döntés: Egy csomópont akkor adja fel saját jelöltségét, ha egy előre meghatározott szabály szerint egy másik jelöltségét sajátjánál fontosabbnak ismeri el. Önkényes tervezői döntés: a kisebb időbélyeges a fontosabb.

52 2015Németh Gábor: Párhuzamos architektúrák52 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL SZABÁLY:HA a csomópont jelölt üzenetet kap AKKOR egy nyugtát küld vissza ÉS HA maga is jelölt AKKOR HA AKKOR feladja jelöltségét új állapot és új állapot-átmenet ÉSbeállítja választási időzítőjét ÉS törli aktivitás listáját hátha meghibásodik az, akinek a javára lemondott

53 2015Németh Gábor: Párhuzamos architektúrák53 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 22 HA nem jelölt AKKOR állapotát választásra változtatjaÉSbeállítja választási időzítőjét eddig nem szerepelt állapotok; eddig nem szerepelt állapotok; most tulajdonképpen ki kellene hagyni és csak szabályban történő előfordulásuk után beírni 3. SZABÁLY:(folytatás)

54 2015Németh Gábor: Párhuzamos architektúrák54 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 23  Figyelembe kell vennünk, hogy a konfiguráció változhat a választási folyamat során is (például jelölt meghibásodik): 1.3. SZABÁLY:HA a csomópont nem jelölt AKKOR HA választási időzítője lejár AKKOR jelöltté válik új esemény

55 2015Németh Gábor: Párhuzamos architektúrák55 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL Hogyan szereznek a csomópontok tudomást arról, hogy a választás eldőlt?  Minden csomópontnak magának kell érzékelnie, hogy a választást megnyerte-e (elosztott rendszer) és a magát nyertesnek érzőnek tudatnia kell a többivel, hogy ő az új koordinátor és át kell szerveznie a rendszert. 4. SZABÁLY:HA a csomópont jelölt AKKOR HA jelölt időzítője lejár új esemény AKKOR koordinátorrá válik új állapot ÉSelkezdi a rendszer átszervezését védett parancsos üzenetet küld aktivitási listáján szereplő (potenciális) csomópontoknak

56 2015Németh Gábor: Párhuzamos architektúrák56 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 25 i csomópont állapotai:i csomópont állapotai: a:aktív, életjel időzítő be van állítva; b:jelölt egy választásban, jelölt időzítő be van állítva, időbélyeges jelölt üzeneteket küld és nyugtákra vár; c:nem jelölt egy választásban, választási időzítő be van állítva; d:megválasztott (új) koordinátor, átszervező üzeneteket küld (átszervezési időzítő be van állítva); az átszervezési időzítő a választási folyamat során fellépett újabb hibákat kezeli, lásd később.

57 2015Németh Gábor: Párhuzamos architektúrák57 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 26 i csomópont állapotai: i csomópont állapotai (folytatás): e:aktív koordinátor (a rendszer átszervezése után), életjel üzeneteket küld az aktívnak látott csomópontoknak, életjel időzítő be van állítva. MEGJEGYZÉS: MEGJEGYZÉS:e állapot definícióját a konfiguráció változás észlelési módszere (1. SZABÁLY csoport) implikálja; d állapot a rendszer átszervezése követelményéből adódik.

58 2015Németh Gábor: Párhuzamos architektúrák58 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 27 i csomópont eseményei:i csomópont eseményei: életjel időzítő lejár; jelölt üzenet vétele kisebb időbélyeggel vagy egyenlő időbélyeggel, de kisebb azonosítóval; lásd 3.SZABÁLY jelölt üzenet vétele nagyobb időbélyeggel vagy azonos időbélyeggel, de nagyobb azonosítóval; lásd 3.SZABÁLY jelölt időzítő lejár;választási időzítő lejár; ”nyer”, lásd 4. SZABÁLY választás indul választás során hiba lép fel, új vá- lasztás indul, lásd 1.3. SZABÁLY

59 2015Németh Gábor: Párhuzamos architektúrák59 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 28 i csomópont eseményei:i csomópont eseményei (folytatás): átszervezési üzenet vétele; átszervező időzítő lejár. az új koordinátor küldi a rendszer átszervezésére, lásd később

60 2015Németh Gábor: Párhuzamos architektúrák60 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 29 i csomópont állapot-átmeneti táblája: * ennek az átmenetnek nem szabad fellépnie! 2 aktív jelölt nem jelölt megvál. koord. aktív koord. életjel időzítő lejár jelölt üzenet vételejelölt időzítő lejár választási időzítő lejár átszervezési üzenet vétele átszervező időzítő lejár -

61 2015Németh Gábor: Párhuzamos architektúrák61 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 30 A VÁLASZTÁSI ALGORITMUS HELYESSÉGÉNEK BIZONYÍTÁSAA VÁLASZTÁSI ALGORITMUS HELYESSÉGÉNEK BIZONYÍTÁSA JELÖLÉSEK: I(x, 0)x csomópont időbélyeges jelölt üzenete elküldésének időpillanata I(x, y)y csomópont ebben a pillanatban veszi x jelölt üzenetét x csomópont jelölt időzítőjének beállított értékex csomópont választási időzítőjének beállított értékex csomópont átszervezési időzítőjének beállított értéke kaz üzenetátviteli késleltetés felső korlátja bármelyik csomópontpár között

62 2015Németh Gábor: Párhuzamos architektúrák62 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 31 Átmenetileg tételezzük fel: –Egy meghibásodott csomópont inaktív marad az eljárás során. –Nem teszünk be/vissza csomópontot a választás elkezdése és a választást követő átszervezés befejezése között. A jelölt időzítő alsó korlátjának meghatározása:A jelölt időzítő alsó korlátjának meghatározása: –Az általánosság megsértése nélkül tételezzük fel, hogy x és y csomópontok nyilvánították jelöltnek magukat és –x csomópont nyeri a választást.

63 2015Németh Gábor: Párhuzamos architektúrák63 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 32 –x csomópont jelölt üzenetét I(x, 0) időpillanatban küldi el és y csomóponthoz I(x, 0) és I(x, 0) + k időintervallumban érkezik meg. –y csomópont azonban akkor és csak akkor léphet fel jelöltként, ha nem kapott jelölt üzenetet egy másik (az x) csomóponttól.jelölt jelölt üzenet vétele kisebb időbélyeggel, vagy egyforma időbélyeggel de kisebb azonosítóval --

64 2015Németh Gábor: Párhuzamos architektúrák64 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 33 –Így a legrosszabb esetben y csomópont saját (vesztes) jelölt üzenetét legkésőbb I(x, 0) + k időpillanatig küldheti el. –y jelölt üzenete az x csomóponthoz k maximális késleltetéssel érkezik meg. –Így x csomópontnak minimum ideig kell várnia, ahol I(x, 0) + k + k < I(x, 0) + y (vesztes) jelölt üzenete legkésőbb x-hez ér

65 2015Németh Gábor: Párhuzamos architektúrák65 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 34 –Ha ezalatt a várakozási idő alatt nem érkezett üzenet az y csomóponttól, akkor az azt jelenti, hogy y csomópont nem akart jelölt lenni. –Ha ezalatt a várakozási idő alatt jelölt üzenet érkezett y csomóponttól, akkor azt x figyelmen kívül hagyhatja, mivel saját jelölt üzenetének időbélyege kisebb (vagy egyenlő). –Ezt az időt azonban ki kell várni a 2. SZABÁLY (jelölt üzenetének nyugtázására vár) és a 4. SZABÁLY (jelölt nyertesnek nyilvánítja magát) miatt.

66 2015Németh Gábor: Párhuzamos architektúrák66 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 35 –Így x csomópont jelölt időzítési értékének alsó korlátja: (Ezt az időzítés értéket át kell számítani az egyes csomó- pontok óráinak futási sebesség toleranciája szerint.) –Ez az időzítés megakadályozza a tiltott * állapot- átmenet létrejöttét, mert a vesztes ezen idő elteltével feladja saját jelöltségét.

67 2015Németh Gábor: Párhuzamos architektúrák67 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 36 Tekintsünk két (x és y) csomópontot és az általánosság megszorítása nélkül legyen azonosító(x) < azonosító(y). 1. SPECIFIKÁCIÓ:Egyetlen csomópont választódik meg új koordinátorként. 1. SPECIFIKÁCIÓ indirekt bizonyítása:1. SPECIFIKÁCIÓ indirekt bizonyítása: feltételezzük, hogy x és y csomópontok koordinátorokká válnak ugyanabban a választási ciklusban. Kimutatjuk, hogy ez lehetetlen.

68 2015Németh Gábor: Párhuzamos architektúrák68 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 37 Az állapot-átmeneti tábla 2. sora szerint amikor jelöltként lépett fel és amikor nyertesnek nyilvánítja magát x csomópont akkor és csak akkor válik koordinátorrá, ha nem lép fel az e 2 esemény I(x, 0) és I(x, 0) + időpillanatok között. -

69 2015Németh Gábor: Párhuzamos architektúrák69 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 38 amikor jelöltként lépett fel és amikor nyertesnek nyilvánítja magát Hasonlóképpen y csomópont akkor és csak akkor válik koordinátorrá, ha nem lép fel az e 2 esemény I(y, 0) és I(y, 0) + időpillanatok között. -

70 2015Németh Gábor: Párhuzamos architektúrák70 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 39 Így(1) (I(y, x) < I(x, 0) nem léphet fel a 3. SZABÁLY miatt, mert akkor x c-be menne) (I(x, y) < I(y, 0) nem léphet fel a 3. SZABÁLY miatt, mert akkor y c-be menne) Azonban az üzenetátviteli késleltetések felső korlátja miatt: I(y, x)  I(y, 0) + k (3) ésés I(x, y)  I(x, 0) + k (4) és(2) (ekkor nyer y)

71 2015Németh Gábor: Párhuzamos architektúrák71 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 40 Mivel a jelölt időzítőkre levezettük, hogy és (1)-ből és (3)-ból kapjuk, hogy I(x, 0) + 2k < I(y, x)  I(y, 0) + k(5) így I(y, 0) > I(x, 0) +k(6) (1) I(y, x)  I(y, 0) + k (3) Másrészt (2)-ből és (4)-ből (2) I(x, y)  I(x, 0) + k (4) I(y, 0) + 2k < I(x, y)  I(x, 0) + k(7) így I(y, 0) < I(x, 0) - k(8) Kölcsönösen ellentmondanak, vagy csak x, vagy csak y nyerhet!

72 2015Németh Gábor: Párhuzamos architektúrák72 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 41 Eddig feltételeztük, hogy a választás során további konfiguráció változás nem lép fel, ekkor azonban az 1. SPECIFIKÁCIÓ teljesülése maga után vonja a 2. SPECIFIKÁCIÓ teljesülését is. 2. SPECIFIKÁCIÓ:Ha a választás során nem lép fel végtelen meghibásodás sorozat, akkor a választás végülis sikeresen végrehajtódik.  A győztes csomópont jelöltként való fellépését követően jelölt időzítőjének lejártakor ( idő múlva) nyilvánítja magát új koordinátornak.

73 2015Németh Gábor: Párhuzamos architektúrák73 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 42 Az állapot-átmeneti tábla 4. sora szerint az újonnan megválasz- tott koordinátor (d) akkor és csak akkor tudja sikeresen átszer- vezni a rendszert, ha nem lép fel sem az e 2, sem az e 3 esemény I(x, 0) + és I(x, 0) + időpillanatok között. jelölt üzenet vétele más csomóponttól az átszervezés alatt -

74 2015Németh Gábor: Párhuzamos architektúrák74 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 43 Csak olyan csomóponttól érkezhetne jelölt üzenet (e 2 vagy e 3 esemény), mely előzőleg nem adta fel jelöltségét. ( A bizonyítás e fázisában feltételezzük, hogy nem teszünk vissza(be) (új) csomópontot és meghibásodás sem lép fel a választási és átszervezési fázisokban.) Ebből következik: (y csomópont feladta jelöltségét, amikor az I(x, y) időpilla- natban vette x jelölt üzenetét, legrosszabb esetben azonban az üzenetkésleltetési idő 0 lehet, ilyenkor I(x, y) = I(x, 0). )

75 2015Németh Gábor: Párhuzamos architektúrák75 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 44 Így a választási időzítő értéke: A átszervezési időzítő értéke a választott átszervezési módszertől függ. Ha egy vagy több csomópontot iktatunk be a rendszerbe, akkor azok jelöltként lépnek fel az 1.2. SZABÁLY szerint SZABÁLY:HA a csomópontot (újra) beiktatjuk AKKOR jelöltté válik

76 2015Németh Gábor: Párhuzamos architektúrák76 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 45 A beiktatott cso- mópont időbélye- ges jelölt üzenetet küld a többi cso- mópontnak. Mivel bármikor iktathatjuk be, a többi csomópont állapota tetsző- leges. A helyzet az állapot-átmeneti tábla 2. és 3. oszlopai alapján vizsgálható. -

77 2015Németh Gábor: Párhuzamos architektúrák77 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 46 Új csomópont be- iktatása b állapot- ban lévő csomó- pontnak okozhat problémát, ha az új csomópont órája nagyobb értéket mutat. Mivel bármikor iktathatjuk be, b órája tetszőleges. KÉT NYERŐ! A beiktatott csomópont nem biztos, hogy feladja jelöltségét, mert lehet, hogy nem kap b-től jelölt üzenetet! KÉT NYERŐ! -

78 2015Németh Gábor: Párhuzamos architektúrák78 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 47  A beiktatandó csomópont óráját 0-ra kell beállítani! Nyilvánvalóan megtörténhet, hogy az új csomópont beiktatását megelőzően elindult választási ciklusban résztvevő egy vagy több csomópont választási időzítője lejár, mielőtt új életjel üzenetet kapnának a beiktatott (és elméletileg nyertes) csomóponttól. Ezek a csomópontok jelöltként lépnek fel. Új választási ciklus indul el. Ha csak véges beiktatási sorozatunk van, akkor az előző bizonyítás szerint véges idő alatt megválasztódik egyetlen új koordinátor.

79 2015Németh Gábor: Párhuzamos architektúrák79 TERVEZÉS MÓDOSÍTOTT AUTOMATÁVAL - 48 hidegindításA rendszer helyesen viselkedik hidegindításkor is, mert ugyanaz a helyzet mint amikor egy vagy több (az összes) csomópontot beiktatunk a rendszerbe. Meghibásodások a választási/átszervezési folyamat során:Meghibásodások a választási/átszervezési folyamat során: –A megválasztott, de a rendszer átszervezését még nem befejezett új koordinátor meghibásodása nem katasztrofális, mivel a még át nem szervezett csomópontok választási időzítői le fognak járni és új választást fognak indítani. –Egy aktív, de nem koordinátor csomópont meghibásodása azt jelenti, hogy az új koordinátor az átszervezéskor nem tudja biztosan, hogy él-e, így kézfogásos átszervezési eljárást kell végrehajtania.


Letölteni ppt "V PÁRHUZAMOS ARCHITEKTÚRÁK - 5 VÉGES AUTOMATA MODELL."

Hasonló előadás


Google Hirdetések