14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Arto Salminen arto.salminen@tut.fi



Samankaltaiset tiedostot
14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

TURVAVÄYLÄSEMINAARI. Erilaiset kenttäväylät ja niiden kehitys Jukka Hiltunen

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi

OSI ja Protokollapino

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr Veli-Pekka Eloranta

Integrointi. Ohjelmistotekniikka kevät 2003

» 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

Projektityöt. Sami Alaiso, Jyri Lujanen 30. marraskuuta 2009

Nokeval No Käyttöohje. Tekstinäyttö 580-ALF

S Tietoliikennetekniikan perusteet. Piirikytkentäinen evoluutio. Annukka Kiiski

SM210 RS485 - JBUS/MODBUS mittarille SM102E. Käyttöohje

1. Väyläjärjestelmien jaottelu

IPTV:n laadun ja luotettavuuden mittaamisesta. Jorma Kilpi

Sovellusarkkitehtuurit

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Kuva maailmasta Pakettiverkot (Luento 1)

SM211 RS485 - JBUS/MODBUS mittarille SM103E. Käyttöohje

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Internet Protocol version 6. IPv6

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki

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

KÄYTTÖOHJE HLS 35. Versio (6) TOIMINTOKAAVIO

Protokollien yleiset toiminnot

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

Tehtävä 2: Tietoliikenneprotokolla

Käyttöohje LogiComm ohjausjärjestelmä

Työasema- ja palvelinarkkitehtuurit IC Tallennusjärjestelmät. Tallennusjärjestelmät. 5 opintopistettä.

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Hammastankohissin modernisointi. Heikki Laitasalmi

Avoimen luukun varoitussanomat. Toiminto

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Standardiliitännät. Tämä ja OSI 7LHWROLLNHQQHWHNQLLNDQSHUXVWHHW $(/&7 0DUNXV3HXKNXUL

Lisää reititystä. Tietokoneverkot 2009 (4 op) Syksy Futurice Oy. Lisää reititystä. Jaakko Kangasharju

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Lisää reititystä. Tietokoneverkot 2008 (4 op) Syksy Teknillinen korkeakoulu. Lisää reititystä. Jaakko Kangasharju

K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6)

VMU-C EM. Asennus ja käyttö

9. Luento: Ohjelmistotyö. Tommi Mikkonen,

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Turva-automaation suunnittelu

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet.

Liikenneverkot-tietotuote

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

GateWay v10 Laitekuvaus

Arto Salminen,

Tietoliikenne II (2 ov)

IBM Iptorin pilven reunalla

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

TK Palvelinympäristö

Tietoliikenne II (2 ov)

Stallings, Luku 8.1. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-1

AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker

Stallings, Luku 7. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6-1

Rosemount 3051S sähköiset ERS-anturit

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

SÄHKÖKÄYTÖN EMULOINTI SIMULINK-DSPACE-M1 -YMPÄRISTÖSSÄ

ITSM. Olli Saranen Senior Consultant Avoset Oy Oliko ennen kaikki paremmin kuin nykyään? Kivikaudelta nykyaikaan

FMS:n CAN-liitäntä. Johdanto

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa

1. Maarittele termit/vastaa Iyhyesti. Arvostelu: 1p/oikea vaihtoehto. Ei miinuspisteita

Carlink langaton autojen välinen tietoverkko

Yleisiä tietoja CAN-verkosta. Yleistä. Lisätietoja CAN-yhtyedestä on annettu seuraavissa asiakirjoissa:

Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka

Tietorakenteet ja algoritmit

SMART BUSINESS ARCHITECTURE

Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

Kuva 8.7. u Muunnos prosessin sivunumerosta sivutilanumeroksi u Kussakin alkiossa: u Katenoimalla. u MMU:ssa; juuri äsken käytettyjä muunnoksia

T Harjoitustyöluento

ABB i-bus KNX taloautomaatio. Sakari Hannikka, Kiinteistöjen ohjaukset KNX vai ABB Group May 11, 2016 Slide 1

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

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Tuisku Tomi. CAN-väylä. Raskaankaluston standardi SAE J1939

ELEC-C7241 Tietokoneverkot Kuljetuskerros

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Lumejärjestelmä Xen. Reino Miettinen

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

Laundry Center. Radiotaajuuslinkki pesukoneen ja kuivausrummun välillä

Diplomityöseminaari

Monimutkaisempi stop and wait -protokolla

OHJ-4301 Sulautettu Ohjelmointi

Käyttöjärjestelmän rakenne

Kansalaisen asiointitilin sähköposti-integraatio. Ratkaisukuvaus

Käyttöjärjestelmät: prosessit

S Teletekniikan perusteet

