E N D
TTP/C és TCP/IP protokollok integrációjaMajzik István (majzik@mit.bme.hu)Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek TanszékNextTTA IST 2001-32111TU Vienna, AMS, Audi, BUTE, Univ. Chalmers, TTTech, VERIMAG, Univ. Ulm, Univ. YorkSzoftvertechnológiai FórumBudapest, 2002. szeptember 18.
Áttekintés 1. Idő- és eseményvezérelt szolgáltatások 2. Az integrálás motivációi 3. A TTP/C és TCP/IP protokollok 4. Az integrálás alapelvei 5. Architektúra 6. Interfészek 7. QoS és használhatóság 8. Megvalósítás Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Bevezető Idő- és eseményvezérelt rendszerek Az integrálás motivációi Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Használati környezet • Célrendszer: • (szigorúan) valósidejű, • nagy megbízhatóságot igénylő, • biztonságkritikus alkalmazások • Kommunikációs struktúra: • valósidejű busz • terepbusz • háttér hálózat (busz) • TTA: Time Triggered Architecture Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Állapot / esemény üzenetek Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Idővezérelt protokollok Állapot-üzenetek átvitele: • Tervezési időben meghatározott üzenetküldési pontok (periodikus lekérdezés) • Nincs versengés • Konstans sávszélesség igény (“csúcsterhelés”) • Garantált átviteli jellemzők (késleltetés, jitter) • Komponálhatóság: • részrendszerek tulajdonságai alapján garantálható az összetett rendszer tulajdonsága Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Eseményvezérelt protokollok Esemény üzenetek átvitele: • Előre nem ismert üzenetküldési pontok • Versengés az üzenetek között (prioritás) • Sávszélesség igény a külső hatások függvénye • Átviteli jellemzők prioritástól függőek • Nem komponálható: • új esemény megjelenése felboríthatja az eddigi garanciákat Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Az integrálás motivációi • Idővezérelt megközelítés garanciákat ad • kritikus, valósidejű vezérlési információhoz • Eseményvezérelt megközelítés kedvező: • sporadikus változások követése • diagnosztika, monitorozás adatai amelyek nehezen kezelhetők idővezérelt alapon: • nagy statikus sávszélességet igényelne • átlagosan kis kihasználtsággal (Alkalmazás letöltés: külön üzemmód) Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
NextTTA projekt WP2 Esemény- és idővezérelt szolgáltatások integrációja egy elosztott rendszerben • állapot- és esemény üzenetek egyidejű kezelése • többféle eseményvezérelt protokoll megvalósítása • CAN • TCP/IP • klaszterek közötti kommunikáció támogatása • komponálhatóság és garanciák megőrzése Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
A protokollok TTP/C TCP/IP Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
TTP/C alapműködés Időosztásos többszörös hozzáférés (TDMA) tervezési időben meghatározott Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
TTP/C általános jellemzők Járulékos protokoll szolgáltatások • tagsági kép karbantartása • óraszinkronizáció • késleltetés jitter: s nagyságrend TTPchip megvalósítás (C2): • Fizikai réteg: RS485 / IEEE 802.3 100Base-TX • Átviteli jellemzők: • 5...25 Mbit/s (Gbit/s kísérletek is) • 85% csatornakihasználtság elérhető Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
TTP/C hibatűrés támogatása • Adat integritás: • TTPchip C2: 24 bit CRC 240 byte kerethez • Hangolható redundancia kettőzött busz (két csatorna), replikált alrendszer / taszk végrehajtás • Fecsegés kiküszöbölése, időbeli védőgát • Hibaterjedés behatárolása: • CNI: vezérlési hibákra • taszk replikáció: adathibákra Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Internet protokollok Fizikai és adatkapcsolati réteg: Mérsékelt elvárások • csomagok sérülése, elvesztése, sorrend megváltozása, duplikálása lehetséges Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Hálózati réteg • Internet Protocol (IP): • címzés (útválasztás) • szolgáltatástípus meghatározás • fragmentálás és összeállítás • Internet Control Message Protocol (ICMP): • hiba, torlódás jelzése • átirányítás Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Szállítási réteg • Transmission Control Protocol (TCP): • végpontok közötti kapcsolatok (port, socket) • megbízható adattovábbítás • sorrendezés • adatáramlás vezérlése • User Datagram Protocol (UDP): • kapcsolat nélküli datagram összeköttetés • nem megbízható adattovábbítás • nincs adatáramlás vezérlés Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Tipikus felhasználás Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Protokoll integráció Felhasználás Alapelvek Architektúra Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
TCP/IP felhasználása a TTA-ban • Meglévő alkalmazások • best effort szolgáltatás-igény, socket interfész • Klaszterek közötti kommunikáció • Internet kapcsolódás • web alapú hozzáférés, monitorozás • Magasabb szintű protokoll-rétegek • middleware: pl. CORBA • OO vezérlési protokollok (IAONA):Control Information Protocol (ODVA), EtherNet/IP;iDA kommunikációs réteg Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Belső és külső kommunikáció Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Az integrálás alapelve Egységes architektúra, komponálhatóság megőrzése “Dinamikus eseménycsatorna szolgáltatás” • sávszélesség allokáció tervezési időben:TDMA rések egy részének fenntartása • csomópontonként független (virtuális) adatcsatorna • Klaszter szinten: • komponálható: idővezérelt üzenetektől független • Csomópont szinten: • versengés az adatcsatornáért a taszkok között Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Időbeli megvalósítás Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Időbeli megvalósítás Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Időbeli megvalósítás Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Protokoll rétegek Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Csomagtovábbító réteg (TUV) • IP datagram feldarabolás és buszra helyezés • Újraintegrálás támogatása: • cél: klaszterbe belépő csomópont integrációja(szinkronizáció egy datagram elejéhez) • alapötlet: reintegrációs pont periodikus kijelölése a klaszter globális idő alapján • minden reintegrációs pontban el kell küldeniaz aktuális datagramból hátralévő byte-ok számát;leszámlálásuk után vehető a következő datagram • taszk végrehajtás és üzenetküldés összehangolva Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Az újraintegrálás összehangolása • Taszk ütemezéstől függően szükséges lehet: • előző körben (round) küldeni • előző kör (round) üzenetét feldolgozni Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
TCP/IP alapú kommunikáció • Klaszteren belüli használat: UDP megfelelő • TTP/C: megbízható csomagtovábbítás • duplikált busz, redundáns alrendszerek • ütközés nincs, fecsegő csomópont kiszűrve • teljes sorrendezés biztosított • garantált késleltetés és minimális jitter Csomópont szintű követelmények: • taszk szintű fecsegés és jumbogramok kiszűrése • Klaszteren kívüli használat: TCP szükséges • csak a szabvány betartása tételezhető fel Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Interfészek Egyszerűsített interfész Socket interfész QoS megoldások Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Egyszerűsített interfész • Beágyazott alkalmazások: • korlátos a memória és processzorkapacitás • Egyszerűsítés az igények csökkentésére: • újraküldéshez nincs belső tárolás (alkalmazás kell újragenerálja az üzenetet) • egyszerű call-back megvalósítása • rendszeres lekérdezés üzenetküldéshez (timer) • közvetlen adatáramlás-vezérlés Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Socket interfész emulációja Szabványos felület: socket (= adatkapcsolat végpont) Több taszk esetén: • üzenetsorok és dispatcher Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
QoS megvalósítás • DiffServ megközelítés: Prioritási osztályok IP fejléc ToS byte (3 ill. 6 biten) • klaszteren belüli kommunikáció: • csomópont szintű versengés feloldása,prioritási szintekhez kapcsolódó üzenetsorok • klaszteren kívülre továbbítható (routerekhez) • IntServ megközelítés: Sávszélesség lekötés • klaszteren belüli kommunikáció: • csomópont eseménycsatornájának virtuális felosztása • egyirányú jelzés • klaszteren kívüli kommunikáció: • RSVP implementálható IP felett Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Megvalósítás jellemzői Hatékonyság Sávszélesség foglalás Kitekintés Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Hatékonyság • TTP/C nagy hatékonyságú (rövid fejléc) • 85% csatornakapacitás kihasználtság elérhető • TCP/IP hatékonyság a datagram mérettől függ • 20..60 byte IP fejléc, 20..64 byte TCP fejléc • tömöríthető (3..5 byte) • Tipikus diagnosztikai protokoll (TTTech adat):16byte/5ms, 10 csomópont ( 256kbit/s); 10Mbit/s csatorna, 80% TTP/C hatékonyság mellett: • TTP/C üzenetek: 3,2% foglalás • TCP/IP a TTP/C felett: 12,8% foglalás (24 byte IP, 24 byte TCP fejléc) Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Üzenethossz és foglalás Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
TCP/IP overhead Csatornafoglalások aránya TCP/IP és TTP/C üzenetek esetén 5ms periódus, 10 csomópont, 24+24 byte normál / 5 byte tömörített TCP/IP fejléc Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.
Kitekintés • Lehetséges architekturális változtatások • tervezési időben kijelölt TDMA rések dinamikus, rendszerszintű arbitrációja (jelenleg csomóponthoz rendelt) központosított időbeli védőgát védelmet biztosít (idővezérelt rések függetlensége fennmarad) • TTPchip: eseményvezérelt protokoll támogatás • kezdetben CAN megvalósítás • Magas szintű protokollok TCP/IP felett: • címzés, elosztott szolgáltatások (IAONA) Szoftvertechnológiai Fórum Budapest, 2002. szeptember 18.