Prozessorganisation in Eingebetteten, Ubiquitären Rechnersystemen
Total Page:16
File Type:pdf, Size:1020Kb
Prozessorganisation in eingebetteten, ubiquitären Rechnersystemen zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften / Doktors der Naturwissenschaften der Fakultät für Informatik der Universität Fridericiana zu Karlsruhe (TH) vorgelegte Dissertation von Christian Decker aus Zeulenroda Tag der mündlichen Prüfung: Erster Gutachter: Prof. Dr. Wilfried Juling Zweiter Gutachter: Prof. Dr. Michael Beigl Ich erklÄare hiermit, dass ich die vorliegende Arbeit selbstÄandig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe. Karlsruhe, den 20. Mai 2009 Zusammenfassung Das Ziel dieser Arbeit ist es, die periodische, aperiodische, echtzeitfÄahige und ver- teilte ProzessausfuhrungÄ ubiquitÄarer Rechnersysteme unter unbekannten und sich zeitlich verÄandernden Einsatzbedingungen systematisch zu organisieren, so dass ei- ne verbesserte Informationsverarbeitung ubiquitÄarer Appliances erreicht wird. Es kÄonnen zwei Arten von Prozessverhalten wÄahrend der AusfuhrungÄ unterschieden werden: (1): aufeinander wirkende Prozesse, und (2): miteinander interagierende Pro- zesse. Kooperation ist der Mechanismus zur Organisation von aufeinander wirkenden Prozessen, Kollaboration ist der Mechanismus zur Organisation von miteinander in- teragierenden Prozessen. In dieser Arbeit wird die Einsicht gewonnen, dass sich diese Organisationsmechanismen einheitlich als lineares, zeitinvariantes Regelkreissystem modellieren lassen. Damit gelingt eine mathematisch geschlossene Beschreibung, die die ProzessausfuhrungÄ unter unbekannten Einsatzbedingungen kontrollierbar hÄalt. Die Prozesse werden dabei als Black-Box abstrahiert. Der zentrale Beitrag dieser Arbeit ist die Theorie der kooperativen und kollaborativen Prozessorganisation furÄ eingebettete, ubiquitÄare Rechnersysteme. Laufzeitinformationen uberÄ Ausfuhrungszeit,Ä Energieverbrauch, Pu®erfullstÄ Äande und andere Ressourcenbelegungen werden in einen Regler zuruckgefÄ uhrt.Ä Dieser passt das Laufzeitverhalten der Prozesse durch StellgrÄo¼en wie beispielsweise Ausfuhrungspe-Ä rioden, Operationszyklen und Pu®erauslastungen an, um eine zeitnahe Informati- onsverarbeitung des Gesamtsystems zu erreichen. Dieser Ansatz wurde in dem Lauf- zeitsystem Particle OS furÄ ubiquitÄare Rechnersysteme umgesetzt. Es ubernimmtÄ die Regelung furÄ alle Prozesse, sowohl lokal zwischen den Prozessen eines Rechnersy- stems wie auch verteilt uberÄ mehrere Systeme hinweg. Beide Eigenschaften ermÄogli- chen es, dass kooperative und kollaborative ProzessausfuhrungenÄ lokal und verteilt in ubiquitÄaren Systemumgebungen realisiert werden kÄonnen. FurÄ jede Prozessklasse werden aus der Theorie der kooperativen und kollaborativen Prozessorganisation neue Organisationsmechanismen hergeleitet. Im Ergebnis wer- den Verbesserungen des Nachrichtendurchsatzes um Faktor 8 bis 10 und eine um 27% bis 32% kleinere Latenz der Kommunikationsbeziehungen eines kollaborativ organisierten Verbundes von Rechnersystemen nachgewiesen. Die periodischen, ape- riodischen und echtzeitfÄahigen Prozesse sind in der Lage, auf stark speicher-, energie- und rechenzeitbeschrÄankten Rechnersystemen, ein unbekanntes und verÄanderliches Datenaufkommen zuverlÄassig und zeitnah zu verarbeiten. Schliesslich erreichen ein- gebettete, ubiquitÄare Rechnersysteme bestmÄoglich eine vorgegebene Betriebsdauer. Das konsistente Bild aus Theorie, Simulation und experimenteller Evaluation in dieser Arbeit lÄasst ein leistungfÄahiges Rahmenwerk der Datenverarbeitung in ubi- quitÄaren Rechnerumgebungen entstehen. vi Inhaltsverzeichnis 1 Einleitung 1 1.1 Problemstellung und Motivation ..................... 3 1.1.1 These und Ziel .......................... 4 1.2 LÄosungsansatz: RuckkopplungÄ und Regelung .............. 4 1.3 Vademekum ................................ 5 1.4 BeitrÄage .................................. 7 2 Analyse 9 2.1 Szenarien ................................. 10 2.1.1 Grundprinzipien .......................... 10 2.1.2 Beteiligte in ubiquitÄaren Anwendungsszenarien ......... 10 2.2 Charakterisierung ubiquitÄarer Rechnerumgebungen .......... 12 2.2.1 Aufbau und Einbettung ..................... 12 2.2.2 Appliances ............................. 13 2.2.3 Plattformen furÄ die technische Realisierung ........... 16 2.2.4 Zusammenfassende Charakterisierung .............. 17 2.3 Problembeschreibung ........................... 18 2.4 LÄosungsansatz ............................... 20 2.4.1 Prozesse und Prozessklassen ................... 20 2.4.2 ZeitnÄahe-Prinzip ......................... 21 2.4.3 Kooperation und Kollaboration ................. 22 2.5 Zusammenfassung ............................. 22 3 Prozessorganisation 25 3.1 Kooperation und Kollaboration ..................... 25 3.2 Einordnung ins wissenschaftliche Umfeld ................ 28 3.2.1 Verteilte Systeme und Anwendungen .............. 28 3.2.2 Middleware ............................ 29 3.2.3 Regelung von Computersystemen ................ 30 3.2.4 Einordnung und Charakterisierung ............... 31 3.3 Grundlagen der RuckkopplungÄ und Regelung .............. 31 3.3.1 Regelkreise ............................ 32 3.3.2 Mathematische Beschreibung .................. 32 3.3.3 Wichtige Eigenschaften ruckgekoppelterÄ Systeme ....... 35 3.3.4 Reglerentwurf ........................... 37 3.4 Modellierung von Kooperation und Kollaboration ........... 39 3.4.1 Systemidenti¯kation und Systemdesign ............. 39 3.4.2 Budget/Kosten Modell ...................... 40 3.4.3 Mathematische Modellierung und Eigenschaften ........ 40 viii Inhaltsverzeichnis 3.4.4 Methodisches Vorgehen bei der UbertragungÄ auf Prozessklassen 43 3.5 Architektur ruckgekoppelterÄ ubiquitÄarer Rechnersysteme ....... 43 3.5.1 Prozessklassen ........................... 43 3.5.2 Periodisches AusfuhrungsmodellÄ ................. 44 3.5.3 Laufzeitsystem .......................... 45 3.6 Implementierungsbetrachtungen ..................... 45 3.6.1 Dispatcher ............................. 46 3.6.2 Budget/Kosten Modell ...................... 46 3.7 Implikationen ............................... 47 3.8 Zusammenfassung ............................. 47 4 Periodische und Aperiodische Prozesse 49 4.1 Grundlagen und Einordnung ins wissenschaftliche Umfeld ....... 49 4.1.1 Das Task-Modell ......................... 50 4.1.2 Verfahren der Ablaufplanung .................. 51 4.1.3 Kostenfunktionen ......................... 52 4.1.4 Schedulingverfahren furÄ periodische Prozesse .......... 53 4.1.5 Scheduling von nicht-periodischen Prozessen .......... 56 4.1.6 Anforderungen eingebetteter, ubiquitÄarer Rechnersysteme ... 57 4.2 Kooperation und Kollaboration furÄ die periodische und aperiodische Prozessorganisation ............................ 58 4.3 Serviceorientierter Systementwurf .................... 58 4.3.1 Service-Modell .......................... 59 4.3.2 ProzessausfuhrungsmodellÄ Servicegraph ............. 61 4.3.3 Systemarchitektur ........................ 64 4.4 Periodische Prozesse ........................... 65 4.4.1 Motivierendes Beispiel ...................... 65 4.4.2 Problembeschreibung ....................... 65 4.4.3 Datenechtzeit - Bewertung kooperativer und kollaborativer Prozesseorganisation ....................... 66 4.4.4 Datenechtzeiten von Prozessen im Servicegraph ........ 68 4.4.5 Systemmodell kooperativer und kollaborativer periodischer Pro- zesse ................................ 69 4.4.6 Prozesskooperation ........................ 72 4.4.7 Prozesspriorisierung und Kooperation .............. 75 4.4.8 Arbeitsbereich der Kooperation ................. 76 4.4.9 Prozesskollaboration ....................... 76 4.4.10 FQS - Fair Quality Scheduler .................. 77 4.4.11 Alternative Schedulingverfahren ................. 79 4.4.12 Vergleichende Betrachtungen ................... 80 4.5 Aperiodische Prozesse .......................... 80 4.5.1 Motivierendes Beispiel ...................... 82 4.5.2 Problembeschreibung ....................... 82 4.5.3 Entwurf der aperiodischen Prozessverarbeitung ........ 83 4.5.4 Systemmodell aperiodischer Prozesse .............. 84 4.5.5 Prozesskooperation ........................ 85 4.5.6 Analyse der Steuerbarkeit .................... 88 4.5.7 M/D/k/k Warteschlangenmodell ................ 89 4.5.8 Speichere±zienz .......................... 90 Inhaltsverzeichnis ix 4.5.9 Praktisches Vorgehen ....................... 91 4.5.10 Vergleichende Betrachtungen ................... 92 4.6 Implementierung Particle OS ...................... 94 4.6.1 Architektur und Komponenten ................. 94 4.6.2 Java Virtuelle Maschine ..................... 96 4.6.3 EntwicklungsunterstutzungÄ .................... 96 4.6.4 Kennzahlen ............................ 97 4.7 Anwendung AwarePen .......................... 98 4.8 Was wurde erreicht? ........................... 102 5 Echtzeitprozesse 103 5.1 Motivierendes Beispiel .......................... 104 5.2 Analyse und Einordnung ins wissenschaftliche Umfeld ......... 104 5.2.1 Formalisierung und theoretische Grenzen der Einplanbarkeit . 105 5.2.2 Laufzeitumgebungen mit EchtzeitfÄahigkeiten furÄ ubiquitÄare Rech- nersysteme ............................. 107 5.2.3 Echtzeitprozesse furÄ ubiquitÄare Rechnersysteme ........ 110 5.2.4 Zusammenspiel mit nicht-echtzeitfÄahigen Prozessteilen .... 111 5.2.5 Fazit ................................ 112 5.3 Problembeschreibung ........................... 112 5.4 Serviceorientierter Entwurf ........................ 114 5.4.1 Zeitnahe Datenverarbeitung mit serviceorientierten Echtzeit- prozessen