Käyttöohje V1.0 DCS771. USB-RS-485-muunnin

Tosiaikajärjestelmät Luento 8: Tietoliikenneverkkoja ja -protokollia. Tiina Niklander. Jane Liu: Real-time systems, luku 11 + artikkeleja

Toimilohkojen turvallisuus tulevaisuudessa

Työasema- ja palvelinarkkitehtuurit IC Storage. Storage - trendit. 5 opintopistettä. Petri Nuutinen

DownLink Shared Channel in the 3 rd Generation Base Station

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Transkriptio:

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä Arto Salminen arto.salminen@tut.fi

Agenda Johdanto Hajautettujen järjestelmien väyliä CAN LON Pienen laitteen sisäinen hajautus OpenCL Network on Terminal Architecture (NoTA) Yhteenveto

Johdanto Perinteisessä sulautetussa toteutuksessa dynaamisuus minimoitu Jokaisesta laitteesta oma väylä keskuskoneelle, jotta väylä ei aiheuta dynaamisuutta Viime aikoina yhä useammin 1 väylä, johon lisälaitteet liittyvät (halvempi ja joustavampi ratkaisu) Ongelmia Laadunvarmistus (kilpailutilanteet väylällä, ajoitukset, skedulointi) Näkyvät usein käyttäjälle Dynaaminen skedulointi Ensin paikallisesti, jos ei voida tehdä niin sitten vasta muut suorittimet Periaatteessa myös kuorman jako (vaatii reaaliaikakäyttöjärjestelmän, ja silläkin tulokset huonoja)

Perinteinen järjestelmä Sensoreita Ohjain Aktuaattoreita Reaaliaikaisuuden hallinta suoraviivaista Jokaisella solmulla oma yhteys ohjaimeen S C A S A S A

Väyläohjattu järjestelmä Solmut liitetty väylälle Kaapelointi edullisempaa Aktuaattoreiden ja sensoreiden lisääminen ja poistaminen helpompaa C SUC S A S A A S

Hajautettu järjestelmä Järjestelmän kasvaessa päädytään toiminnallisuuden hajauttamiseen Solmu Solmu Solmu SUC S A S A A S A A S

Etuja Laskeminen tapahtuu lähellä datan lähdettä ja toiminnan kohdetta Älykkäät sensorit / toimilaitteet Vikasietoisuus Viat voidaan eristää Modulaarisuus Järjestelmä voidaan rakentaa erillisissä osissa Skaalautuvuus Uuden toiminnallisuuden lisääminen helpompaa Ylläpidettävyys Järjestelmän osat voi helpohkosti vaihtaa ja päivittää

Määritelmiä Multiple computers interconnected by a network that share some common state and cooperate to achieve some common goal. -- S. Mullender Distributed Systems, 1993. A system is distributed if the message transmission delay is not negligible compared to the time between events in a single process. Leslie Lamport A distributed system is the one that prevents you from working because of the failure of a machine that you had never heard of. Leslie Lamport

Väylästä tulee järjestelmän selkäranka Kommunikaatiosta seuraa viiveitä Ajoitusten toteuttaminen haastavaa Järjestelmän tilan hallinta vaikeutuu Kommunikointi epäluotettavaa Väylän hajoaminen = järjestelmän hajoaminen Virheet voivat heijastua muille solmuille

Väylä Verkon topologioita Yleinen Monia protokollavaihtoehtoja Väylän katkeaminen aiheuttaa sen jakautumisen osiin Tähti Vikojen isolointi mahdollista Väylän fyysinen katkeaminen vaikuttaa vain yhteen solmuun Enemmän johdotusta Riippuvainen keskittimen toiminnasta Rengas Yhdistelmät myös mahdollisia

Lisää topologioita

Kohinan hallitseminen - Kaksi johdinta, joilla invertoidut tilat, antaa paremmat mahdollisuudet selvitä häiriöisessä ympäristössä - Galvaaninen isolointi - Optinen - Magneettinen (muuntaja) - Enkoodaus - Return-to-zero (RZ) - Non-return-to-zero (NRZ) - Manchester encoding

Protokollan vaikutus väylän suorituskykyyn Viesteissä otsikkokentät ja virheentarkistelu Enkoodaus Törmäykset, tokenit, pollaus

Viestien rakenne Synkronointi Viestin alussa Otsikko Prioriteetti, viestin reititys Data Virheenkorjaus Tarkistussumma Loppubitit

Viestien priorisoinnista Paikallinen priorisointi Mikä solmun viesteistä lähetetään ensin? Globaali priorisointi Mikä solmu saa väylän hallintaansa ensin? Round-robin Solmun prioriteetti Viestin prioriteetti Latenssin vähentäminen korkeaprioriteettisten solmujen kohdalla vs. reiluuden varmistaminen ja nälkiintymisen estäminen matalaprioriteettisten solmujen kohdalla

