Hajautettu prosessien hallinta. Stallings, Luku 15. Sisältöä luento 20

Samankaltaiset tiedostot
Syitä siirtoon. Hajautettu prosessien hallinta. Stallings, Luku 15. Sisältöä luento 20. Kuka/mikä päättää siirrosta? Esimerkki.

Sisältöä luento 20. Hajautettu prosessien hallinta. Stallings, Luku 15. Prosessin siirto. Syitä siirtoon. Esimerkki. Kuka/mikä päättää siirrosta?

Distribution issues, global state, clusters, CORBA, etc. Distributed objects

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

1. Johdanto. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

Tehtävä 2: Tietoliikenneprotokolla

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Algoritmit 2. Luento 13 Ti Timo Männikkö

Itsestabiloivabysanttilainen yhteisymmärrys. Timo Virkkala

Slides for Chapter 11: Time and Global State

Lukkiutuminen. Taustaa Aterioivat Filosofit Ennaltaehkäisy Havaitseminen Välttely. Andrews 4.3 Stallings (tai mikä tahansa KJ-kirja)

Lukkiutuminen. Taustaa

4-13. Ratkaisu 4: OK, mutta... vrt. 2. Ratkaisu 3: OK. Ratkaisu 5: OK? Nälkiintyminen?

Stabilointi. Marja Hassinen. p.1/48

» multiaccess channel» random access channel LAN (Ethernet) langaton. ongelma: käyttövuoron jakelu Yhteiskäyttöisen kanavan käyttö

4. MAC-alikerros. yleislähetys (broadcast) ongelma: käyttövuoron jakelu. » multiaccess channel» random access channel LAN (Ethernet) langaton

Taustaa. Lukkiutuminen. Seuraukset. Määritelmiä Lukkiuma (deadlock) päättymätön odotus BLOCKED-tilassa. prosessi P. prosessi Q. pyydä A? OK.

Monimutkaisempi stop and wait -protokolla

4. Luento: Prosessit ja säikeets. Tommi Mikkonen,

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Algoritmit 2. Luento 3 Ti Timo Männikkö

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Algoritmit 2. Luento 3 Ti Timo Männikkö

Liikenneongelmien aikaskaalahierarkia

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Kombinatorinen optimointi

Tulosta yrityksesi tuloslaskelma ja tase myöhempää tarkastusta varten. Ota varmuuskopio tilanteesta ennen tilimuunnosta.

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö

Käyttöjärjestelmät: prosessit

Algoritmit 1. Luento 1 Ti Timo Männikkö

Transaktiot - kertausta

Algoritmit 2. Luento 12 To Timo Männikkö

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Algoritmit 2. Luento 6 To Timo Männikkö

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Algoritmit 2. Luento 13 Ti Timo Männikkö

Esimerkki: Tietoliikennekytkin

Algoritmit 2. Luento 4 To Timo Männikkö

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Massadigitoinnin kokonaisuus

Algoritmit 2. Luento 10 To Timo Männikkö

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Kuva: Ilpo Okkonen

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

S Teletekniikan perusteet

Algoritmit 1. Luento 7 Ti Timo Männikkö

Asiakastietojen tuominen toisesta tietokannasta etaika-ohjelmistoon. Kuinka yhdistän tietoja eri asiakastietokantojen välillä

YH1b: Office365 II, verkko-opiskelu

Salausmenetelmät (ei käsitellä tällä kurssilla)

Pikaopas työjärjestystietojen viemiseen uuteen Outlook -kalenteriin

Asetusvalikossa voidaan määrittää erilaisia tulostimen ominaisuuksia. Lisätietoja saat valitsemalla valikon vaihtoehdon:

OPI-Maksut - Käyttötapaukset

myclub-pikaohje jojoille

Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit

811120P Diskreetit rakenteet

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

AinaUCX Web Scheduler - Käyttöohje

10. ASIAKASHALLINTA CRM; Osoitetarrat, ryhmäsähköposti ja export

OSA II: Hajautettu ympäristö. Sisältö, osa II. Ei yhteistä muistia. Sanomanvälitys. Etäproseduurikutsu. Rendezvous. Rio 2004 / Auvo Häkkinen

Kani Pawnshop -ohjelmiston käyttö Rugged Tooling

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Kelan työnantaja-asiakkaat

811120P Diskreetit rakenteet

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Pankkitositteen tietojen kohdentaminen

Kuluttajat mukaan verkkolaskujen vastaanottajiksi

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

4.3. Matemaattinen induktio

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

Outlook-synkronointi 08Q4

