• Ei tuloksia

Paikallinen stabilointi

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Paikallinen stabilointi"

Copied!
15
0
0

Kokoteksti

(1)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Paikallinen stabilointi

Seminaari Hajautetut algoritmit:

Itsestabiloivat algoritmit

Aila Koponen 9.10.07

(2)

Paikallinen stabilointi Paikallinen stabilointi

Joitain ongelmia itsestabiloinnissa Joitain ongelmia itsestabiloinnissa

! ! Superstabilointi Superstabilointi

! ! Virheit Virheit ä ä erist erist ä ä v v ä ä t itsestabiloivat algoritmit t itsestabiloivat algoritmit

! ! Virheenhakukoodit ja korjaus Virheenhakukoodit ja korjaus

(3)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Ongelmia itsestabiloinnissa Ongelmia itsestabiloinnissa

Tilanne

Tilanne: Itsestabiloivat algoritmit eiv: Itsestabiloivat algoritmit eiväät takaa t takaa

kkääyttyttääytymistytymistääään jn jäärjestelmrjestelmään stabiloitumisen aikana.n stabiloitumisen aikana.

Virheen l

Virheen lööytyminen voi alkujaan kestääytyminen voi alkujaan kestää --

virhetilanteeseen sotkeutunut alue voi kasvaa virhetilanteeseen sotkeutunut alue voi kasvaa

suureksikin suureksikin

Stabiloinnin aiheuttama muutosalue voi kattaa Stabiloinnin aiheuttama muutosalue voi kattaa

pahimmassa tapauksessa koko j

pahimmassa tapauksessa koko jäärjestelmrjestelmäänn Stabiloitumiseen kuluva aika on ep

Stabiloitumiseen kuluva aika on epäämmääräärääineninen

(4)

Superstabilointi Superstabilointi

Superstabiloiva algoritmi on m

Superstabiloiva algoritmi on määritelmääritelmäänsänsä mukaan aina mukaan aina itsestabiloiva ja lis

itsestabiloiva ja lisääksi:ksi:

Virhemallina konfiguraatiomuutos (+

Virhemallina konfiguraatiomuutos (+--linkki)linkki)

JJärjestelmärjestelmää saavuttaa mistäsaavuttaa mistä tahansa tilasta turvallisen tahansa tilasta turvallisen konfiguraation hallitusti s

konfiguraation hallitusti sääilyttäilyttäen porttiehdon en porttiehdon

stabiloitumisen aikana. Porttiehto on vahvin ehto joka stabiloitumisen aikana. Porttiehto on vahvin ehto joka pitääpitää topologiamuutoksen aikana.topologiamuutoksen aikana.

Stabiloitumisvauhti oltava ripe

Stabiloitumisvauhti oltava ripeää, esimerkiss, esimerkissää

superstabiloinnin aikavaativuus on yksi asynkroninen superstabiloinnin aikavaativuus on yksi asynkroninen

sykli sykli

(5)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Superstabilointi 2/4 Superstabilointi 2/4

Esimerkkin

Esimerkkinää superstabiloivaksi muuntamisesta ksuperstabiloivaksi muuntamisesta käytetäytetään itsestabiloivaa ään itsestabiloivaa väritysalgoritmia prosessori ritysalgoritmia prosessori PPi i :lle::lle:

Turvallinen konf: naapuriprosessorit eri v

Turvallinen konf: naapuriprosessorit eri väriset, naapureita max äriset, naapureita max ∆, , värejrejää ∆+1+1 Jossain vaiheessa suurimman id:n omaava prosessori kiinnitt

Jossain vaiheessa suurimman id:n omaava prosessori kiinnittääää vvärinsärinsää jolloin jolloin pysyv

pysyvää värjrjääytyminen ytyminen ’’suuremastasuuremasta ’pienimppienimpäääänn’ alkaa -alkaa - turvallinen konfiguraatio turvallinen konfiguraatio saavutetaan ennen pitk

saavutetaan ennen pitkääää. .

od

10

write ri.color := color

09