Joitakin väyliä CAN (Controller Area Network) Käyttökohteina hankalat paikat, laajasti käytössä esim. autoteollisuudessa Reaaliaikaominaisuuksia LON Ei reaaliaikaominaisuuksia Ei ronkeli siirtotien suhteen, esim. 230V jakeluverkko ok

CAN: Motivaatio

CAN: Motivaatio

CAN: Motivaatio

CAN Alun perin autojen johdotuksen vähentämiseksi suunniteltu väylä Fyysisesti differentiaalinen kaksijohtoinen väylä (suojattu kierretty pari) Tulee toimia vaikka jompikumpi johdoista poikki tai oikosulussa Ei kovin nopea, mutta suuriprioriteettiset viestit voivat ohittaa muut <40m -> 1000kbit/s <500m -> 125kbit/s <1000m -> 50kbit/s

CAN-väylän toimintaidea Ei osoitteita; kaikki asemat ottavat vastaan viestit ja päättävät pitääkö ne käsitellä Joka viestityypillä oma tunniste (osa sisältöä) Reaaliominaisuudet toteutettu viestien prioriteettien avulla Prioriteettien asettaminen eri viestityypeille keskeinen suunnitteluongelma Uudet viestit johtavat uudelleensuunnitteluun Monitorointi helppoa; laitetaan mukaan vain uusi asema kuuntelemaan

Fyysinen toteutus Suojattu kierretty pari Differentiaalinen väylä Jännitteellinen tila (1) dominoiva, korkeaimpedanssinen tila passiivinen Päätevastukset

CAN-väylän nopeus pituuden funktiona

CAN-väylän toiminta Solmu 1 Solmu 2 Solmu 3 Käsittelee Alustaa Hyväksyy Lähettää Hylkää Vastaanottaa Vastaanottaa

Data CAN viestit Solmu lähettää dataa Base (A-formaatti) Extended (B-formaatti) Remote Solmu pyytää dataa -> RTR-bitti dominoiva Error Solmu havaitsee virheellisen toiminnan väylällä Error passive / error active Overload Solmu pyytää toista solmua odottamaan ennen uuden data viestin lähetystä

CAN-viestiformaatti Synkronointi Otsikko Sovelluskohtainen (11 / 29 bittiä) Sisäänrakennettu prioriteettitieto Usein lähde, kohde ja viestin ID Data Sovelluskohtainen data 0-8 bittiä, MSB ensin Virheenjäljitys 15 bittinen tarkistussumma Kuittaus Viestin kuittaus (dominoiva bitti, jos viesti otettiin vastaan) Loppubitit 7 passiivista bittiä (ei bit stuffing muutosta)

CAN-väylän versiot 11-bittinen tunniste 18-bittinen tunniste

CAN-tunnisteen bitit SOF Start of Frame (1 dominoiva bitti) Tunnistekenttä sovelluskohtainen RTR remote transmission SRR dummy bitti, jotta lyhyemmillä viesteillä varmasti suurempi prioriteetti kuin pitkillä Kontrollibitit DLC data length code (datakentän pituus) kaksi bittiä varalle

Viestien priorisointi Se asema, jolla on pienin tunniste, pääsee väylälle Solmu luopuu lähettämisestä kun se havaitsee dominoivan tilan (0) väylällä kun se itse lähettää passiivista tilaa (1) Recessive / Dominant state

Priorisoinnin toteuttaminen Väylän tila on passiivinen (recessive) jos solmu ei vedä sitä alas (dominant) Väylä differentiaalinen -> miten toinen johdin käyttäytyy?

CAN-väyläohjain Väyläohjain toimii kuten muutkin oheislaitteet kontrollerin ja väylän välillä Yksinkertaisimmillaan kaikki viestit käsitellään lopulta kontrollerilla Väyläohjain voi myös suodattaa ja järjestää viestejä kontrollerin puolesta

Väyläohjain AT91SAM7Xkontrollerilla

CAN-viestien suodattaminen Viestien suodattaminen ja lajittelu tapahtuu väyläohjaimen mask-rekisterien avulla Hyväksytyt viestit luetaan väyläohjaimen lähetys- ja vastaanottopuskureista ( postilaatikoista ) Vastaanottava postilaatikko voidaan konfiguroida ylikirjoittamaan vanhat viestit kun uusia saapuu

Non-return to Zero (NRZ) enkoodaus