OVeT hinnastopalvelu (Sähkö)

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka

Tikon ostolaskujen käsittely

Lisenssin hakeminen PTC:n verkkosivun kautta

Webforum. Version 14.4 uudet ominaisuudet. Viimeisin päivitys:

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

TOR Arkkitehtuuri. - Muiden palveluiden hyödyntäminen - Tiedon loogiset vastuut - Tietovirrat - Master data -malli - Tietojen siirto

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

1 Ostolaskupalvelu...2

myclub koulutus syksy 2015 Urheilullisia elämyksiä kehittyvässä ja virikkeellisessä yhteisössä

1. päivä ip Windows 2003 Server ja vista (toteutus)

Maatalouden Laskentakeskus Oy Minun Maatilani - ohjelmiston palvelusopimus

myclub koulutus - kevät 2015 Urheilullisia elämyksiä kehittyvässä ja virikkeellisessä yhteisössä

Algoritmit 1. Luento 8 Ke Timo Männikkö

Turingin koneen laajennuksia

Maventa Connector Käyttöohje

Visma Fivaldi sovelluspalvelu: Laskut sähköpostiin ja tulostuspalveluun. 1 Yleistä

Algoritmit 2. Luento 14 Ke Timo Männikkö

Rinnakkaisohjelmistot. Liisa Marttinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Kevät 2004

Transkriptio:

LUENTO 20 Hajautettu prosessien hallinta Stallings, Luku 15 1 Sisältöä luento 20 Prosessien siirto (Process Migration) Globaali tila (hajautetussa järjestelmässä) Tila ja snapshot Ota kantaa toipumiseen (ja peruutuksiin) Hajautettu poissulkeminen Lamportin kellot tapahtuminen järjestys Hajautettu lukkiuma (ja sen havaitseminen) Tarkemmin hajautettujen järjestelmien kurssilla 2 Syksy 2007, Tiina Niklander 20-1

Prosessin siirto Prosessi vaihtaa konetta kesken suorituksen: Suoritus keskeytetään siirron ajaksi Siirretään uuteen paikkaan riittävästi tietoa nykyisestä tilasta. Suoritus jatkuu uudessa paikassa Mikä on riittävästi tietoa? Prosessin tila (prosessin kuvaaja, PCB) Osoiteavaruus (muistin sisältö) Avoimet tiedostot Muut tiedot Siirretäänkö kaikki vai vain tarvittava osa? 3 Syitä siirtoon Kuorman tasaus (Load sharing) Toiminnan tehostaminen Keskenään kommunikoivat prosessit samaan paikkaan Siirretään prosessi sinne missä käsiteltävä data on Saatavuus Prosessi on siirrettävä, jotta laskenta voi jatkua vaikka solmu ei olekaan (enää) käytettävissä Erikoistarpeet (poikkeuksellisia resursseja) Prosessi siirretään sinne, missä on sen tarvitsemia erikoislaitteistoja tai -ohjelmistoja 4 Syksy 2007, Tiina Niklander 20-2

Kuka/mikä päättää siirrosta? Käyttöjärjestelmä Esimerkiksi kuorman tasaus tai Prosessi itse Tarvitaan erikoisresursseja tai tiettyä dataa 5 Esimerkki Prosessi 3 (solmu S) Prosessiksi 4 (solmu D) Luo prosessi uuteen solmuun Siirrä prosessin tiedot (kuvaaja + muuta tarpeellista) Tuhoa prosessi lähtösolmussa 6 Syksy 2007, Tiina Niklander 20-3

Siirtopolitiikkoja Eager (all): Siirrä kaikki (muistialueet+muut) Mitä ei jätetä lähtöpaikkaan Kallis, jos kaikkea ei tarvita Precopy: Prosessia vielä suoritetaan, kun muistialueita jo kopioidaan Muutetut sivut täytyy kopioida toistamiseen lopuksi Lyhentää prosessin jäädytyksen kestoa, eli aikaa, jolloin prosessia ei voida suorittaa 7 Siirtopolitiikkoja Eager (dirty): Siirrä vain se osa muistiavaruutta, joka on keskusmuistissa ja jota on muutettu Loput sivut haettava sivunpuutoksen kautta Jos ei jaettua levyä, niin lähdekone toimittaa puuttuvia sivuja aina pyynnöstä Copy-on-reference: Siirrä sivu vasta viitattaessa Ei juurikaan viivettä prosessin siirtovaiheessa Flushing: Kopioi prosessin muuttuneet sivut levylle Lähdekoneen ei tarvitse säilyttää sivuja keskusmuistissaan 8 Syksy 2007, Tiina Niklander 20-4