colori := choose(\\ GColors)

08

if colori GColors then

07

od

06

If ID(m) > I then GColors := GColors ∪ lrm.color

05

lrm := read (rm)

04

for m := 1 to δ do

03

GColors := Ø //’suurempien’ naapureiden värit 02

do forever

01

(6)

Superstabilointi 3/4 Superstabilointi 3/4

Prosessorit ketjussa suuremmasta ID:st

Prosessorit ketjussa suuremmasta ID:stää pienemppienempääään. Turvallisessa n. Turvallisessa konfiguraatiossa

konfiguraatiossa ””naapureiden maksimimnaapureiden maksimimäääärä ∆==22” ja ”ja ”värien rien mmääräää ∆+1+1”. Stabiloituminen tapahtuu, mutta:. Stabiloituminen tapahtuu, mutta:

Topologiamuutos s

Topologiamuutos säilytti naapureiden maksimimäilytti naapureiden maksimimäääärrääehdon mutta ei ehdon mutta ei eriveriväärisyysehtoarisyysehtoa

Pysyv

Pysyvää värjrjääytyminen ’ytyminen ’suuremastasuuremasta’ ’pienimppienimpäääänn’ alkaa ennen pitkalkaa ennen pitkääää Identiteettien j

Identiteettien jäärjestyksen vuoksi alkaa vrjestyksen vuoksi alkaa värjärjääytymisaaltoytymisaalto ja tuurilla ja tuurilla kaikki vaihtavat v

kaikki vaihtavat vääriäriä......

(7)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Superstabilointi 4/4 Superstabilointi 4/4

write ri.color := ⊥

16

colori := ⊥

15

if recoverij and j>i then //topologiamuutos 14

interrupt section

13

od

12

write ri.color := color

11

colori := choose(\\ AColors)

10

if colori = ⊥ or colori GColors then

09

od

08

if ID(m) > I then GColors := GColors ∪ lrm.color

07

AColors := AColors ∪ lrm.color

06

lrm := read (rm)

05

for m := 1 to δ do

04

GColors := Ø //’suurempien’ naapureiden värit 03

AColors := Ø //kaikkien naapureiden värit 02

do forever

01

Superstabiloiva v

Superstabiloiva vääritysalgoritmi prosessori ritysalgoritmi prosessori PPi i :lle::lle:

Värejrejää nyt yksi ylimnyt yksi ylimääräääinen, inen, ⊥ . Perusv. Perusvääripaletti kuten edellripaletti kuten edellää. . Toipuvan linkin p

Toipuvan linkin päissäissää olevat prosessorit saavat signaalin olevat prosessorit saavat signaalin recoverrecoverijij

(8)

Virheit

Virheit ä ä erist erist ä ä v v ä ä t itsestabiloivat t itsestabiloivat algoritmit

algoritmit

Virhemalli olettaa ett

Virhemalli olettaa ettää vain vvain vääliaikaisia vikoja (liaikaisia vikoja (transient transient faults

faults) tapahtuu pitk) tapahtuu pitkääkestoisissa suorituksissa (kestoisissa suorituksissa (long-long-lived lived tasks

tasks))

MistMistää tahansa tilasta (ei vain alkutilasta) lätahansa tilasta (ei vain alkutilasta) lähtien htien voidaan saavuttaa turvallinen konfiguraatio

voidaan saavuttaa turvallinen konfiguraatio Stabiloitumiseen kuluva aika on rajoitettu

Stabiloitumiseen kuluva aika on rajoitettu O(f) O(f) sykliin sykliin kun kun f:f:n prosessorin tilat ovat korruptoituneetn prosessorin tilat ovat korruptoituneet

Esimerkkin

Esimerkkinää käkäytetytetään kiinteään kiinteään tuloksen antavaa n tuloksen antavaa itsestabiloivaa synkronista algoritmia, joka on

itsestabiloivaa synkronista algoritmia, joka on muodostettu p

