24
Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

Embed Size (px)

Citation preview

Page 1: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

Service-orientiertes Betriebssystem für

ubiquitäreSensorsysteme

Diplomarbeitsvortrag

Andrea SayerBetreuer: Christian Decker

Telecooperation Office (TecO)

Page 2: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

2

Motivation

• bisherige Particle-Entwicklung: 2-Task-System• Unterbrechung der Anwendung durch Funkstack alle 13ms • Hauptaufgabe ubiquitärer Systeme: Kontexterkennung

• Probleme: • Zu unflexibel, ständige Neuimplementierung wiederkehrender

Aufgaben, Ausführung periodischer Aufgaben nur eingeschränkt möglich

• Keine Unterstützung der Kontexterfassung, keine zeitnahe Ausführung

Page 3: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

3

Ziele

• Bereitstellung von Abstraktionen, Trennung unabhängiger Programmteile, Wiederverwendbarkeit, Flexibilität

=> Periodisches Laufzeitsystem

• Wiederverwendung von Ergebnissen vorhergehender Ausführungen, Zeitnähe

=> Datenflussorientiertes System

Page 4: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

4

Gliederung

• Periodisches Laufzeitsystem • Servicekonzept • Aufbau des Laufzeitsystems• Dynamisches Einfügen von Services

• Datenflussorientierung• Struktur und Ausführungsstrategien• Qualitätsmetriken• Schedulingverfahren

• Implementierung

• Zusammenfassung

Page 5: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

5

Servicekonzept

• Aufteilung des Systems in Anwendung und Services

• Anwendung• unterbrechbar, initialisiert Services und

verarbeitet Serviceausgaben

• Service• Konfiguration:

Parameter des Service: Periode, nextArrivalTime,...

• Servicefunktion: ununterbrechbar• Ausgabepuffer:

Schnittstelle zur Anwendung oder anderen Services

• Zustand: WAITING, READY

Page 6: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

6

Laufzeitsystem

• Waiting Queue• Enthält Services im Zustand WAITING• Geordnet nach nächster Ankunftszeit

• Ready Queue• Services im Zustand READY• Geordnet nach Priorität

• Scheduler• Sortiert Services in die Ready Queue ein

• Dispatcher• Überprüft die Waitingqueue auf Services, die ihre nächste

Ankunftszeit erreicht haben und übergibt diese an den Scheduler

Page 7: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

7

Benutzersicht

Page 8: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

8

Dynamisches Einfügen von Services(1)

• Verteilung von Objekten mit der ParticleVM

.class

Page 9: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

9

Dynamisches Einfügen von Services(1)

• Verteilung von Objekten mit der ParticleVM

.class

Page 10: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

10

Dynamisches Einfügen von Services(1)

• Verteilung von Objekten mit der ParticleVM

.classobject

Page 11: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

11

Dynamisches Einfügen von Services(2)

• Ausführung von Java Services unter Verwendung der ParticleVM

Page 12: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

12

Gliederung

• Periodisches Laufzeitsystem • Servicekonzept • Aufbau des Laufzeitsystems• Dynamisches Einfügen von Services

• Datenflussorientierung• Struktur und Ausführungsstrategien• Qualitätsmetriken• Schedulingverfahren

• Implementierung

• Zusammenfassung

Page 13: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

13

Datenflussorientierung

• Bisher: periodisches Laufzeitsystem• Problem: fehlende Koordination der Datenverarbeitung,

keine Berücksichtigung der Datenabhängigkeiten, somit keine Zeitnähe

• Datenflussorientierte Systeme: Ausführung ist vom Vorhandensein der Eingabewerte abhängig => Für ubiquitäre Systeme: Wenn Kontext vorhanden, dann entspr. Anwendungsteil ausführen (d.h. Vermeidung von Redundanz)

Page 14: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

14

Verwandte Arbeiten

•Datenflussarchitekturen: Hardwarearchitektur, datenflussoriente Befehlsausführung, für ressourcenbeschränkte Sensorknoten nicht geeignet

•Data Flow Languages: Programmiersprache für Datenflussrechner

•Flow-Based Programming (J.P.Morrison): Programmierparadigma, Gesamtanwendung aus Blackbox-Komponenten, Datenaustausch über Puffer

Gemeinsamkeiten mit dem Servicekonzept, aber hochgradig asynchron, keine periodischen Ausführungen

=> Datenflussorientiertes System für Sensorknoten

Page 15: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

15

Graphstruktur

• Schichtenmodell• Anordnung von Services gemäß ihrer

Datenabhängigkeiten• Datenquelle, Systemantrieb,

periodische Services• Datenverarbeitung, datenorientierte

Services

• Graphstruktur

• Gerichteter, azyklischer Graph (DAG)• Jeder Service darf nur einem Baum

angehören• Jedem Puffer ist genau ein Eingabeservice zugewiesen• Services können aus mehreren Puffern lesen• Ein Service kann mehrere Ausgabepuffer haben