Siirron aloitus: Neuvottelu Esimerkkinä Charlotte (kts. IEEE Computer, syysk. 1989) Siirtopolitiikasta vastaa ja neuvottelun aloittaa lähdekoneen Starter-palvelu Starter-palvelun tehtäviin kuuluu myös muistinhallinta ja prosessin hyväksyminen järjestelmään (long-term scheduling) Siirto toteutuu vasta kun sekä lähde- että kohdekoneen Starter-palvelut hyväksyvät siirron Vastaanottajalla on oikeus kieltäytyä 9 Neuvottelu siirrosta: Charlotte 10 Syksy 2007, Tiina Niklander 20-5

Häätö (Eviction) Jos siirtoja tehdään kuorman tasaamiseksi, niin Joutilaaseen työasemaan (idle workstation) voidaan siirtää prosesseja Kun työasemalle tulee paikallista kuormaa, voi olla tarpeen häätää siirrettyjä prosesseja vaikkapa takaisin lähtöpisteeseen (kotiin) tai jonnekin muualle Tarvitaan esim. vasteaikojen pitämiseksi hyväksyttävinä 11 Globaali tila 12 Syksy 2007, Tiina Niklander 20-6

Tilatieto Keskitetyssä järjestelmässä tilatieto on saatavilla Hajautetussa järjestelmässä ei ole mahdollista täsmällisesti tietää koko järjestelmän tilaa Käyttöjärjestelmä tai yksittäinen prosessi ei voi tietää kaikkien prosessien sen hetkistä tilaa Prosessi voi tietää vain muiden paikallisten prosessien tilan Kauempana olevien tila voidaan päätellä vain saapuvista viesteistä, jotka kertovat tilasta jonkin aika sitten 13 Esimerkki Pankkitili on jaettu kahden toimipisteen kesken Tilin kokonaissaldo on näiden osatilien summa Tilin saldo päätellään täsmälleen ajanhetkellä 3:00 PM Osasaldojen kyselyt perustuvat sanomiin 14 Syksy 2007, Tiina Niklander 20-7

Esimerkki: liikkuvat viestit Jos juuri saldokyselyn aikaan, rahaa siirretään tililtä toiselle, niin tulos voi olla virheellinen Korjaus: Kaikki siirrettävänä olevat viestit täytyy myös tarkistaa Kokonaissaldoon vaikuttavat osatilien lisäksi, myös viesteissä olevat summat 15 Esimerkki: kellovirhe Jos kellot eivät ole synkronissa ja kysely tehdään tasan klo 3:00, niin voi käydä seuraavasti Siirretään rahaa paikasta A klo 3:01 Tieto saapuu paikkaan B klo 2:59 (siis etuajassa!) Siirretty summa lasketaan kokonaissaldoon kahdesti 16 Syksy 2007, Tiina Niklander 20-8

Termejä Kanava (Channel) Kahden kommunikoivan prosessin välillä viestien vaihtoon Tila (State) Prosessin kanaviaan pitkin lähettämien ja vastaanottamien viestin jono Globaali tila (Global state) Prosessien yhdistetty tila Snapshot - tilannevedos Prosessin tilan tietyllä hetkellä Distributed Snapshot Kooste prosessien tiloista tietyllä hetkellä 17 Inconsistent Global State Globaalissa tilassa on ristiriitoja, se ei ole eheä Tässä tapauksessa viesti M3 ylittää globaalia tilaa kuvaavan rajan väärään suuntaan. (Se näyttäisi saapuneen tulevaisuudesta) 18 Syksy 2007, Tiina Niklander 20-9

Consistent Global State 19 Distributed Snapshot Algorithm 20 Syksy 2007, Tiina Niklander 20-10