muodostettu pääivitysalgoritmista (ivitysalgoritmista (2.11. Esa Elovaara2.11. Esa Elovaara) ) lisäälisäämmäällllää ””settiin”settiin” ko.prosessorin kiinteko.prosessorin kiinteää syösyötete

(9)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Virheit

Virheit ä ä erist erist ä ä v v ä ä t... 2/4 t... 2/4

Esimerkkin

Esimerkkinää virheitvirheitääeristäeristäväksi muuntamisesta kksi muuntamisesta kääytetytetään kiinteään kiinteään tuloksen n tuloksen tuottavaa synkronista algoritmi

tuottavaa synkronista algoritmiää prosessori prosessori PPi i :lle.:lle.

EntäEntä jos tilojen muuttumisen lisäjos tilojen muuttumisen lisäksi syksi syöötteet muuttuvat? ...paljon kukkua tteet muuttuvat? ...paljon kukkua tulostemuuttujissa ennenkuin tilanne stabiloituu...

tulostemuuttujissa ennenkuin tilanne stabiloituu...

write Oi := ComputeOutputi(Inputs(Processorsi))

11

write Processorsi := ConPrefix(ReadSeti)

10

ReadSeti:= ReadSeti \\NotMinDist(Pj ,ReadSeti)

09

forall Pj processors(ReadSeti) do

08

ReadSeti:= ReadSeti {<i,0,Ii>}

07

ReadSeti:= ReadSeti ++ <*,1,*>

06

ReadSeti:= ReadSeti \\ <i,*,*>

05

ReadSeti:= ReadSeti read(Processorsj)

04

forall Pj N(i) do

03

ReadSeti := Ø

02

upon a pulse

01

(10)

MajorityInputs(Processorsi))

21

