14. Luento: Kohti hajautettuja sulautettuja järjestelmiä Tommi Mikkonen, tommi.mikkonen@tut.fi
Agenda Johdanto Hajautettujen järjestelmien väyliä LON CAN 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)
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 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
CAN-väylän toiminta Solmu 1 Solmu 2 Solmu 3 Käsittelee Alustaa Hyväksyy Lähettää Hylkää Vastaanottaa Vastaanottaa
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
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 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
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
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