VS_Theorie

Card Set Information

Author:
Anonymous
ID:
92753
Filename:
VS_Theorie
Updated:
2011-07-05 06:12:42
Tags:
Verteilte Systeme
Folders:

Description:
Verteilte Systeme SS 2011
Show Answers:

Home > Flashcards > Print Preview

The flashcards below were created by user Anonymous on FreezingBlue Flashcards. What would you like to do?


  1. Definition Verteiltes System
    System, in dem sich Hard- oder Softwarekomponenten auf vernetzten Computern befinden und nur über den Austausch von Nachrichten kommunizieren und Ihre Aktionen koordinieren
  2. 3 grundsätzliche Probleme bei verteilten Systemen
    • Nebenläufigkeit
    • Fehlende globale Zeit
    • Unabhängige Ausfälle
  3. 4 Merkmale einer verteilten Anwendung
    • VS für fachlich geschlossene Funktionalität
    • Verteilung der Logik auf mehrere Komponenten
    • Jede Komponente kann auf separatem Knoten (Rechner) liegen
    • nutzt ein VS als Kommunikationsinfrastruktur
  4. 5 Beispiele für verteilte Anwendungen
    • FTP
    • Web
    • Email
    • Online-Shop
    • Gruppenterminkalender
  5. 4 Ziele von verteilten Systemen (Motivation)
    • Gemeinsame Ressourcennutzung
    • Transparenz
    • Skalierbarkeit
    • Offenheit
  6. 8 Arten von Transparenz bei verteilten Systemen
    • Leistungstransparenz
    • Skalierungstransparenz
    • Mobilitätstransparenz
    • Ortstransparenz
    • Zugriffstransparenz
    • Nebenläufigkeitstransparenz
    • Fehlertransparenz
    • Replikationstransparenz
  7. 3 Merkmale von Nebenläufigkeit
    • Ressourcenkapselung
    • Synchronisation paralleler Zugriffe
    • Beachtung der Problematik bereits beim Design eines Objekts, das Ressourcen kapselt, auf die parallel zugegriffen wird
  8. 3 Unterziele von Skalierbarkeit
    • Kostenkontrolle
    • Ressourcenkontrolle
    • Leistungskontrolle
  9. 3 Aspekte der Offenheit bei VS
    • Schnittstellen (veröffentlicht)
    • Kommunikation (einheitlicher veröffentlichter Mechanismus)
    • Heterogenität (unterschiedliche Hard/Software)
  10. 3 Aspekte der Sicherheit bei VS
    • Vertraulichkeit
    • Integrität
    • Verfügbarkeit
  11. 4 Handlungsoptionen bei der Fehlerverarbeitung bei VS
    • Erkennen
    • Tolerieren
    • Maskieren
    • Ignorieren
  12. 4 Qualitätsanforderungen an VS
    • Zuverlässigkeit
    • Sicherheit
    • Anpassbarkeit
    • Leistung
  13. 4 Leistungsanforderungen an VS
    • Antwortzeiten
    • Durchsatz
    • Lastverteilung
    • Caching und Replikation
  14. 4 Ziele von Grid Computing
    • Universelle Verfügbarkeit von Daten und Applikationen
    • Dynamisches Angebot von Rechenleistung
    • Kooperation über Firmengrenzen hinweg
    • Gewährleistung von Zugriffsrechten und Datensicherheit
  15. 3 Systemmodelle bei VS
    • Interaktionsmodell
    • Fehlermodell
    • Sicherheitsmodell
  16. 3 Aspekte des Interaktionsmodells
    • Kommunikation
    • Koordination
    • Rahmenbedingungen
  17. 4 Fehlerarten beim Fehlermodell
    • Dienstverweigerung / Auslassungsfehler
    • Verarbeitungsabbruch
    • Timing
    • Zufällig
  18. 3 Prozesstypen
    • Client-Prozess
    • Server-Prozess
    • Peer-Prozess
  19. 4 Client-Server Varianten
    • Mobiler Code (Applets)
    • Kooperierende Server (domain-Name-Server)
    • Replizierte Server
    • Proxy-Modell
  20. 5 Merkmale von mobilen Agenten
    • Mobilder Code und aktueller Zustand
    • Reist in einem Netzwerk von Computer zu Computer
    • Nimmt jeweils einen oder mehrere Lokale Aufrufe vor
    • Reduzierte Kommunikationszeit- und kosten
    • Potenzielles Sicherheitsrisiko für die ausführende Umgebung
  21. 3 Merkmale Peer-to-Peer-Modell
    • Gleichberechtigte Prozesse interagieren miteinander
    • Jeder Prozess kann als Client- und Serverprozess auftreten
    • Unabhängig von einem zentralen Server
  22. 6 Merkmale Ad-Hoc-Kopplung
    • keine Konfiguration notwendig
    • automatische Erkennung vorhandener Dienste
    • automatische Bereitstellung eigener Dienste anhand der Konfiguration
    • Reaktion auf Verbindungsabbrüche
    • Sicherheitsprobleme
    • Datenschutzprobleme
  23. Definition Interprozesskommunikation (IPC)
    Komponenten einer verteilten Anwendung laufen auf unterschiedlichen Knoten in unterschiedlichen Prozessen bzw. Threads. Mechanismus zum Nachrichtenaustausch zwischen Prozessen und zum sicheren Ressourcenzugriff
  24. 4 Arten der technischen Umsetzung von IPC
    • über Hauptspeicher
    • über Dateien
    • über Pipes (lokal)
    • über Sockets
  25. 3 Programmiermodelle bei IPC
    • Entfernte Prozeduraufrufe (prozedural und synchron)
    • Entfernte Methodenaufrufe (objektorientiert und synchron)
    • Nachrichtenorientiertes Modell (beliebig programmiert und asynchron)
  26. 5 Schritte bei RPC
    • Entkopplung von Client und Server durch Schnittstellendefinition
    • Einführung von Stub und Skeleton als Zugriffsschnittstelle auf Client- und Serverseite
    • Stub und Skeleton werden aus der Schnittstellenspezifikation generiert
    • verantwortlich für Marshaling und Unmarshaling
    • Stub und Skeleton ermöglichen die Zusicherung von Zugriffs- und Ortstransparenz
  27. 3 Protokolle für den Nachrichtenaustausch bei RPC
    • R (Request)
    • RR (request und Reply)
    • RRA (Request, Reply und Acknowledge)
  28. 3 Einschränkungen bei entfernten Objekten
    • Zugriff auf den Zustand nur über Methoden (Kapselung)
    • keine Verwendung des Konstruktors möglich (Factoryklassen/Methoden notwendig)
    • Zusätzlicher Fehlertypus (Remoteexception)
  29. 3 Merkmale Proxy-Pattern
    • Client führt Stellvertreterobjekt des eigentlichen Serverobjekts ein (Proxy)
    • Proxy und Serverobjekt implementieren die gleiche Schnittstelle
    • Client kennt nur die Schnittstelle und nutzt diese für Aufrufe
  30. 9 Ablaufschritte bei RMI
    • Definiere Interface
    • Definiere Serverklasse mit Implementierung des Interfaces und instanziere ein Objekt mit Anmeldung bei Registry
    • Definiere Clientklasse mit Referenz auf Objekt in der Registry und rufe dessen Methoden auf
    • Generierung von Bytecode aller 3 Klassen mittels javac
    • Generierung von stub und skeleton Bytecode mittels rmic
    • Verteilung der erzeugten Dateien
    • Starten der Registry auf dem Server
    • Starten des Servers (Objekterzeugung und Anmeldung bei Registry)
    • Starten des Clients
  31. Interface-Code bei RMI
    public interface ServerInterface extends Remote { Date getDatum() throws RemoteException;}
  32. Servercode bei RMI
    • implements ServerInterface
    • main-Methode inklusive try-catch
    • neues Objekt von der eigenen Klasse (server)
    • ServerInterface stub = (ServerInterface) UnicastRemoteObject.exportObject(serverobjekt,0)
    • Registry reg = LocateRegistry.getRegistry()
    • reg.bind("ServerInterface", stub)
  33. Clientcode bei RMI
    • main-Methode inklusive try-catch
    • Registry reg = LocateRegistry.getRegistry(hostname)
    • ServerInterface stub = (ServerInterface) reg.lookup("ServerInterface")
    • Aufruf der Methode des Servers über stub.[Methode]
  34. 5 Vorteile von RMI
    • Einfache Implementierung
    • Entfernte Aufrufe sind transparent
    • Infrastruktur mit der Java Plattform frei verfügbar
    • Caching bei lokaler Verfügbarkeit der Implementierung möglich
    • Alle Dienste der Java-Plattform können genutzt werden
  35. 3 Techniken zur Erreichung von Sicherheit
    • Verschlüsselung
    • Authentifizierung
    • Zugangskontrolle beim Ressourcenzugriff
  36. 3 Verfahren zur Erreichung von Vertrauen
    • Zertifizierung durch vertrauenswürdige Organisation
    • Anzahl der Kunden und damit wachsendes Vertrauen
    • Mund-zu-Mund Propaganda
  37. 3 Klassen von Sicherheitsbedrohungen
    • Erlangen von Informationen durch unberechtigte Empfänger (Leck)
    • Unberechtigte Veränderung von Informationen (Intrigieren)
    • Störung des Betriebs durch einen initial nicht zu ermittelnden Verursacher (Vandalismus)
  38. 5 Angriffsmethoden auf verteilte Systeme
    • Unberechtigtes Kopieren von Nachrichten (Lauschangriff)
    • Verwendung einer fremden Authentifizierung (Maskerade)
    • Nachrichten abfangen und mit verändertem Inhalt weitergeben (Intrigieren)
    • Speichern abgefangener Nachrichten und erneuter Versand (Wiederholung)
    • Überflutung des Kanals oder der Ressource mit Nachrichten (Verweigerung)
  39. 4 grundlegende Sicherheitsziele
    • Vertraulichkeit
    • Integrität
    • Authentizität
    • Nicht-Abstreitbarkeit
  40. 3 Stufen der Berechtigungsprüfung
    • Identifikation (login)
    • Authentifikation (Passwort)
    • Authorisierung (Berechtigungen)
  41. 4 Entwurfsrichtlinien für sichere Systeme
    • Offenheit
    • Lebenszeitbegrenzung
    • Vertrauensbasis
    • Angriffsmacht
  42. Definition Klartext
    Originalnachricht in einer für Menschen lesbaren Form
  43. Definition Chiffre
    Verschlüsselte Nachricht, die nicht mehr unmittelbar lesbar ist
  44. Definition Konfusion bei der Verschlüsselung
    Anwendung nicht destruktiver Operationen zur Verschleierung der Beziehung zwischen Blöcken in Klartext und Chiffre
  45. Definition Diffusion
    Zerstreuung klartextüblicher Wiederholung und Redundanz durch Umsetllung von Teilen des Klartextblocks
  46. 3 Anwendungsgebiete von Verschlüsselung
    • Geheimhaltung und Integrität
    • Authentifizierung
    • Digitale Signatur
  47. 8 Arten von Speichersystemen
    • Hauptspeicher
    • Dateisystem
    • Verteiltes Dateisystem
    • Web
    • Verteilter gemeinsamer Speicher
    • Entfernte Objekte
    • Persistenter Objektspeicher
    • Persistenter verteilter Objektspeicher
  48. 6 Module von Dateisystemen
    • Directory Modul (Dateiname - ID)
    • File Modul (ID - Datei)
    • File Access Modul (liest Inhalte/Attribute)
    • Block Modul (Allokiert Blöcke)
    • Device Modul (Datenträger und Caching)
    • Access Control Modul (prüft Berechtigungen für Operationen)
  49. 8 Anforderungen an verteilte Dateisysteme
    • Transparenz
    • Nebenläufige Aktualisierungen
    • Dateireplikation
    • Heterogenität
    • Fehlertoleranz
    • Konsistenz
    • Sicherheit
    • Effizienz
  50. 3 verschiedene Dateisystem-Architekturen
    • Flacher Dateidienst
    • Verzeichnisdienst
    • Client-Modul
  51. Begriffe bei Uhren
    • Uhrauflösung
    • Uhrabweichung
    • Synchronisationsfehler
    • Abweichungsgeschwindigkeit
    • Korrektheit
    • Monotonie
  52. Formeln für Zeitsynchronisation mit Timeserver für ein synchrones System
    • Zeit-Timeserver + (Obergrenze max + Untergrenze min) / 2
    • optimale Grenze mit N Uhren = (max+min)/1-(1/N)
  53. 3 Schritte beim Algorithmus von Christian
    • Nachricht an Zeitserver mit Zeit und Roundtrip-Time
    • Zeitserver setzt seinerseits aktuelle Zeit t_s ein
    • System stellt eigene Zeit auf = t_s + Roundtrip-Time / 2
  54. 5 Merkmale des Algorithmus von Christian
    • Probabilistisches Verfahren
    • Asynchrones System
    • Annahme, dass sich Roundtrip-Time auf beide Nachrichten gleichmäßig verteilt
    • Voraussetzung ist eine relativ kurze Nachrichtenlaufzeit
    • Verbesserung durch mehrfaches Senden und Verwendung des minimalen Roundtrip-Wertes
  55. 6 Schritte beim Berkley-Algorithmus (Interne Zeitsynchronisation)
    • Master ermittelt Zeit
    • Master sendet Zeitanfragen an alle anderen Rechner (Slaves)
    • Ermittelt Roundtrip-Time und mittelt über alle Zeitwerte inkl. dem eigenenm
    • Master eliminiert vor der Mittelwertbildung alle Werte größer einem definierten Maxima für Roundtrip-Times und Uhrabweichungen als Ausreisser
    • Sendet Abweichungsbetrag an jeden Slave
    • Bei Ausfall des Masters Auswahl eines neuen über Auswahlalgorithmen
  56. Problem beim Berkeley-Algorithmus
    Bei neuer Auswahl eines Masters garentieren die Standardauswahlalgorithmen kein festes Intervall für Abschluss der Auswahl, daher keine definierte Genauigkeit mehr
  57. 4 Entwurfsziele des Network-Time-Protocol (NTP)
    • Genauigkeit
    • Zuverlässigkeit
    • Skalierbarkeit
    • Störungsresistenz
  58. 3 Modi bei NTP
    • Multicast - leichte Ungenauigkeit, für LAN's
    • Prozeduraufruf - ähnlich Algorithmus von Christian
    • Symmetrisch - mehrere Server im LAN, höchste Genauigkeit
  59. 4 Funktionen des Beobachters bei der verteilten Ereignisbenachrichtigung
    • Weitergabe von Nachrichten
    • Nachrichten filtern
    • Auswertung von Ereignismustern
    • Persistieren der Nachrichten
  60. 3 Merkmale von Middleware
    • Softwareschicht zwischen VS und Anwendung zur Unterstützung der IPC
    • Setzt auf Transportprotokoll und Zugriffsschnittstelle des VS auf
    • verbirgt Verteilungsaspekte einer Anwendung (Transparenz)
  61. 2 Arten von Middleware
    • Kommunikationsorientiert
    • Anwendungsorientiert
    • Nachrichtenorientiert
  62. 6 Aktuelle Middleware-Technologien
    • RMI
    • Java Message Service
    • .NET Remoting
    • Windows Communication Foundation
    • Webservices
    • ESB-Systeme
  63. 3 Merkmale kommunikationsorientierter Middleware
    • Setzt direkt auf Protokoll des VS auf
    • Dient als Kommunikationsinfrastruktur
    • Konzentriert sich auf reine Kommunikationsaspekte
  64. 5 Aufgaben der Kommunikationsinfrastruktur bei komm.orientierter Middleware
    • Kommunikation zwischen Middleware-Schichten
    • Lokalisation und Identifikation der Kommunikationspartner
    • Unterstützung von Thread- und Prozessverwaltung
    • Bereitstellung eines einheitlichen Datenformats
    • Logische Einordnung von Middleware
  65. 5 Probleme bei der Datentransformation bi komm.orientierter Middleware
    • Heterogenität der Plattform
    • Heterogenität der programmiersprache
    • Unterschiedliche Darstellung von Ganzzahlen
    • Unterschiedliche Reihenfolge der Speicherung von Bytes
    • Unterschiedliche Zeichencodierung
  66. 2 Lösungsansätze für die Probleme bei der Datentransformation
    • Betriebssystemspezifische Middleware
    • einheitliches Übertragungsformat
  67. Definition Marshaling
    Transformation von Daten in ein Übertragungsformat, das geeignet mit einer Nachricht verschickt werden kann. Das Format muss Nachrichtenpartnern und Middleware bekannt sein
  68. Definition Unmarshaling
    Rücktransformation eines Übertragungsformates in Daten einer konkreten Programmiersprache
  69. 3 gängige Fehler, die bei Verteilung auftreten
    • Fehlerhafte Übertragung auf Bitebene
    • Fehlende Nachrichten
    • Ausfall von Komponenten
  70. 4 Schritte beim nachrichtenorientierten Modell bei Middleware
    • Sender stellt eine Nachricht in die Warteschlange des Empfängers
    • Empfänger nimmt Nachricht entegen, sobald er empfangsbereit ist
    • weitgehende Entkopplung von Sender und Empfänger
    • Versenden einer Antwortnachricht nicht vorgesehen
  71. 5 Dienste und Mechanismen nachrichtenorientierter Middleware
    • asnychrone Kommunikation
    • Unterstützung verschiedener Message-Passing-Modelle
    • Warteschlangenverwaltung
    • Verbindungsmanagement
    • Quality-of-Service-Zusicherungen
  72. 6 Aufgaben des Queue Managers bei Middleware (Warteschlangenverwalter)
    • Verwaltung von Warteschlangen unterschiedlicher Empfänger
    • Initiierung von Warteschlangen
    • Zuordnung von ankommenden Nachrichten zu Warteschlangen
    • Überwachung des Füllungsgrades von Warteschlangen
    • Transport von Nachrichten über Subnetz--Grenzen hinaus
    • Transformation von Nachrichten in ein anderes Format (Broker)
  73. 3 Einsatzgebiete nachrichtenorientierter Middleware
    • Lose Kopplung von Sender und Empfänger
    • Nachrichten weitgehend unabhängig von Programmiersprache
    • geeignet für Integration unterschiedlicher Anwendungen
  74. 3 Modelle nachrichtenorientierter Middlware
    • Point-to-Point
    • Request-Reply
    • Publish-Subscribe
  75. 3 Schritte Point-to-Point-Model bei nachrichtenorientierter Middleware
    • Queue speichert Nachricht bis sie gelesen wird oder abläuft
    • Sender stellt Nachricht in die Queue genau eines Empfängers
    • Empfänger verarbeiter sobald bereit und sender Empfangsbestätigung
  76. 3 Merkmale Request-Reply-Model bei nachrichtenorientierter Middleware
    • ermöglicht synchrone Kommunikation über asynchrone Middleware
    • Verschicken einer Nachricht und Empfangen einer Antwortnachricht als eine Einheit
    • mögliche Umsetzung über unterschiedliche Warteschlangen für Request und Reply
  77. 5 Schritte beim Publish-Subscribe-Model bei nachrichtenorientierter Middleware
    • Prozesse erhalten Rollen als Publisher bzw. Subscriber
    • Subscriber abonnieren Nachrichten zu einem Thema
    • mehrere Empfänger pro Nachricht möglich
    • Empfänger erhält nur Nachrichten, solange er existiert
    • Publisher veröffentlichen Nachrichten zu einem Thema
  78. 3 Merkmale Publish Subscribe-Model bei nachrichtenorientierter Middleware
    • pro Anwendung zwei lokale Warteschlangen
    • Zugriff auf eine Warteschlange nur lokal
    • Warteschlangen werden durch WS-Manager verwaltet
  79. 4 Merkmale Google File System Cluster
    • ein Master
    • sehr viele Chunkserver
    • Chunkserver speichern Dateien
    • jede Datei ist in 64 MB große Chunks gespalten
  80. 6 Merkmale Google File System
    • hohe Durchsatzraten
    • dafür höhere Latenzzeit
    • jede Datei wird mindestens drei mal pro Cluster gespeichert
    • Master speichert nur Metadaten der Chunks
    • Master erhält Anfragen und verweist auf entsprechende Chunks
    • nur ein Master pro Cluster
  81. 2 Grundprobleme der Nebenläufigkeit
    • Herstellung serieller Äquivalenz bei der nebenläufigen Abarbeitung von Operationen
    • Übergang von persistentem konsistenten Zustand in selbigen
  82. 3 Methoden der Nebenläufigkeitskontrolle
    • Pessimistische Sperren (Locks)
    • Zeitstempel
    • Optimistische Kontrolle
  83. 3 Annomalien bei Transaktionen
    • lost-update
    • dirty-read
    • unrepeatable-read
  84. 3 Vorteile geschachtelter Transaktionen
    • Nebenläufigkeit auf gleicher Hierarchieebene
    • Unabhängigkeit einzelner Subtransaktionen für größere Robustheit
    • Individuelle Strategien übergeordneter Transaktionen für den Abbruch von Subtransaktionen festlegbar
  85. 4 Regeln geschachtelter Transaktionen
    • Commit erst nach Commit aller Subtransaktionen
    • Rollback einer Transaktion führt zum Rollback aller zugehörigen Subtransaktionen
    • Subtransaktion trifft unabhängige Entscheidung zum provisorischen Commit oder finalen Rollback
    • Commit der Top-Level-Transaktion führt zum finalen Commit
  86. 2 Punkte zur Behebung von Deadlocks
    • Erkennung durch Test des Wartegraphen auf Kreisfreiheit
    • Entfernen des Kreises durch Löschen eines Knotens
  87. 3 Punkte zur Verhinderung von Deadlocks
    • Lebensdauerbegrenzung von Sperren über Timeout
    • Sperren aller Objekte beim Start der Transaktion
    • Anforderung der Sperren in vordefinierter Reihenfolge
  88. 3 Bereinigungsstrategien bei der optimistischen Nebenläufigkeitskontrolle
    • Wiederholen der Auswertung zu einem späteren Zeitpunkt (Verschieben)
    • Abbruch aller Konfliktverursacher
    • Abbruch der aktuellen Transaktionen
  89. 3 Schritte 2-Phase-Commit Protokoll
    • Alle Teilnehmer werden angefragt, ob sie die Transaktionen erfolgreich durchführen können
    • Commit an alle im positiven Fall
    • Abort an alle im negativen Fall
  90. 4 Kernaspekte von SOA
    • Andere Komponenten nutzen keine Eigenschaften der inneren Implementierung einer Komponente
    • Komponente verfügt über eindeutige Kategorie und klar definierte Schnittstelle
    • Services können einfach wiederverwendet werden
    • Die Fachlogik muss nur einmal implementiert werden
  91. 4 Merkmale von Webservices
    • Sammlung von technischen Standards
    • Ausgerichtet auf Kommunikationsprotokolle auf XML-Basis
    • Starke Varianz beim Umfang der Unterstützung durch einzelne Hersteller
    • Heute in allen EAI-Tools und Application Servern integriert
  92. 5 Merkmale von Geschäftsservices
    • Funktionalität mit geschäftlicher Bedeutung
    • Nutzung auf eindeutige Art und Weise
    • klar definierte Reaktionen und Wirkungen
    • stehen im Kontext von vertraglichen Pflichten und Nutzen
    • werden an den Organisationsgrenzen nach aussen angeboten
  93. 3 Merkmale von Anwendungsservices
    • orientieren sich an Idealvorstellungen der Geschäftsservices
    • bilden Geschäftsservices ab, wo eine IT-Unterstützung sinnvoll ist
    • werden von Komponenten der Anwendungslandschaft angeboten
  94. 3 Servicearten bei SOA
    • Elementar (Basisfunktionen)
    • Zusammengesetzt
    • Orchestrierbar
  95. 4 Anforderungen an SOA-Services
    • Wiederverwendbarkeit
    • Sinnvolle Granularität
    • Eindeutige Schnittstellen
    • Klare Beziehungen
  96. 3 Merkmale ESB
    • Standardbasierte Integrationsplattform zur Umsetzung einer SOA
    • Mechanismen zum verteilten Betrieb, Transformatino, Sicherheit und Deployment
    • Interaktion mit Webservices
  97. 7 Eigenschaften eines ESB
    • Bus-Architektur
    • In der Regel JMS basiert
    • XSLT Transformation
    • Transport im XML Format
    • Orchestrierung und Prozessmodellierung (BPEL)
    • Monitoring-Mechanismen
    • Skalierung / Lastverteilung / Failover
  98. 4 Punkte der mangelnden Standardisierung von Webservices
    • WSDL ist nur Standard für Beschreibung der Service-Signatur
    • kein Standardmechanismus für Abbildung der Verfügbarkeit von Antwortzeiten
    • kein Standardmechanismus für Versionierung
    • vollständige Abdeckung der SOA-Anforderunge noch nicht verfügbar
  99. 5 Merkmale Java Business Integration (JBI)
    • technischer Standard zur Realisierung von SOA in Java
    • Architektur zur Integration von Java-basierten SOA Komponenten
    • Container-Architektur, die über Plugin-Mechanismen erweiterbar ist
    • Infrastruktur basierend auf bekannten Standards
    • normalisiertes Nachrichtenformat für Services basierend auf WSDL 2.0
  100. 5 Eigenschaften Java Messaging Service
    • Routing über JMS-Destinations
    • Standardisierte Client-API
    • Publish-Subscribe Kommunikationsmuster
    • Nachrichtenfilterung über Message-Selektoren
    • Transaktionen über Messages
  101. 6 Lücken in der Spezifikation von JMS
    • Lastverteilung
    • Ausfallsicherheit
    • Standardisierte Spezifikation der Payload
    • Definition Kommunikationsprotokoll
    • Standardisierte Administrations-API
    • kein Standard für Request/Reply
  102. 5 Merkmale OSGi
    • hardwareunabhängige und dynamische Softwareplattform
    • Anwendungen und Services in Komponentenmodell modularisieren und verwalten
    • setzt Java VM voraus
    • unterstützt fachliche und technische Versionierung von Komponenten
    • unterstützt dynamische Module (zur Laufzeit generiert)
  103. 4. Schritte beim Top-Down-Verfahren bei SOA
    • Systematische Prozessanalyse
    • Modularisierung und iterative Verfeinerung
    • Identifikation von identischen / ähnlichen Prozessmodulen
    • Entwicklung von Business-Services
  104. 3 Schritte beim Bottom-UP-Verfahren bei SOA (Harvesting)
    • Services aus bestehenden Systemen durch Wrapping verfügbar machen
    • Identifikation von Service-Kandidaten
    • Aggregation zu höherwertigen Services
  105. 7 Organisatorische und strategische Aspekte bei SOA
    • Sponsoren finden in Management und Fachabteilungen
    • Mittel- und langfristige Effekte vs Quick Wins
    • wer finanziert gemeinsame Dienste?
    • Motivation zur Entwicklung wiederverwendbarer Dienste
    • Koordination der Weiterentwicklung
    • Management der Beziehungen zwischen Diensten
    • Integration von Partnern und Zulieferern
  106. 6 Ebenen des SOA-Reifegradmodells
    • 0: Initial
    • 1: Dienste
    • 2: Prozesse
    • 3: Organisation
    • 4: Governance
    • 5: Optimierung
  107. 4 erwünschte Eigenschaften paralleler Algorithmen
    • Nebenläufigkeit
    • Skalierbarkeit
    • Lokalität
    • Modularität
  108. 4 parallele Programmiermodelle
    • Tasks/Kanal
    • Message passing
    • Datenparallelisierung
    • Shared Memory
  109. 3 Eigenschaften Task/Kanal Programmiermodell
    • parallele Berechnung gleichzeitig in variierender Anzahl Tasks
    • Task kapselt sequentielles Programm und lokalen Speicher
    • Task bietet In- und Out-Ports zur Kommunikation mit seiner Umgebung
  110. 4 Schritte beim Parallelen Design-Vorgehen: PCAM
    • Partitioning - Partitioniere Algorithmus und Daten
    • Communication - bestimme Kommunikation, Kommunikationsstrukturen und Algorithmen
    • Agglomeration - Evaluiere Kommunikationsstrukturen
    • Mapping - weise Tasks Prozessoren zu für gleichmäßige Auslastung
  111. 5 Items bei der Partitionierung bei parallelen Algorithmen
    • Anzahl Tasks - mindestens eine Größenordnung über tatsächlicher Prozessoranzahl
    • Redundanz - Vermeidung redundanter Speicherung
    • Berechnungsumfang - Tasks von ähnlicher Größe
    • Skalierung - Anzahl Tasks abhängig von Problemgröße
    • Alternativen - Mehrere alternative Partitionierungen definieren
  112. 4 Arten der Kommunikation bei parallelen Algorithmen und jeweils zwei Ausprägungen
    • Lokalität - lokal und global
    • Strukturiertheit - strukturiert und unstrukturiert
    • Dynamik - statisch und dynamisch
    • Synchronität - synchron und asynchron
  113. 4 Aspekte der Kommunikation bei parallelen Algorithmen
    • Kommunikationsvorgänge - gleiche viele Vorgänge je Task
    • Lokalität - wenige Nachbarn
    • gleichzeitige Kommunikation - tetaktete gleichzeitige Kommunikationsvorgänge
    • Ordnung - kein Task wartet auf andere
  114. 8 Aspekte der Agglomeration bei parallelen Algorithmen
    • Lokalität
    • Redundanz
    • Replikation
    • Umfang
    • Skalierbarkeit
    • Nebenläufigkeit
    • Occam's Razor (Minimal notwendige Anzahl Tasks)
    • Kosten
  115. 4 Aspekte des Mapping-Design bei parallelen Algorithmen
    • Dynamik
    • Zentralisierung
    • Kosten
    • Anzahl
  116. 4 Algorithmen für Load-Balancing
    • Rekursive Bisection - teile Last iterativ verschieden
    • Lokal - verteile Last schrittweise unter Nachbarn
    • Probabilistisch - zufällige Auswahl des Prozessors für eine Task
    • Zyklisch - weise jedem Prozessor jede P-te Task zu, effizient bei starker Lokalität der Last
  117. Abdamahls Gesetz zum Speedup
    Wenn der sequentielle Anteil eines Algorithmus zu dessen Ausführungszeit 1/s beträgt, liegt der maximal erreichbare Speedup bei s
  118. Formel für Effizienz bei Algorithmen
    Effizienz E = sequenzielle Zeit T_1 / (Anzahl Prozessoren P * parallele Zeit T_P)
  119. 3 Kompositionsansätze bei der Modularisierung von parallelen Algorithmen
    • sequenziell - alle Prozessoren arbeiten die gleiche Schritte sequenziell ab
    • parallel - verschiedene Prozessoren übernehmen verschiedene Schritte
    • gleichzeitig - auf jedem Prozessor gleichzeitig unterschiedliche Schritte
  120. 3 Parallele Designregeln bei der Modularisierung
    • Unabhängigkeit
    • Datenverteilung
    • Komposition
  121. 4 Auswirkungen der Modularisierung bei parallelen Algorithmen
    • zusätzliche Berechnungen
    • erhöhte Idle-Zeit durch ungleiche Lastverteilung
    • erhöhter Kommunikationsaufwand durch unabhängige Teile
    • parallele Komposition erhöht Granularität
  122. 4 Schritte beim Manager/Worker Designmuster
    • ein Manager verteilt Aufgaben auf viele Worker
    • Manager sammelt evtl. Ergebnisse ein
    • Worker arbeiten einzelnen Arbeitspalete ab
    • Worker liefern evtl. Ergebnisse an Manager
  123. 3 Varianten beim Manager/Worker Designmuster
    • Hierarchische Manager/Worker zur Komplexitätsreduktion der Verteilung
    • Dezentralisierte Manager
    • Hybride Ansätze mit z.B. dezentralen Arbeitspaketen und zentraler Verteilung
  124. 4 Schritte beim Producer/Consumer Designmuster
    • ein oder mehrere Producer erzeugen Arbeitspakete für Consumer
    • Producer legen Arbeitspakete in eine Schlange
    • ein oder mehrere Consumer holen Arbeitspakete aus der Schlange und verarbeiten sie
    • Anzahl Procucer und Consumer gemäß durch Schritte verursachter Last
  125. 3 Phasen beim Map-Reduce Verfahren
    • Map
    • Combine
    • Reduce

What would you like to do?

Home > Flashcards > Print Preview