• Keine Ergebnisse gefunden

“the behavior of the computer at any moment is determined by the symbols which he [the computer] is observing, and his

N/A
N/A
Protected

Academic year: 2022

Aktie "“the behavior of the computer at any moment is determined by the symbols which he [the computer] is observing, and his"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Reaktive Programmierung Vorlesung 10 vom 24.06.14: The Actor Model

Christoph Lüth & Martin Ring

Universität Bremen Sommersemester 2014

1 [17]

Fahrplan

I Teil I: Grundlegende Konzepte

I Teil II: Nebenläufigkeit

IFutures and Promises

IReaktive Datenströme I

IReaktive Datenströme II

IFunktional-Reaktive Programmierung

IDas Aktorenmodell

IAktoren und Akka

I Teil III: Fortgeschrittene Konzepte

2 [17]

Das Aktorenmodell

I Eingeführt von Carl Hewitt, Peter Bishop und Richard Steiger (1973)

I Grundlage für nebenläufige

Programmiersprachen und Frameworks. (Unter anderem Akka)

I Theoretisches Berechnungsmodell

Warum ein weiteres Berechnungsmodell? Es gibt doch schon die Turingmaschine!

3 [17]

Die Turingmaschine

“the behavior of the computer at any moment is determined by the symbols which he [the computer] is observing, and his

‘state of mind’ at that moment”

— Alan Turing

. . . Tape . . .

Read/write head Program

It is “absolutely impossible that anybody who understands the question [What is computation?] and knows Turing’s definition should decide for a different concept.”

— Kurt Gödel

4 [17]

Die Realität

I 3GHz=3000000000000Hz=⇒Ein Takt = 3,333∗10−10s

I c=29907920458ms

I Maximaler Weg in einem Takt<0,1m(Physikalische Grenze)

5 [17]

Synchronisation

I Während auf ein Signal gewartet wird, kann nichts anderes gemacht werden

I Synchronisation ist nur in engen Grenzen praktikabel! (Flaschenhals)

6 [17]

Der Arbiter

I Die Lösung:Asynchrone Arbiter

Asynchronous Arbiter I1

I2

O1 O2

I WennI1undI2fast (≈2fs) gleichzeitig aktiviert werden, wird entwederO1oderO2aktiviert.

I Physikalisch unmöglich in konstanter Zeit. Aber Wahrscheinlichkeit nimmt mit der Zeit exponentiell ab (Unbounded indeterminancy)

I Nicht modellierbar mit Turingmaschinen

I kommen aber in modernen Computern überall vor

7 [17]

Das Aktorenmodell

Quantum mechanics indicates that the notion of a universal description of the state of the world, shared by all observers, is a concept which is physically untenable, on experimental grounds. — Carlo Rovelli

I Frei nach der relationalen Quantenphysik Drei Grundlagen

I Verarbeitung

I Speicher

I Kommunikation

I Die Turingmaschine ist ein Spezialfall des Aktorenmodells

I EinAktorensystembesteht ausAktoren(Alles ist ein Aktor!)

8 [17]

(2)

Aktoren

I Ein Aktor verarbeitet Nachrichten (sequenziell) in FIFO Reihenfolge

Während ein Aktor eine Nachricht verarbeitet kann er

I neue Aktoren erzeugen

I Nachrichten an bekannte Aktor-Referenzen versenden

I festlegen wie die nächste Nachricht verarbeitet werden soll

I Aktor6=( Thread|Task|Channel|... )

9 [17]

Kommunikation

I Nachrichten sind unveränderliche Daten oderFutures

I Die Zustellung von Nachrichten passiert höchstens einmal (Best-effort)

I Wenn z.B. die Netzwerkverbindung abbricht, wird gewartet, bis der Versand wieder möglich ist

I Wenn aber z.B. der Computer direkt nach Versand der Nachricht explodiert (oder der Speicher voll läuft), kommt die Nachricht möglicherweise niemals an

I Über den Zeitpunkt des Empfangs kann keine Aussage getroffen werden (Unbounded indeterminancy)

I Über die Reihenfolge der Empfangenen Nachrichten wird im Aktorenmodell keine Aussage gemacht (In vielen Implementierungen allerdings schon)