Bit stuffing Bittikuviot joissa väylän tila ei vaihdu aiheuttavat ongelmia NRZ-enkoodatulla väylällä Vastaanottaja ei pysty synkronoimaan lähettäjän kanssa jos reunoja ei ole -> Lisätään väliin täytettä, jotta saadaan reunoja aikaiseksi Stuff bits Esimerkiksi viiden identtisen bitin jälkeen lisätään yksi tilavaihdoksen aiheuttava bitti

Virheidenjäljityksestä NRZ enkoodattujen viestien virheitä voi olla vaikea havaita Tarkistussumma voi auttaa Bit stuffing säännön rikkomisen voi havaita -> 6 identtistä bittiä -> virhe

Virheidenjäljityksestä Bit stuffing yhdessä kahden virheen kanssa tuottaa mielenkiintoisen tuloksen

CAN synkronointi Lähettäjän ja vastaanottajan on tahdistettava toimintansa Viestin alussa olevien synkronointibittien avulla tehdään kova synkronointi Viestin sisältämien bittien avulla voidaan tehdä uudelleensynkronointi Uudelleensynkronoinnissa linjan tilan tulkitsemiskohtaa siirretään suhteessa havaittuun reunaan

Uudelleensynkronointi

Protokollapino CAN määrittelee vain alimmat kerrokset Aplikaatiokerrokselle saatavilla erilaisia ratkaisuja DeviceNet CANOpen

Etuja CAN vahvuudet / heikkoudet Kun verkon kuormitus matala -> viestien läpimenoaika pysyy lyhyenä Paikallinen ja globaali priorisointi on mahdollista Tunnistekenttä on osa sisältöä -> overhead ei ole kovin suuri Optimoitu suurelle määrälle erityyppisiä viestejä Haittoja Perustuu dominoiviin ja passiivisiin tiloihin -> galvaaninen erotus muuntajan avulla ei onnistu Väylän pituus on rajoitettu Solmu voi nälkiintyä ja väylän voi kaapata

LON-väylästä 1 valmistaja (Echelon), silti laajalti käytetty Fyysistä tasoa tai verkon topologiaa ei kiinnitetty; kierretty pari, sähköverkko tai kuituverkko ovat kaikki käyttökelpoisia Asemilla kolmitasoinen hierarkkinen osoite Viestien lähetys koneille, ryhmälle tai domainille; Osoitteistossa 2^48 domainia, domainissa 127 ryhmää, ryhmässä 255 solmua Alkuperäinen käyttökohde rakennusautomaatio; nykyisin käytössä myös esim. ohjaus- ja säätöjärjestelmissä Toteutus perustuu Neuron-siruun ja in/outtyyppisiin globaaleihin muuttujiin, joiden arvoa päivitetään liityntäelektroniikalla tai ohjelmistolla

LON-verkko ja -solmu

Pienen laitteen sisäinen hajautus Yksittäisen tietokoneyksikön sisäinen hajautus Multi/manycore Näyttöohjaimen laskentakapasiteetin hyödyntäminen Erityiskäyttöön tarkoitetut laskentayksiköt; esim. DSP:t

OpenCL Open Compute Language Tapa hyödyntää näytönohjaimen laskentakapasiteettia Ominaispiirteet: C99-perustainen; host + laskentakernelit Alustarajapinta: HAL + laitteiden etsintä, valinta ja alustus + työjonot Ajoajan API: laskentakerneleiden suoritus + resurssien hallinta (skedulointi, laskenta, muisti)

Toiminta Kernel-laskentojen määrittely (osa ohjelmaa, tai valmiiksi käännetty) OpenCL-kontekstin luonti Laskentalaitteen etsintä ja valinta Komentojonojen muodostus suoritusta ja muistiviittauksia varten OpenCL-muistiolioiden varaus tiedonsiirtoa varten Tarvittaessa käännös ja laskentakernelien muodostus Argumenttien ja laskennan alustus Laskennan käynnistys Tulosten keruu

OpenCL ja OpenGL

Network on Terminal Architecture (NoTA) Sulautettujen järjestelmien arkkitehtuuri, jossa laitteen sisäinen hajautus Lisälaitteiden modulaarinen koostaminen Perusperiaatteet Löyhä kytkentä järjestelmätasolla Palveluperustaisuus Väyläperustaisuus Viesti- ja datapohjainen kommunikaatio Heterogeeniset toteutukset mahdollisia

NoTA-arkkitehtuuri

Järjestelmätason arkkitehtuuri -> Looginen arkkitehtuuri

NoTA laitteessa

Yhteenveto Hajautettu skedulointi luo omat haasteensa laadunvarmistukselle Erilaiset väylät voivat yksinkertaistaa järjestelmän rakentamista, mutta ne voivat myös vaatia uudenlaisten suunnitteluongelmien ratkaisua Laitteen sisäisen kapasiteetin hyödyntäminen