Transcript
Page 1: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

Mobilität und Verteiltheit in Barrelfish

www.tu-chemnitz.deProfessur Betriebssysteme – Martin Richter

Mobilität und Verteiltheit in Barrelfish

Page 2: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 3: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 4: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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.

Page 5: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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.

Page 6: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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)

Page 7: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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)

Page 8: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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 …

Page 9: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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 ?

Page 10: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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.

Page 11: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 12: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 13: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 14: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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()

Page 15: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 16: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 17: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 18: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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

Page 19: Mobilität und Verteiltheitin Barrelfish · Quelle: Andrew Baumann, Paul Barham, Rebecca Isaacs, and Tim Harris. The Multikernel: A new OS architecture for scalable multicore systems

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


Top Related