Algoritmi Aloittaja: Tallenna oma tila Lähetä marker-viesti muille Marker-viestin vastaanottaja: Ensimmäinen kerta (atominen toimenpidesarja) Tallenna oma tila ja tilaan kirjataan tämän viestin saapumiskanava tyhjäksi Lähetä oma tila kaikille muille Muut viestit (muista kanavista, yksi per kanava) Kanavan tilaksi kootaan kaikki viestit, jotka ovat tulleet oman lähetyksen ja tämän viestin välissä Algoritmi päättyy äärellisessä ajassa, kunhan viestejä ei voi kadota ja viestien kulkuaika on äärellinen Globaali tila saadaan näistä prosessi- ja kanavakohtaisista tiloista Esimerkiksi aloittaja voi koota ne pyytämällä tai prosessit lähettävät ne automaattisesti 21 Distributed Snapshot Algorithm Process 1 Outgoing channels 2 sent 1, 2, 3, 4, 5, 6 3 sent 1, 2, 3, 4, 5, 6 Incoming channels Process 3 Outgoing channels 2 sent 1, 2, 3, 4, 5, 6, 7, 8 Incoming channels 1 received 1, 2, 3 stored 4, 5, 6 2 received 1, 2, 3 stored 4 4 received 1, 2, 3 Process 2 Outgoing channels 3 sent 1, 2, 3, 4 4 sent 1, 2, 3, 4 Incoming channels 1 received 1, 2, 3, 4 stored 5, 6 3 received 1, 2, 3, 4, 5, 6, 7, 8 Process 4 Outgoing channels 3 sent 1, 2, 3 Incoming channels 2 received 1, 2 stored 3, 4 22 Syksy 2007, Tiina Niklander 20-11

Poissulkeminen hajautetussa järjestelmässä Perusominaisuuksia Poissulkeminen on välttämätöntä ja onnistuttava: vain yksi prosessi kerrallaan saa olla kriittisellä alueella Prosessi, joka suoritus päättyy (ei-kriittisellä alueella), ei saa häiritä muiden toimintaa Kriittiselle alueelle pääsyä ei saa joutua odottamaan äärettömän kauan: ei siis sallita nälkiintymistä tai lukkoja 23 Poissulkeminen hajautetussa järjestelmässä Oletukset: Ei jaettua muistia Ei jaettua (synkronoitua) kelloa Kaikki tieto kulkee vain viesteissä Lisää: RiO ja Hajautetut järjestelmät Varattavaa asiaa kutsutaan kriittiseksi alueeksi Vain yksi kerrallaan, varauksen kesto on äärellinen Ongelma: Poissulkeminen ilman nälkiintymistä tai lukkiumaa 24 Syksy 2007, Tiina Niklander 20-12

Malli 25 Keskitetty algoritmi Nimitetään yksi solmu vastuulliseksi kontrollisolmuksi Se myöntää luvat ja pitää kirjaa varauksista Vain sillä on tieto varauksista, mutta Jos se kaatuu, niin varaukset katoavat eikä kukaan enää tiedä ketkä voivat käyttää resursseja ja ketkä eivät Ongelmia: Single point of failure Saattaa muodostua pullonkaulaksi 26 Syksy 2007, Tiina Niklander 20-13

Hajautettu algoritmi Kaikilla solmuilla suurin piirtein saman verran tietoa globaalista tilasta Kullakin on vain osittainen kuva tilasta ja se joutuu tekemään päätökset tämän puutteellisen tiedon varassa Kaikilla solmuilla on samanlainen päätösvalta ja ne tekevät suurin piirtein saman verran töitä päätöksen eteen Yksittäisen solmun kaatuminen ei yleensä kadota liikaa tietoa, kokonaisuus voi edelleen toimia Ongelma: Ei synkronoitua kelloa sanomien kulkuajat vaihtelevat niiden saapumisjärjestys eri solmuihin voi vaihdella 27 Tapahtumien järjestäminen Sanomien järjestyksellä on merkitystä prosessien käsitykselle globaalista tilasta Tilan määritelmähän oli prosessien lähettämät ja vastaanottamat sanomat Jotta hajautettujen prosessien tilakäsitykset vastaisivat toisiaan, on sanomat saatava jollain tavalla järjestykseen. Käsitellään tapahtumina vain sanomien lähettämiset Lamport: Time, clocks and the orrdering of events, CACM, July 1978 - esittää yhden mahdollisuuden 28 Syksy 2007, Tiina Niklander 20-14

Tapahtumien järjestäminen Tapahtumat (sanomien lähettämiset) on järjestettävä, jotta vältetään lukkiumat ja taataan poissulkeminen Varaamiset ja vapauttamiset tehdään sanomien avulla Ongelmia: kellojen vaihtelu, kommunikointiviipeet Voidaan käyttää loogisia aikaleimoja (Time-stamping) Näiden avulla saadaan tapahtumat järjestettyä Eivät siis kellonaikoja vaan sanomien numerointeja 29 Aikaleimat Jokaisessa solmussa on oma laskuri (virtuaalikello), josta saadaan aikaleimat Näillä saadaan osittaisjärjestys Lisäksi solmut on numeroitu Näistä saadulla lisätiedolla saadaan täydellinen järjestys Viestien lähetys: liitä viestiin oma tunniste ja oma aikaleima (kasvata aikaleimaa aina ennen lähetystä) Kaikki viestit lähetetään kaikille Viestien vastaanotto: päivitä oma aikaleima: Uusi arvo on 1+ max(oma aikaleima, saapunut aikaleima) 30 Syksy 2007, Tiina Niklander 20-15

