mobilität und verteiltheitin barrelfish · quelle: andrew baumann, paul barham, rebecca isaacs,...

of 19 /19
Mobilität und Verteiltheit in Barrelfish www.tu-chemnitz.de Professur Betriebssysteme – Martin Richter Mobilität und Verteiltheit in Barrelfish

Author: others

Post on 23-Jul-2020

0 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

  • 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