write Oi := ComputeOutputi(RepairCounteri,

20

RepairCounteri := min(RepairCounteri+ 1, d + 1)

19

else

18

RepairCounteri := 0

17

((exists)<*,*,*,A> ∈ Processorsi| A Inputs(Processorsi)) then

16

if (Oi ComputeOutputi(Inputs(Processorsi))) or

15

if RepairCounteri = d + 1 then

14

write Processorsi:= ConPrefix(ReadSeti)

13

ReadSeti:= ReadSeti\\ NotMinDist(Pj ,ReadSeti)

12

forall Pj processors(ReadSeti) do

11

ReadSeti:= ReadSeti {<i,0,Ii,Ai>}

10

ReadSeti:= ReadSeti ++ <*,1,*,*>

09

ReadSeti:= ReadSeti \\ <i,*,*,*>

08

od

07

RepairCounteri := min(RepairCounteri, read(RepairCounterj))

06

If RepairCounteri d + 1 then

05

ReadSeti:= ReadSeti read(Processorsj)

04

forall Pj N(i) do

03

ReadSeti := Ø

02

upon a pulse

01

Virheit Virheit ä ä erist erist ä ä v v ä ä t... 3/4 t... 3/4

(11)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Virheenhakukoodit ja korjaus Virheenhakukoodit ja korjaus

Virhemallina k

Virhemallina kääytetytetääään n huonoimman tilaphuonoimman tilapääisen vian isen vian malli

mallin (n (malicious transient fault modelmalicious transient fault model) sijaan ) sijaan tavanomaisen tavanomaisen vvääliaikaisen vian mallialiaikaisen vian mallia ((non-non-malicious transient fault modelmalicious transient fault model) ) pitkpitkääkestoisille suorituksille vkestoisille suorituksille väähenthentäämmääään n

keskim

keskimäääärrääististää vakiinnuttamisaikaavakiinnuttamisaikaa Virheenhakukoodeilla

Virheenhakukoodeilla ((error-error-detection codes) detection codes) virheiden virheiden llööytytääminen tehostuuminen tehostuu

Jos virheenhakukoodit eiv

Jos virheenhakukoodit eiväät havaitse kaikkia t havaitse kaikkia virhemallin sallimia vikoja, voidaan k

virhemallin sallimia vikoja, voidaan kääyttyttääää tilaptilapääisen isen vian nuuskijoita

vian nuuskijoita ((transient fault detectorstransient fault detectors) ja ) ja vahtikoiralaskureita

vahtikoiralaskureita ((watchdog counterswatchdog counters) ) Esitelty

Esitelty korjausskeemakorjausskeema kkäyttäyttääää virheenhakuvirheenhaku-koodeja ja -koodeja ja pyramiditilatietorakenteita

pyramiditilatietorakenteita [Dol00, luku 5.3] [Dol00, luku 5.3]

(12)

Virheenhakukoodit ja korjaus (2/4) Virheenhakukoodit ja korjaus (2/4)

Virheenhakukoodit

Virheenhakukoodit lasketaan yksittlasketaan yksittääisen prosessorin isen prosessorin nykytilasta

nykytilasta

Talletetaan prosessorikohtaisesti Talletetaan prosessorikohtaisesti

Askeleen suorituksen alussa tarkistetaan sopiko Askeleen suorituksen alussa tarkistetaan sopiko

edellinen koodi tilaan; jos sopi

edellinen koodi tilaan; jos sopi –– jatketaan suoritustajatketaan suoritusta Tilap

Tilapääisen vian nuuskijanisen vian nuuskijan lölöydettyydettyää

sattumanvaraisen tilan prosessori laittaa sattumanvaraisen tilan prosessori laittaa

vahtikoiralaskurin

vahtikoiralaskurin ppäääällelle

Korjausskeema saa hoitaa viat pois Korjausskeema saa hoitaa viat pois

Jos viat eiv

Jos viat eiväät poistuneet skorjausskeeman t poistuneet skorjausskeeman tarvitsemassa ajassa (

tarvitsemassa ajassa (O(n)O(n)) vahtikoiralaskurin ) vahtikoiralaskurin ylyläärajalla kun nuuskinta uusittiin, nollataan taas rajalla kun nuuskinta uusittiin, nollataan taas

(13)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Virheenhakukoodit ja korjaus (3/4) Virheenhakukoodit ja korjaus (3/4)

¿¿Pyramiditilatietorakenne Pyramiditilatietorakenne prosessorille Pprosessorille i ?

[Dol00, sivut 123

[Dol00, sivut 123--133]133]

∆ii= = Vi[0], [0], Vi[1], [1], Vi[2], ... , [2], ... , Vi[d[d] koostuu tilannekuva-] koostuu tilannekuva- eli ”eli ”snapshotsnapshot”-- nnäkymistäkymistää Vi[l[l] (] (viime viikolla: Stabiloijatviime viikolla: Stabiloijat))

ll -s-äteinen nteinen näkymäkymää kuvaa konfiguraation topologian määkuvaa konfiguraation topologian määrittelemrittelemäälläällään n alueella eli k.o. prosessorista l

alueella eli k.o. prosessorista läähtien htien ll :n prosessorin pää:n prosessorin päähän. n.

Näkymkymän muodostava algoritmi kerän muodostava algoritmi kerääää, h, häiritsemäiritsemäättttää muuta toimintaa, muuta toimintaa, prosessoreiden tilat ja viestipuskureiden sis

prosessoreiden tilat ja viestipuskureiden sisäällllöt. öt.

Erityisesti pyramidi

Erityisesti pyramidi ∆i sisäsisältltääää Pi keskiset näkeskiset näkymäkymät t Vi[l[l] joissa nä] joissa näkymkymään ään kuuluvan prosessorin et

kuuluvan prosessorin etäisyys keskustasta on korkeintaan äisyys keskustasta on korkeintaan ll ja myja myös ös tilannekuva on otettu

tilannekuva on otettu l l aikayksikköäaikayksikköä sitten. sitten.

Pyramidin pohjalla on n

Pyramidin pohjalla on nääkymkymää koko jkoko järjestelmärjestelmääststää, jonka sä, jonka säde on siis de on siis dd..

(14)

Virheenhakukoodit ja korjaus (4/4) Virheenhakukoodit ja korjaus (4/4)

Korjausskeemassa

Korjausskeemassa oletetaan ettäoletetaan että kaikki virheet lökaikki virheet löydetydetääään n virheenhakukoodeilla

virheenhakukoodeilla Prosessoreiden k

Prosessoreiden kääyttyttöötilat: tilat:

viallinen, rajatapaus, toiminnassa viallinen, rajatapaus, toiminnassa Vian havainneet prosessorit (

Vian havainneet prosessorit (→ viallinenviallinen) alustavat tilapyramidinsa ) alustavat tilapyramidinsa tyhjiksi ja alkavat ker

tyhjiksi ja alkavat keräämäämääään vikaantumattomilta naapureiltaan tilatietoja n vikaantumattomilta naapureiltaan tilatietoja niiden pyramideista

niiden pyramideista Naapuri on

Naapuri on viallinen, viallinen, itse ei todennut vikaaitse ei todennut vikaa rajatapaus rajatapaus Rajatapaukset

Rajatapaukset odottavat kunnes odottavat kunnes viallisetvialliset ovat saaneet koostettua ovat saaneet koostettua pyramidinsa ja sitten vasta kokoavat omanssa uudestaan

pyramidinsa ja sitten vasta kokoavat omanssa uudestaan Lopuksi voidaan koostaa luotettavasti n

Lopuksi voidaan koostaa luotettavasti nääististää tiedoista ja vikaantuneen tiedoista ja vikaantuneen prosessorin omista tilasiirtym

prosessorin omista tilasiirtymääfunktioista k.o. prosessorin tiedot ennen funktioista k.o. prosessorin tiedot ennen vikaantumista

vikaantumista

Topologiatiedoista ja kierroslaskureista voidaan p

Topologiatiedoista ja kierroslaskureista voidaan päätelläätellää milloin pämilloin päivitykset ivitykset ovat ohi. Kaikki vaihtavat samaan aikaan

ovat ohi. Kaikki vaihtavat samaan aikaan toiminnassatoiminnassa -tilaan. -tilaan.

(15)

Aila Koponen HY/TKTL HAJALG seminaari Paikallinen stabilointi 16.11.2007

Viitteet Viitteet

Dol00

Dol00 Shlomi Dolev. SelfShlomi Dolev. Self--Stabilization. MIT Press, Stabilization. MIT Press, 2000.

2000.

Viittaukset

LIITTYVÄT TIEDOSTOT

L¨ amp¨ otilaparametri T s¨ a¨ atelee, kuinka suurella todenn¨ ak¨ oisyydell¨ a sallitaan siirtym¨ a huonompaan ratkaisuun.. L¨ amp¨ otila T alustetaan johonkin korkeaan arvoon

√ Puussa alaspäin kulkevaan tietoon liitetään tieto siitä, onko alustus käynnissä vai ei...

Itsestabiloiva virheitä eristävä algoritmi pyrkii, lähtien turvallisesta konfiguraatiosta, palauttamaan turvallisen konfiguraation O(f) syklissä, kun f:n prosessorin tilat

• itse asiassa on helppo näyttää, että lukkiutunut järjestelmä on aina kehälle vakiintunut. • tavoitteena on näyttää, että palautuksia ei olla

Heikki Huilajan väitöstutkimus sijoittuu työn sosiologian alueelle ja se kohdistuu vähemmän tutkittuun työelämän osa-alueeseen: rekrytoin- teihin. Näin tutkimus tuo

Vajaa puolet vastaajista ilmoitti, että henkilös- tön vähyys on haitannut joko paljon tai erittäin paljon opetuksen järjestäjän itsearviointia.. Yli 80 %:lla

Ei siten ole lainkaan ihme, että prosessi oli paikallisen metsäpolitiikan kannalta ”vinoutunut”: keskustelun kohteena oli puuraaka-aineen tuotantomäärä eivät- kä

Esteetön ja sosiaalinen matkailu tähtäävät toimintatapoina siihen, että mahdollisimman monella olisi mahdollisuus matkailla ja kokea matkailuelämyksiä, mutta