View
11
Download
0
Category
Preview:
Citation preview
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.deProfessur Betriebssysteme – Martin Richter
Mobilität und Verteiltheit in Barrelfish
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de2Professur Betriebssysteme – Martin Richter
• Verteiltheit, Mobilität, Diversität und Echtzeit• Explizite Kommunikation fehleranfällig und kompliziert• Verteilte Aktive Objekte als Lösungsansatz (siehe Frühjahrstreffen)
Motivation
SensorenAktoren
…Knoten Knoten Knoten
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de3Professur Betriebssysteme – Martin Richter
• Vergleich von Barrelfish mit verteilten aktiven Objekten
• Konzepte überschneiden sich teilweise
• Hilft Barrelfish bei der Implementierung?
• Erarbeitung Problemstellung für Masterarbeit
Problemstellung
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de4Professur Betriebssysteme – Martin Richter
• Mehrere Knoten mit entfernten Objekten
• Trennung von Methodenruf und -ausführung
• Abstraktion von komplizierter Kommunikation
• Nebenläufigkeit und zeitlich abgestimmter Zugriff
Aktive Objekte
Knoten
Objekt
Servant
Scheduler
Anfrage1Anfrage2Anfrage3
Knoten
Anfrage1
Anfrage2
Anfrage3
Proxy
Knoten
Proxy
KnotenProxy
Quelle: Greg R. Lavender and Douglas C. Schmidt. Active object - an object behavorial pattern for concurrent programming. 1996.
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de5Professur Betriebssysteme – Martin Richter
VAO • Gleichberechtigte Knoten
• Räumlich verteilte Ausführung des Objektes
Verteilte Aktive Objekte – Grundgedanke
Quelle: Daniel Graff, Jan Richling, Tammo M. Stupp, and Matthias Werner. Distributed Active Objects - A Systemic Approach to Distributed
Mobile Applications, 2011.
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de6Professur Betriebssysteme – Martin Richter
class DroneSwarm {
Float landingDist;
(Int, Int) landingPos;
@Require( min(landingDist) )
landing() { //lande }
eventLoop() {// …this.landing()
}
// …
}
Verteilte Aktive Objekte – Rückblick
D1
D2 D3
landing()
min(landingDist)
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de7Professur Betriebssysteme – Martin Richter
Verteilte Aktive Objekte – Rückblick
Methodenruf
Auswertung Annotationen
Auswertung Constraints
Auswahl eines Knotens
Ausführung
Attribut Wert Knoten
landingPos (3, 4) { D1, D2 }
(8, 1) { D3 }
landingDist 4.3 { D1 }
3.1 { D2 }
1.5 { D3 }
D1
D2
D3
landing()
min( landingDist ) → D3
@Require(…)
min(landingDist)
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de8Professur Betriebssysteme – Martin Richter
Verteilte Aktive Objekte – Rückblick
Interface
Scheduler
Constraint-Solver
Globaler Zustand
Inter-Kernel Kommunikation
landing …
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de9Professur Betriebssysteme – Martin Richter
Verteilte Aktive Objekte – Abbildung auf Barrelfish
Verteilte Aktive Objekte Barrelfish
Heterogenität ?
Netzwerkweite Kommunikation ?
Globaler Zustand ?
Constraint-Solver ?
Verteilter Kontrollfluss ?
Programmiermodell ?
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de10Professur Betriebssysteme – Martin Richter
• Lokaler Rechner als verteiltes System• Immer mehr heterogene Ausführungseinheiten• Replikation und Kommunikation statt geteiltem Speicher
Barrelfish - Konzept
GPU1 GPU2 x86 x64…
Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore
systems. In 22nd Symposium on Operating Systems Principles. Association for Computing Machinery, Inc., October 2009.
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de11Professur Betriebssysteme – Martin Richter
Barrelfish - Architektur
x86
ServicesTreiber
Monitor
CPU-Treiber
Anwendung
• Heterogene CPU-Treiber
• Alle anderen Prozesse im Nutzermodus
• Monitor-Prozess zur Koordinierung und Konsistenzerhaltung
User-Mode
System-Mode
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de12Professur Betriebssysteme – Martin Richter
Barrelfish - Architektur
x86
ServicesTreiber
Monitor
CPU-Treiber
ARM
ServicesTreiber
Monitor
CPU-Treiber
Asynchrone
Nachrichten
AnwendungAnwendung
• Kommunikation über Interconnect-Treiber
• Einheitliche Interfaces erlauben Austausch
• Monitor wählt optimalen Mechanismus
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de13Professur Betriebssysteme – Martin Richter
Barrelfish - Architektur
x86
ServicesTreiber
Monitor
CPU-Treiber
ARM
ServicesTreiber
Monitor
CPU-Treiber
Anwendung
• Verteilte Anwendungen
• Prozesse aus mehreren Dispatchern
• Erzeugung von Threads auf eigenem oder entferntem Dispatcher möglich
• Threads können gemeinsamen Adressraum nutzen
x86 ARM
Disp1
P1
T1 T2Disp2
T3
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de14Professur Betriebssysteme – Martin Richter
• VAO zur Unterstützung verteilter Anwendungen in Barrelfish
• Eine Instanz pro Ausführungseinheit
• Impliziter Sprung des Kontrollflusses durch Nachrichtenaustausch
Barrelfish – Verteilte Aktive Objekte
Disp1
Disp2
Disp3
thread()
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de15Professur Betriebssysteme – Martin Richter
• Mehrere Barrelfish-Instanzen
• Bekanntmachung der Knoten untereinander
• Kommunikation durch neue Interconnect-Treiber
Barrelfish – Echte Verteiltheit
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de16Professur Betriebssysteme – Martin Richter
• Unterschiedliche CPU-Treiber• SKB für Verwaltung von Informationen (z. B. Positionen)• Problem: Konsistenz
Barrelfish – Heterogenität und Mobilität
SKB1 SKB2?
SKB
Programmierer
HW-Discovery
User
Constraint-
Solver
Anwendungen
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de17Professur Betriebssysteme – Martin Richter
Verteilte Aktive Objekte – Fazit
Verteilte Aktive Objekte Barrelfish
Heterogenität Heterogene CPU-Treiber
Netzwerkweite Kommunikation Interconnect-Treiber
Globaler Zustand System Knowledge Base
Constraint-Solver System Knowledge Base
Verteilter Kontrollfluss TODO
Programmiermodell TODO
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de18Professur Betriebssysteme – Martin Richter
Verteilte Aktive Objekte – Aufgabenstellung für Masterarbeit
• Herstellung echter Verteiltheit
• Objekt-Deployment (Instanzengeneration)
• Koordinierung der verschiedenen Instanzen
• Gewährung von Konsistenz
• Unterstützung Programmiermodell
Mobilität und Verteiltheit in Barrelfish
www.tu-chemnitz.de19Professur Betriebssysteme – Martin Richter
• Daniel Graff, Jan Richling, Tammo M. Stupp, and Matthias Werner. 8th ieee international conference and workshops on engineering of autonomic and autonomous systems. In Distributed Active Objects A Systemic Approach to Distributed Mobile Applications, 2011.
• Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems. In 22nd Symposium on Operating Systems Principles. Association for Computing Machinery, Inc., October 2009.
• Andrew Baumann, Paul Barham, Tim Harris, and Rebecca Isaacs. Embracing diversity in the Barrelfishmanycore operating system. In Proceedings of the Workshop on Managed Many-Core Systems. Association for Computing Machinery, Inc., June 2008.
• Roscoe Timothy and Rik Farrow. The Barrelsh Multikernel: an interview with Timothy Roscoe. https://www.usenix.org/system/files/login/articles/1906-roscoe.pdf, 2010.
• Greg R. Lavender and Douglas C. Schmidt. Active object - an object behavorial pattern for concurrent programming. 1996.
Quellen
Recommended