Esimerkki 1 31 Esimerkki 2 32 Syksy 2007, Tiina Niklander 20-16

Yhden prosessin tilasiirtymät 33 Poissulkeminen käyttäen vuoromerkkiä (Token) Jos yksi ja sama kriittinen alue kaikilla (yksi resurssi) Siirrä vuoromerkkiä prosessilta toiselle Vuoromerkin haltijalla on oikeus suorittaa kriittinen alue, muut joutuvat odottamaan vuoroaan Kun prosessi poistuu kriittiseltä alueelta, se siirtää vuoromerkin eteenpäin jollekin toiselle prosessille Ongelma: vuoromerkin katoaminen 34 Syksy 2007, Tiina Niklander 20-17

Lukkiumat (Deadlocks) 35 Lukkiumat Hajautetuissa järjestelmissä lukkiuman syynä voi olla resurssit tai viestit Resurssien osalta lukkiuma voi syntyä vain, jos Poissulkeminen (Mutual exclusion) Seuraavaa resurssia voi odottaa ja pitää lukkoa aiemmasta edelleen (Hold and wait) Ei irroittamista (No preemption) Odotuksista muodostuu rengas (Circular wait) Lukkiumia voidaan Estää prevention Välttää avoidance Havaita detection 36 Syksy 2007, Tiina Niklander 20-18

Phantom Deadlock Hajautetuissa järjestelmissä on lukkiumaa etsittäessä syytä huomioida myös jo lähetetyt (uudet) viestit. b) näyttäisi lukkiumalta, mutta ei sitä ole. 37 Lukkiuman estäminen (Deadlock Prevention) Ketjuuntunut odotus voidaan estää, esimerkiksi sallimalla resurssin varaus vain tietyssä järjestyksessä. Hold-and-wait voidaan estää vaatimalla kaikkien resurssien varaamista kerralla. Prosessi odottaa kunnes se saa ne kaikki. Ongelma: Nämä ratkaisut toimivat vain kun tiedetään resurssitarpeet etukäteen (viimeistään suorituksen alussa) Tietokannoissa käytetään yleensä wait-die tai woundwait -menetelmiä, joissa ei tarvita ennakkotietoa 38 Syksy 2007, Tiina Niklander 20-19

Lukkiuman välttäminen (Deadlock Avoidance) Jokaisen solmun pitäisi tietää järjestelmän globaali tila koko ajan Globaalin tilan turvallisuuden tarkistus pitää tehdä poissulkevasti, jotta tila varmasti on edelleen turvallinen Tilan turvallisuuden tarkistus on raskasta, kun järjestelmässä on paljon prosesseja ja resursseja Hajautettu lukkiuman välttäminen on epäkäytännöllistä 39 Hajautettu lukkiuman havaitseminen (Distributed Deadlock Detection) Jokainen solmu tuntee vain omat resurssinsa Lukkiuma voi liittyä hajautettuja resursseja Keskitetty yksi solmu vastuussa lukkiuman havaitsemisesta Hierarkkinen havaintovastuu sillä (alimmalla tasolla), jonka alipuussa lukkiutuneet solmut ovat Hajautettu kaikki solmut osallistuvat lukkiuman havaitsemiseen 40 Syksy 2007, Tiina Niklander 20-20

Lukkiuma sanomanvälityksessä Mutual Waiting (odotetaan viestiä toisilta, jotka odottavat) Kaikki lukkiutuneet solmut odottavat viestiä vain muilta samassa odotustilassa olevilta solmuilta ja yhtään sanomaa ei ole liikkeellä. P1 odottaa joko P2 tai P5 41 Lukkiuma sanomanvälityksessä Viestipuskurit täynnä Havaittu mm. pakettikytkentäisissä verkoissa Kuvan esimerkki: A:n puskuri on täynnä B:lle meneviä viestejä, joten sinne ei voi vastaanottaa uusi viestejä. B:n tilanne on päinvastainen. 42 Syksy 2007, Tiina Niklander 20-21

Lukkiuma sanomanvälityksessä Viestipuskurit täynnä Tilanne voi olla myös ketju ja monimutkainen. Kuvan esimerkissä kunkin solmun puskurit ovat täynnä parin solmun päähän meneviä viestejä. 43 44 Syksy 2007, Tiina Niklander 20-22