I Nachrichtenversand6=( Queue|Lock|Channel|... )

10 [17]

Identifkation

I Aktoren werden überIdentitätenangesprochen Aktoren kennen Identitäten

I aus einer empfangenen Nachricht

I aus der Vergangenheit

I von Aktoren die sie selbst erzeugen

I Nachrichten können weitergeleitet werden

I Eine Identität kann zu mehreren Aktoren gehören, die der Halter der Referenz äußerlich nicht unterscheiden kann

I Eindeutige Identifikation bei verteilten Systemen nur durch Authentisierungsverfahren möglich

11 [17]

Location Transparency

I Eine Aktoridentität kann irgendwo hin zeigen

IGleicher Thread

IGleicher Prozess

IGleicher CPU Kern

IGleiche CPU

IGleicher Rechner

IGleiches Rechenzentrum

IGleicher Ort

IGleiches Land

IGleicher Kontinent

IGleicher Planet

I...

12 [17]

Beispiel

13 [17]

Inkonsistenz

I Ein Aktorsystem hat keinen globalen Zustand (Pluralismus)

I Informationen in Aktoren sind global betrachtetredundant, inkonsistentoderlokal

I Konsistenz6=Korrektheit

I Wo nötig müssen duplizierte Informationen konvergieren, wenn

"längere Zeit"keine Ereignisse auftreten (Eventual consistency)

14 [17]

"Let it Crash!"

IIndeterminismus ist statisch kaum analysierbar

IUnschärfebeim Testen von verteilten Systemen ISelbst wenn ein Programm

fehlerfrei ist kann Hardware ausfallen

IJe verteilter ein System umso wahrscheinlicher geht etwas schief I Deswegen:

I Offensives Programmieren

I Statt Fehler zu vermeiden, Fehler behandeln!

I Teile des Programms kontrolliert abstürzen lassen und bei Bedarf neu starten

15 [17]

Das Aktorenmodell in der Praxis

I Erlang (Aktor-Sprache)

IEricsson - GPRS, UMTS

IT-Mobile - SMS

IWhatsApp (2 Millionen Nutzer pro Server)

IFacebook Chat (100 Millionen simultane Nutzer)

IAmazon SimpleDB

I...

I Akka (Scala Framework)

Ica. 50 Millionen Nachrichten / Sekunde

Ica. 2,5 Millionen Aktoren / GB Heap

IAmazon, Cisco, Blizzard, LinkedIn, BBC, The Guardian, Atos, The Huffington Post, Ebay, Groupon, Credit Suisse, Gilt, KK, ...

16 [17]

(3)

Zusammenfassung

I Das Aktorenmodell beschreibtAktorensysteme

I Aktorensysteme bestehen ausAktoren

I Aktoren kommunizieren überNachrichten

I Aktoren können überall liegen (Location Transparency)

I Inkonsistenzen können nicht vermieden werden:Let it crash!

I Vorteile: Einfaches Modell; keine Deadlocks/Race Conditions; Sehr schnell in Verteilten Systemen

I Nachteile: Informationen müssen dupliziert werden; Keine vollständige Implementierung

17 [17]

Referenzen

ÄHNLICHE DOKUMENTE

If the payload (body) contains the control characters ETX and DLE ( Data Link Esca- pe ), they are protected ( escaped ) by the Data Link Layer protocol with a stuffed DLE caracter..

As amino acids have been shown to be potent stimuli for aquatic animals [4], we used them to induce sensory responses of olfactory neurons in the rhinophore.. For

Finalmente, dado que la distribución de los residuos de la ecuación de corto plazo es unimodal y no presenta mayor masa de probabilidad en sus colas (o valores extremos),

&#34;» Compare the Sanskrit version translated in this paper with the English translation of the Tamil version comprising the bulk of the book by Gor¬.. don

der Universit at M unchen Set

A code fragment showing how to iterate over the grid and to compute the volume of the domain by calculating the volume of each element is found at the bottom of the file

The saturated vapor density versus temperature is deduced from absorption measurements.. The fluorescence quantum efficiency of both dyes in the vapor phase is approximately 1.5 x

In the event of a Local or Asian financial crisis our findings suggests that Malaysia will be the stock index affected the most as it is highly correlated