Page 16: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

16

Pfadbasierte Ausführung

• Pfadweises Ausführen von Services• Pfade des Baumes bilden Scheduling-

einheiten• Abarbeitung des Pfades ist ununterbrechbar

Ausnahmen:• Interner Abbruch: Abbruch auf

Veranlassung eines Services => Scheduler soll Pfad benachteiligen• Externer Abbruch: Abbruch wegen veralteter Eingabedaten => Pfad soll bei nächster

Schedulingentscheidung bevorzugt werden• Kontrollierter Pfadabbruch:

Aggregation, Verarbeitung von Daten abweichend vom normalen Datenfluss

Page 17: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

17

Qualitätsbestimmung

• Datenechtzeit• Realisation des Zeitnäheprinzips

• Services• Periodisch: Jitter• Datenverarbeitend: Alter der Daten im Eingabepuffer

• Pfade

P=100ms

q Trace j q s imit s i Trace j und Succ s i EMPTY

1

1 0,75

0,75

0,6

Page 18: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

18

Scheduling – Zeitnähe(1)

• Systemqualität: Maß für die Zeitnähe

• Finden einer optimalen Lösung ist komplex (NP-vollständig?) => Annäherung durch Heuristiken

• Grapheigenschaften für Heuristiken, die die Systemqualität beeinflussen:

Pfadlaufzeiten Gemeinsame Teilpfade Perioden

max q Trace j

Page 19: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

19

Scheduling – Zeitnähe(2)

• Shortest Total Delay First:• Bevorzugung des Pfades, der alle anderen Pfade am geringsten verzögert• Hoher Overhead

• Highest Quality First: • Pfad mit höchster Qualität wird bevorzugt• Problem: Abhängigkeit von der Anfangsreihenfolge

• Shortest Path First:• Zeitl. kürzester Pfad wird bevorzugt• Keine Berücksichtigung der Baumstruktur/Periodenlängen

• Erweiterung von Shortest Path First• Berücksichtigung gemeinsamer Teilpfade• Berücksichtigung der Periodenlängen• Gute Simulationsergebnisse• Problem: unbekannte oder schwankende Ausführungszeiten

Page 20: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

20

Scheduling – Fairness

• Least Quality First• Pfade, die eine niedrige Qualität erreicht haben, sollen bei

der nächsten Ausführung bevorzugt werden• Oszillation zwischen zwei Schedulingreihenfolgen führt zu

unterschiedlich ausgeprägten Schwankungen

• Qualitätsbudget Verfahren• Aktuelle Qualität wird von Qualitätsbudget abgezogen• Höchstes Budget wird bevorzugt• Neuer Parameter: Anfangsbudget

Page 21: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

21

Scheduling - Bewertung

• First In First Out (FIFO): • Geringer Overhead• Keine Fairness oder hohe Systemqualität

• Prioritäten: Priorisierung von Pfaden durch Entwickler (statisch)• Geringer Overhead• Fairness und hohe Systemqualität hängen von den Absichten

des Entwicklers ab

• Erweiterung von Shortest Path First:• Gute Annäherung an die optimale Systemqualität• Relativ hoher Overhead, keine Fairness• Voraussetzung: vorhersehbare Ausführungszeiten, schwierig

für datenorientierte Services

• Qualitätsbudget-Verfahren:• Fairness, relativ geringer Overhead• Keine besonders hohe Systemqualität

Page 22: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

22

Implementierung• Particle (229)

• Small Device C Compiler (SDCC)• Systemgröße

• POS: 18% Code, 17% Data• PBS, PVM, POS: 100% Code, 92% Data

• Overhead: geringer als beim periodischen System, etwas höherer Speicheraufwand

• Dispatcher: Timer1 Interrupt• Kommunikation: AwareCon V5

• Kommunikationsservice• Unterbrechung von

Services durch den Funkstack

• JavaVM• PC

• Vorverarbeitung• GraphViz• Simulation

Funktion Laufzeit(Zyklen)

periodisch pfadbasiert

Service_calc_next()

407 407

Dispatch() 2140 2472

Schedule()

FIFO

5 einzelne Services: 1208

1 Pfad mit 5 Services: 504

Page 23: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

23

Zusammenfassung

• Abstraktionen und Trennung unabhängiger Programmteile durch ein Laufzeitsystem

• Mehr Flexibilität: dynamisches Einbinden von Java Services

• Unterstützung der Kontexterkennung und zeitnahe Ausführung durch das graphbasierte Scheduling

• Momentan laufende Arbeiten:• Einsatz für die AwarePen Anwendung

Page 24: Service-orientiertes Betriebssystem für ubiquitäre Sensorsysteme Diplomarbeitsvortrag Andrea Sayer Betreuer: Christian Decker Telecooperation Office (TecO)

24

Fragen?