¡GoConqr estrena diseño! Cuéntanos qué te parece.

Fichas

Kommunikationsmodelle 3 & Programmierparadigmen

Julian Rottenberg Alemán 127 fichas

Kommunikationsmodelle 3 & Programmierparadigmen

Fichas del conjunto (127)

  1. 1Wissensbasierte Modelle (Transaktionaler Speicher) (Benutzung von Semaphoren) (Die Idee) (Dummerweise)- Kommunikation mittels gemeinsamen Speicher zwar sehr schnell
    - klassische Synchronisation über wechselseitigen Ausschluss (Semaphore, Monitore) jedoch stark Parallelität limiterend
  2. 2Wissensbasierte Modelle (Transaktionaler Speicher) (Benutzung von Semaphoren) (Die Idee) (Gesucht)- alternatives Synchronisationsparadigma
  3. 3Wissensbasierte Modelle (Transaktionaler Speicher) (Benutzung von Semaphoren) (Die Idee) (Transaktionaler Speicher)- Kommunikation mittels gemeinsamen Speicher
    - Synchronisationskonzept transaktionaler Systeme
  4. 4Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma)Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma)
  5. 5Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Paradigmen zur Synchronisation in parallelen Systemen mit gemeinsamen Speicher) (Semaphore, Leases, (Hoare'sche) Monitore)=> Jobs der Programmierer:
    - Identifikation kritischer Abschnitte
    - Korrektheit, Verklemmung, Fairness, Grad der Parallelität,...
  6. 6Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Paradigmen zur Synchronisation in parallelen Systemen mit gemeinsamen Speicher) (Transaktionaler Speicher (TM))=> Job der Programmierer:
    - Identifikation kritischer Abschnitte
    - TM-Paradigma erledigt den Rest
  7. 7Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Ausflug: Definition einer Transaktion)Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Ausflug: Definition einer Transaktion)
  8. 8Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Ausflug: ACID-Eigenschaften) ((acid = bissig, ätzend); Härder 1983) (Atomarität)- Atomarität (Atomicity): Eine Transaktion ist unteilbar
    => "alles oder nichts", auch unter Anwesenheit von Ausfällen
  9. 9Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Ausflug: ACID-Eigenschaften) (Konsistenz)- Konsistenz (Consistency): Eine Transaktion überführt ein System aus einem konsistenten Zustand in den Nächsten
    => u.a. sind Teilergebnisse während der Ausführung einer Transaktion von außerhalb nicht beobachtbar
  10. 10Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Ausflug: ACID-Eigenschaften) (Isolation)- Isolation oder Serialisierbarkeit (Serializability): Parallele Transaktionen beeinflussen sich gegenseitig nicht
    => Wirkung der äquivalent der (irgend)einer sequenziellen Ausführung
  11. 11Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Ausflug: ACID-Eigenschaften) (Dauerhaftbarkeit)- Dauerhaftbarkeit (Durability): Die Wirkung einer Transaktion nach ihrem Abschluss ist permanent
    => ... auch unter Anwesenheit von Ausfällen
  12. 12Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (ACI für Speicherobjekte)- Programmobjekte (Variablen, Klasseninstanzen, Listen, ...)
    - Low-Level-Kommunikationsobjekte (Speicherseiten)
  13. 13Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Atomarität)- Unteilbarkeit von Gruppen (evtl. asynchroner) Operationen
  14. 14Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Konsistenz)- Unbeobachtbarkeit von Zwischenergebnissen (z.B. partiell veränderte structs, inkonsistente Listenverzeigerung)
  15. 15Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Isolation)- parallele Transaktionen beeinflussen sich gegenseitig nicht
  16. 16Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Beispiel: TM in Java)Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Beispiel: TM in Java)
  17. 17Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Beispiel: TM in Java) (Variante 1)Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Beispiel: TM in Java) (Varia...
  18. 18Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Beispiel: TM in Java) (Variante 2)Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Transaktionale Zugriffssemantik) (Beispiel: TM in Java) (Varia...
  19. 19Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Wechselseitiger Ausschluss vs. Transaktionen) (Semantik von Transaktionen: beobachtbare Wirkung)Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Wechselseitiger Ausschluss vs. Transaktionen) (Semantik von Tr...
  20. 20Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Qunitessenz) (Kommunikation und Synchronisation in parallelen Algorithmen) (Performanz)- Kommunikation über gemeinsamen Speicher
    - Sperren arme Synchronisation erhöht Grad der Prallelität
  21. 21Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Qunitessenz) (Kommunikation und Synchronisation in parallelen Algorithmen) (Korrektheit und Lebendigkeit)- Automatisierung der Synchronisation vermeidet Synchronisationsfehler
    => Programmierparadigma mit kräftigen Erleichterungen für Programmierer paralleler Algorithmen
  22. 22Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Qunitessenz) (Rollenmodell)- Ausführer von Gruppen synchroner oder asynchroner Operationen
    -> atomar
    -> isoliert (ungestört)
  23. 23Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Qunitessenz) (Datenmodell)Speicherobjekte; typisch
    - BS-Ebene
    -> Cache Lines
    -> Seiten
    - Anwendungsebene
    -> Programmvariablen
  24. 24https://i.gyazo.com/6d32d9b88d7a2f03dbfe94f4b48f34dd.pngWissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Messages) (TM: alternatives Paradigma zur Koordination von Parallelität)-https://i.gyazo.com/6d32d9b88d7a2f03dbfe94f4b48f34dd.pngWissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Messag...
  25. 25Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Messages) (Stand der Kunst: frisch)Wissensbasierte Modelle (Transaktionaler Speicher) (Programmierparadigma) (Messages) (Stand der Kunst: frisch)
  26. 26Zusammenfassung (Problemorientierte Kommunikationsmodelle) (Modellkomponenten)Zusammenfassung (Problemorientierte Kommunikationsmodelle) (Modellkomponenten)
  27. 27Zusammenfassung (Betrachtete Modelle)- botschaftenbasierte Modelle
    -> elementar, universell, zahlreiche Varianten
    => Teil der API vieler Betriebssysteme
    => Grundlage problemspezifischer Kommunikationsmodelle
  28. 28Zusammenfassung (Betrachtete Modelle) (problemspezifische Modelle) (strombasierte Modelle)- strombasierte Modelle
    -> multimediale Informations- und Kommunikationssysteme
  29. 29Zusammenfassung (Betrachtete Modelle) (problemspezifische Modelle) (Blackboards)- Blackboards, ereignisbasierte Modelle
    -> Workflow-Management-System, Börsenhandel, Cloud Computing
  30. 30Zusammenfassung (Betrachtete Modelle) (problemspezifische Modelle) (auftragsorientierte Modelle)- auftragsorientierte Modelle
    -> viele Internetanwendungen (Web, E-Mail, DNS), DBMSe
  31. 31Zusammenfassung (Betrachtete Modelle) (problemspezifische Modelle) (funktionsaufrufbasierte Modelle)- funktionsaufrufbasierte Modelle
    -> Finanz- und Versicherungswirtschaft, Telemetriesysteme (Raumfahrt), Telekommunikationssysteme, Produktionsanlagensteuerung
  32. 32Zusammenfassung (Betrachtete Modelle) (problemspezifische Modelle)- Blackboards, ereignisbasierte Modelle
    - auftragsorientierte Modelle
    - funktionsaufrufbasierte Modelle
    - strombasierte Modelle
    - wissensbasierte Modelle
    - transaktionaler Speicher
  33. 33Zusammenfassung (Betrachtete Modelle) (problemspezifische Modelle) (wissensbasierte Modelle)- wissensbasierte Modelle
    => Ad-hoc-Dienstinfrastrukturen
  34. 34Erinnerung: Die 7 Plagen verteilter Systeme (bei der Herstellung der Idealvorstellung des Fernaufrufs)Erinnerung: Die 7 Plagen verteilter Systeme (bei der Herstellung der Idealvorstellung des Fernaufrufs)
  35. 35Erinnerung: Ablauf eines RPCsErinnerung: Ablauf eines RPCs
  36. 36RPC-Systeme (Vorherrschende RPC-Implementierungen - die Qual der Wahl) ("1. Gerneration": u.a.)- ONC RPC (vormals Sun RPC)
    - XML-RPC
    - Java RMI (Remote Methode Invocation) ("OO-RPC")
  37. 37RPC-Systeme (Vorherrschende RPC-Implementierungen - die Qual der Wahl) ("2. Gerneration": u.a.)- Google gRPC
    - Apache Thrift
    - Twitter Finagle
    - Cap'n Proto
    - JSON-RPC
  38. 38RPC-Systeme (ONC (Open Network Computing) RPC) (Überblick)- entwickelt für Client-Server-Kommunikation im Sun Network File System (NFS)
  39. 39RPC-Systeme (ONC (Open Network Computing) RPC) (Bezeichnung)- auch ONC (Open Network Computing) RPC
  40. 40RPC-Systeme (ONC (Open Network Computing) RPC) (basiert auf)- (Aufruf-)Konventionen, die für Unix-Systeme und die Sprache C üblich sind
  41. 41RPC-Systeme (ONC (Open Network Computing) RPC) (Implementierungen)- existieren für meiste UNIX-artige Systeme, auch für Linux
  42. 42RPC-Systeme (ONC (Open Network Computing) RPC) (Konfiguration)- Protokoll: UDP oder TCP
    - Fehlersemantiken: at-least-once, at-most-once (unter Mitwirkung des Entwicklers)
    - optional: Broadcast RPC
  43. 43RPC-Systeme (ONC (Open Network Computing) RPC) (Überblick) (Spezifikationssprache RPCL (RPC Language)- Beschreibung von Stub-Prozeduren etc.
    - Anlehnung an C-Syntax
  44. 44RPC-Systeme (ONC (Open Network Computing) RPC) (Überblick) (Austauschformat XDR (External Data Representation)- architekturunabhängige Spezifikation und einheitliche Darstellung zu übertragender Daten
  45. 45RPC-Systeme (ONC (Open Network Computing) RPC) (Überblick) (Compiler rpcgen)- erzeugt C-Code
  46. 46RPC-Systeme (ONC (Open Network Computing) RPC) (Compiler rpcgen))erzeugt auf Basis einer Beschreibung in RPCL
    1. Muster (Template) für einen RPC-Client
    2. Client-Stub
    3. Template für einen RPC-Server
    4. Server-Stub
    5. gemeinsames Header-File für beide Komponenten
    6. Botschaften-Template für Datenaustausch (Sprache XDR)
    7. Template eines Makefile für C-Compiler
  47. 47RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Umwandlung einer lokalen Prozedur in einen Remote Procedure Call (RPC)) (Gegeben: eine einfache lokale Prozedur)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Umwandlung einer lokalen Prozedur in einen R...
  48. 48RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Umwandlung einer lokalen Prozedur in einen Remote Procedure Call (RPC)) (Das C-Programm printmsg)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Umwandlung einer lokalen Prozedur in einen R...
  49. 49RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Umwandlung einer lokalen Prozedur in einen Remote Procedure Call (RPC)) (Ausführung von printsmg (lokal))RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Umwandlung einer lokalen Prozedur in einen R...
  50. 50RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (1. Schritt: RPCL-Spezifikation)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (1. Schritt: RPCL...
  51. 51RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (2. Schritt: C-Implementierung der Remote-Prozedur)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (2. Schritt: C-Im...
  52. 52RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (2. Schritt: C-Implementierung der Remote-Prozedur) (Vergleich: printmessage_1 (remote) vs. printmessage (lokal)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (2. Schritt: C-Im...
  53. 53RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (3. Schritt: Client-Programm) (1)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (3. Schritt: Clie...
  54. 54RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (3. Schritt: Client-Programm) (2)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (3. Schritt: Clie...
  55. 55RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (3. Schritt: Client-Programm) (RPC-Bibliotheksroutinen)- clnt_create(): Client Handle erzeugen
    -> Parameter "visible" legt fest, dass jedes in /etc/netconfig beschriebene Transportprotokoll verwendet werden kann
    - clnt_destroy(): Client Handle löschen
  56. 56RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (3. Schritt: Client-Programm) (Stub-Routine)- printmessage_1()
  57. 57RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Wie nun Umsetzung als RPC? (3. Schritt: Client-Programm) (Fehlermanagement)- clnt_pcreaterror(): Fehlerausgabe mit Hinweis, warum RPC handle nicht erzeugt werden konnte, erzeugen
    - clnt_perror(): Fehlerausgabe mit Hinweis, warum RPC fehlgeschlagen ist, erzeugen
  58. 58RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Kompilieren und Ausführen)RPC-Systeme (ONC (Open Network Computing) RPC) (Ein konkretes Schritt-für-Schritt-Beispiel) (Kompilieren und Ausführen)
  59. 59RPC-Systeme (Typischer Workflow)RPC-Systeme (Typischer Workflow)
  60. 60RPC-Systeme (Synchrone RPCs vs. asynchrone RPCs)RPC-Systeme (Synchrone RPCs vs. asynchrone RPCs)
  61. 61RPC-Systeme (Google gRPC) (Anwendungsfeld)- Microservices
  62. 62RPC-Systeme (Google gRPC) (Use Cases)- verteilte Applikationen (Data Centers, Public/Private Cloud)
    - Client-Server-Kommunikation (Mobile, Web, Cloud, eingebettete Systeme, IoT)
    - Zugriff auf Google Cloud Services (z.B. von GPC, Android-/iOS-Geräten)
  63. 63RPC-Systeme (Google gRPC) (Prominente Anwender)- Square, Netflix, CoreOS (Container Linux), Cisco, ...
  64. 64RPC-Systeme (Google gRPC) (Sprachunterstützung, Kommunikationsprotokoll, Nachrichtenformat)RPC-Systeme (Google gRPC) (Sprachunterstützung, Kommunikationsprotokoll, Nachrichtenformat)
  65. 65RPC-Systeme (Google gRPC) (Typischer Entwicklungsablauf)- Spezifikation des Protobuf-Interfaces
    - Anwendung des Protobuf-Compilers protoc: Generierung der Service
    - Implementierung der Services im Server
    - Instanziierung des Stubs im Server
    - Testen, testen, testen, ... Done!
  66. 66ProgrammierparadigmenProgrammierparadigmen
  67. 67Algorithemenparadigma- Allgemein: "Paradigma" [griechisch] das: Beispiel, Muster (Brockhaus)
    - Informatik: "Muster" für Entwurf und Formulierung von Algorithmen
  68. 68Applikativ- Verallgemeinerung der Funktionsauswertung
  69. 69Imperativ- basierend auf einem einfachen Maschinenmodell mit gespeicherten und änderbaren Werten
  70. 70Deduktiv- basierend auf logischen Aussagen und Schlussfolgerungen
  71. 71Applikative AlgorithmenApplikative Algorithmen
  72. 72Applikative Algorithmen (Grundidee)- Definition zusammengesetzter Funktionen durch Terme:
    f(x) = 5x +1
  73. 73Applikative Algorithmen (Unbestimmte)- x, y, z, .... vom Typ int
    - q, p, r, .. vom Typ bool
  74. 74Applikative Algorithmen (Terme mit Unbestimmten)Applikative Algorithmen (Terme mit Unbestimmten)
  75. 75Applikative Algorithmen (Funktionsdefinitionen)Applikative Algorithmen (Funktionsdefinitionen)
  76. 76Applikative Algorithmen (Erweiterung der Funktionsdefinition)Applikative Algorithmen (Erweiterung der Funktionsdefinition)
  77. 77Applikative Algorithmen (applikativer Algorithmus)Applikative Algorithmen (applikativer Algorithmus)
  78. 78Kategorisieren der funktionalen Sprachen (Erste Ordnung)- Funktionen können (nur) definiert und aufgerufen werden
  79. 79Kategorisieren der funktionalen Sprachen (Höhere Ordnung)- Funktionen können außerdem als Parameter an Funktionen übergeben werden und/oder Ergebnisse von Funktionen sein
    - Funktionen sind hier auch Werte! -- erstklassige Werte;
    - Erstklassig: Es gibt keine Einschränkungen
    - Umgekehrt: Wert ist eine Funktion ohne Parameter
  80. 80Kategorisieren der funktionalen Sprachen (Auswertungsstrategie) (Strikte Auswertung)- Synonyme: strict evaluation, eager evaluation, call by value, applikative Reduktion
    - Die Argumente einer Funktion werden vor Eintritt in die Funktion berechnet (ausgewertet) - wie z.B. in Pascal oder C
  81. 81Kategorisieren der funktionalen Sprachen (Auswertungsstrategie) (Bedarfsauswertung)Kategorisieren der funktionalen Sprachen (Auswertungsstrategie) (Bedarfsauswertung)
  82. 82Kategorisieren der funktionalen Sprachen (Typisierung) (Stark typisiert)- Die verbreiteten funktionalen Programmiersprachen sind stark typisiert, d.h. alle Typfehler werden erkannt
    -> Statisch typisiert: Typprüfung wird zur Übersetzungszeit ausgeführt
    -> Dynamisch typisiert: Typprüfung wird zur Laufzeit ausgeführt
  83. 83Kategorisieren der funktionalen Sprachen (Typisierung) (Untypisiert)- Reiner Lambda-Kalkül
  84. 84Unsere Welt und unser Handeln sind nebenläufigUnsere Welt und unser Handeln sind nebenläufig
  85. 85Nebenläufige Programmierung und ErlangNebenläufige Programmierung und Erlang
  86. 86Endliche Automaten (1)Endliche Automaten (1)
  87. 87Endliche Automaten (2)Endliche Automaten (2)
  88. 88Zusammenfassung NebenläufigkeitZusammenfassung Nebenläufigkeit
  89. 89Kalküle (Kalküle sind)- Minimalistische Programmiersprachen zur Beschreibung von Berechnungen
    - Mathematische Objekte, über die Beweise geführt werden können
  90. 90Der untypisierte λ-KalkülDer untypisierte λ-Kalkül
  91. 91Strukturelle InduktionStrukturelle Induktion
  92. 92Der untypisierte λ-Kalkül (λ-Terme)Der untypisierte λ-Kalkül (λ-Terme)
  93. 93Der untypisierte λ-Kalkül (Variablenkonvention) (Abstraktion ist rechtassoziativ)Der untypisierte λ-Kalkül (Variablenkonvention) (Abstraktion ist rechtassoziativ)
  94. 94Gründe für verteilte ProgrammeGründe für verteilte Programme
  95. 95Kommunikationsmodelle (Asynchrone Kommunikation)Kommunikationsmodelle (Asynchrone Kommunikation)
  96. 96Kommunikationsmodelle (Synchrone Kommunikation)Kommunikationsmodelle (Synchrone Kommunikation)
  97. 97Vergleich (asynchron vs synchron)Vergleich (asynchron vs synchron)
  98. 98AktormodellAktormodell
  99. 99Aktormodell (Bild)Aktormodell (Bild)
  100. 100RPC: PrinzipRPC: Prinzip
  101. 101Fehlersemantik bei RPC (Umgang mit Timeouts, Serverausfall, etc...) (Maybe)- Keine Wiederholung des Prozeduraufrufs
    - Keine Garantie für Ausführung
  102. 102Fehlersemantik bei RPC (Umgang mit Timeouts, Serverausfall, etc...) (At-least-once)- Wiederholte Ausführung, aber keine Erkennung von Nachrichtenduplikaten
    - Nur für idempotente Operationen (z.B. Lesen)
  103. 103Fehlersemantik bei RPC (Umgang mit Timeouts, Serverausfall, etc...) (At-most-once)- Garantie, dass mehrfache Client-Aufrufe nicht zum mehrmaligen Prozeduraufruf führen, z.B. durch Sequenznummern der Nachrichten, Protokollierung -> Duplikateliminierung
    - Für nicht-idempotente Operationen (z.B. Einfügen, Löschen)
  104. 104Parallelprogrammierung (Einordnung)Parallelprogrammierung (Einordnung)
  105. 105Parallelprogrammierung (Multiprozessorsysteme)Parallelprogrammierung (Multiprozessorsysteme)
  106. 106Parallelprogrammierung Symmetrisch vs. Nicht-symmetrischParallelprogrammierung Symmetrisch vs. Nicht-symmetrisch
  107. 107Parallelprogrammierung Flynn‘s ArchitekturklassifikationParallelprogrammierung Flynn‘s Architekturklassifikation
  108. 108Parallelprogrammierung Maße zur LeistungsbewertungParallelprogrammierung Maße zur Leistungsbewertung
  109. 109Parallelprogrammierung Amdahlsches Gesetz (1)Parallelprogrammierung Amdahlsches Gesetz (1)
  110. 110Parallelprogrammierung Amdahlsches Gesetz (2)Parallelprogrammierung Amdahlsches Gesetz (2)
  111. 111Parallelprogrammierung Parallelisierungsarten (Task-Parallelität)- Ausnutzung inhärenter Parallelität durch simultane Ausführung unabhängiger Aufgaben
  112. 112Parallelprogrammierung Parallelisierungsarten (Datenparallelität)- Gemeinsame Operation auf homogener Datenmenge
    - Zerlegung eines Datensatzes in kleinere Abschnitte
  113. 113Parallelprogrammierung (Taskparallelität)Parallelprogrammierung (Taskparallelität)
  114. 114Parallelprogrammierung (Datenparallelität)Parallelprogrammierung (Datenparallelität)
  115. 115Parallelprogrammierung Parallele Programmierung in ErlangParallelprogrammierung Parallele Programmierung in Erlang
  116. 116Parallelprogrammierung Job und Task TrackerParallelprogrammierung Job und Task Tracker
  117. 117Parallelprogrammierung MapReduce: FazitParallelprogrammierung MapReduce: Fazit
  118. 118Parallelprogrammierung in JavaUnterstützt durch
    -> Thread-Konzept
    - eingebaute Mechanismen zur Synchronisation nebenläufiger Prozesse
    - spezielle High-Level-Klassen im Packet java.util.concurrency
  119. 119Parallelprogrammierung ThreadsParallelprogrammierung Threads
  120. 120Parallelprogrammierung Threads in JavaParallelprogrammierung Threads in Java
  121. 121Parallelprogrammierung (Threads) Wechselseitiger AusschlussParallelprogrammierung (Threads) Wechselseitiger Ausschluss
  122. 122Parallelprogrammierung Tasks und FuturesParallelprogrammierung Tasks und Futures
  123. 123Parallelprogrammierung ZusammenfassungParallelprogrammierung Zusammenfassung
  124. 124Generische Programmierung (Typ-Substituierbarkeit)Generische Programmierung (Typ-Substituierbarkeit)
  125. 125Generische Programmierung Kovarianz und KontravarianzGenerische Programmierung Kovarianz und Kontravarianz
  126. 126Generische Programmierung (Kovarianz und Kontravarianz in Vererbungshierarchien)Generische Programmierung (Kovarianz und Kontravarianz in Vererbungshierarchien)
  127. 127Generische Programmierung (Kovarianz und Kontravarianz) (In objektorientierten Programmiersprachen)- Kontravarianz: für Eingabeparameter
    - Kovarianz: für Rückgabewerte und Ausnahmen
    - Invarianz: für Ein- und Ausgabeparameter

Información

Descripción
Fichas sobre Kommunikationsmodelle 3 & Programmierparadigmen, creado por Julian Rottenberg el 04/07/2018.
Visitas
42
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?