1 Grundlagen Verteilter Systeme 1.1 Begründung und Bedeutung ...

www2.cs.uni.paderborn.de

1 Grundlagen Verteilter Systeme 1.1 Begründung und Bedeutung ...

1 Grundlagen Verteilter Systeme1.1 BegrŸndung und Bedeutung© H.-U. Hei§, Uni PaderbornParadigmenwechsel in der InformatikZum wissenschaftstheoretischen Begriff des Paradigma© H.-U. Hei§, Uni PaderbornVerteilte Systemeπαραδειγµα = Beispiel, MusterWarum bilden ãVerteilte SystemeÒ ein eigenstŠndiges Thema ?Paradigma im Sinne von Th. Kuhn (ãThe structure of scientific revolutionsÒ):¥ Es gibt parallele AktivitŠten(Koordination, Synchronisation)¥ Es gibt keinen gemeinsamen Speicher(Interaktion durch Nachrichtenaustausch)¥ Systeme kšnnen sehr gro§ sein(Gro§systemeffekte, Umschlag von der QuantitŠt in die QualitŠt)¥ Fehler und AusfŠlle sind wahrscheinlich(Fehlertoleranz)¥ Komponenten (Hardware und Software) sind heterogen(Standardisierung von Schnittstellen)1-1Summe aller Grundannahmen, die in einem gewissen Zeitraum in einem Fachgebietallgemein anerkannt werden, d.h. das aktuell gŸltige Fundament eines FachgebietsBeispiele fŸr Paradigmenwechsel in der Physik:¥ Kopernikanische Wende:†bergang vom geozentrischen (PtolemŠus) zum heliozentrischen Weltbild(Kopernikus)¥ Von der NewtonÕschen Mechanik zur RelativitŠtstheorie und weiter zurQuantenmechanik1-2© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornParadigmenwechsel in der InformatikPhase 2: 1960 - 1980 (Hoch-Zeit der Informatik)Phase 1: 1930 - 1960 (AnfŠnge)Sichtweise: Hierarchie logischer, sprachverarbeitender MaschinenSichtweise:RechenassistentProgrammMaschineÜbersetzerMaschineCharakterisierung:In eine leere Maschine wird ausfŸhrbarer Code inklusive Eingabedaten geladen,die Maschine berechnet Ergebnisse, gibt sie aus und hŠlt an.Charakterisierung:Programme in hšheren Programmiersprachen dienen als Eingabedaten fŸr †bersetzer oderInterpreterierer, die daraus ausfŸhrbaren Code erzeugen.Abarbeitung weitgehend sequentiell.Residentes Betriebssystem ermšglicht Mehrprogrammbetrieb (time-sharing)1-31-4


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornPhase 3: heuteSichtweise:Eine Gruppe autonomer, ãintelligenterÒ Instanzen, die untereinander und mit der Au§enweltinteragieren.Was ist ein Verteiltes System ?Definition (Leslie Lamport)(nicht ganz ernst gemeint)"A distributed system is oneon which I cannot get any work donebecause some machine I have never heard ofhas crashed."Begriffliche AnnŠherungCharakterisierung:Komplexe Softwaresysteme erstrecken sich Ÿber eine Vielzahl von Rechnern.ãEin verteiltes System ist eine Zusammenfassung autonomer Rechner,die durch ein Netzwerk verbunden sind unddurch geeignete SoftwareunterstŸtzung sich dem Benutzerals ein zusammenhŠngendes Rechensystem darstellen.ÒSie bestehen aus einer Vielzahl spezialisierter, parallel arbeitender ãAgentenÒ,die zur ErfŸllung ihrer komplexen Aufgaben miteinander kooperieren undgleichzeitig im Wettbewerb um knappe Ressourcen stehen.1-51-6© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornBeispiele¥ Ein Transputersystem (z.B. direkt gekoppelte Transputer-Bausteine mit lokalemSpeicher)1.2 Entstehung Verteilter SystemeVerteilte Systeme sind das Resultat zweier Prozesse:¥ Verteilen¥ Ein Netz von Arbeitsplatzrechnern (verbunden durch Ethernet oder Token-Ring)¥ Gesamtheit aller Internet-Knoten¥ Die durch einen Bus gekoppelten Prozessoren in einem Automobil(ABS, Motorsteuerung, autom. Getriebe, Airbag, Navigationsrechner)¥ Ein Netz von Bargeldautomaten und dazugehšrige Server-RechnerProgramme und Daten werden auf mehrere Rechner verteilt, um Beschleunigung oderFehlertoleranz zu erzielen¥ Verbinden¥ Die Gesamtheit aller Rechnerknoten einer vollautomatischen Fertigungsstra§e¥ Die Menge aller Mobiltelephone in einer Zelled.h. Verteilte Systeme umfassen nahezu alle Bereiche heutigen Rechnereinsatzes1-7Rechner und ihre Programme werden von anderen Rechnern erreichbar und bildengro§e Verbunde logischer und physikalischer Betriebsmittel1-8


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornDas Grosch'sche GesetzLeistungAchtziger JahreAufkommen leistungsstarker Mikroprozessoren¥ Hohe Integrationsdichte (VLSI)¥ Ein-Chip-Prozessoren¥ Automatisierter Herstellungsprozess¥ Automatisierter Entwurfsprozess¥ Hohe StŸckzahlen"Die Leistung eines Rechners steigt (ungefŠhr) quadratisch mit dem Preis"Konsequenz:PreisEs ist gŸnstiger, einen doppelt so schnellen Rechner zu kaufen als zwei einfach schnelle(Das Gesetz galt in den Sechzigern und Siebzigern Ÿber einen weiten Bereich vonUniversalrechnern)1-9Konsequenz:Grosch'sches Gesetz gilt nicht mehr:1000 billige Mikroprozessoren bringen (rechnerisch) mehr Leistung (MIPS) als teurerSuperrechner (z.B. Cray)Idee:Zur Erzielung hoher Leistung bei geringen Kosten viele Prozessoren gemeinsam einsetzen.⇒ Parallelverarbeitung (ãVerteilenÒ)1-10Achtziger Jahre¥ Verbreitung von Arbeitsplatzrechner und PCsBildschirme werden durch PCs ersetztWorkstations erreichen die Leistung von Gro§rechnern bei einem Bruchteil desPreises.¥ Verbreitung lokaler Netze (LAN) (Ethernet)1-11© H.-U. Hei§, Uni PaderbornMšglichkeit, eine gro§e Anzahl autonomer Rechner kostengŸnstig mit einemleistungsfŠhigen Medium zu verbinden.Zugriff auf Dateien anderer RechnerNutzung von (Unter)programmen und anderer Betriebsmittel auf entfernten Rechnern⇒ Verteilte Systeme (ãVerbindenÒ)Wesentliche Eigenschaften¥ Gemeinsame Nutzung von Betriebsmitteln(GerŠte, Kommunikationsverbindungen, Programme, Daten)erweist sich im verteilten Fall als schwieriger¥ NebenlŠufigkeitin hohem Ma§e vorhanden: Ein komplexes Netzwerk paralleler AktivitŠten¥ Skalierbarkeitals Forderung: System soll auch noch funktionieren, wenn sich die Zahl derKnoten um Zehnerpotenzen Šndert1-12© H.-U. Hei§, Uni Paderborn¥ TransparenzBenutzer soll von der Verteiltheit des Systems mšglichst nichts mitbekommen¥ OffenheitVerwendete Schnittstellen (HW&SW) sollen šffentlich sein, damit neueKomponenten leicht integriert werden kšnnen¥ FehlertoleranzEinzelne AusfŠlle einzelner Komponenten dŸrfen nicht zum Ausfall des gesamtenSystems fŸhren


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornVor- und Nachteile verteilter Systeme1.3 Hardware-Architektur Verteilter SystemeVorteile¥ Kostenreduktion¥ Lokale Kontrolle und VerfŸgbarkeit¥ Ma§geschneiderte Konfiguration¥ Leichte Erweiterbarkeit¥ Ausfalltoleranz¥ Hohe Leistung durch Parallelarbeit¥ Modulare Software¥ HerstellerunabhŠngigkeit¥ †bereinstimmung mitorganisatorischen StrukturenNachteile¥ Hoher Bedienungs- undWartungsaufwand¥ Probleme durch HeterogenitŠt¥ Schwierigkeit, korrekte verteilteSoftware zu erstellen¥ KomplexitŠt desKommunikationssystems¥ Hoher Aufwand beim †bergang vomzentralisierten zum dezentralenSystem¥ Sicherheitsprobleme¥ Gesamtkosten schwer abzuschŠtzenGrobklassifikation nach FlynnDas bekannteste und einfachste Klassifikationsschema unterscheidet nach Einfachheitoder Vielfachheit von Befehls- und Datenstršmen.Durch Kombination gelangt man zu vier Klassen:SI (Single Instruction)MI (Multiple Instruction)SISDSD (Single Data)konventionellevon-Neumann-RechnerMISD(bisher) leerSIMDMD (Multiple Data)Feldrechner,Vektorrechner(Cray-1, CM-2, MasPar,..)MIMDMultiprozessorsysteme,Verteilte Systeme(Transputersysteme, Suprenum,Sequent Balance, CM-5,SGI, Intel Paragon,IBM SP6000, Cray T3D/T3E)1-131-14© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornMIMD-Maschinena) Multirechnersysteme (message passing systems, loosely coupled systems)Jeder Prozessor P verfŸgt Ÿber einen eigenen Speicher M, auf den nur er Zugriff hat.Datenaustausch durch Versenden von Nachrichten Ÿber ein VerbindungsnetzwerkVerbindungsnetzb) Multiprozessorsysteme (shared memory systems, tightly coupled systems)Alle Prozessoren (P) greifen Ÿber ein gemeinsames Kommunikationsnetzauf gemeinsame Speichermodule (M) zuP P P P P P P PVerbindungsnetzP P P P P P P PMMMMM M M M M M M MNach der Art der Erreichbarkeit der Speichermodule kann weiter unterschieden werden:- einheitlicher Speicherzugriff (uniform memory access, UMA):Zugriffszeit zum Speichermodul ist unabhŠngig von der Adresse des Prozessors oderdes Speichermoduls- uneinheitlicher Speicherzugriff (nonuniform memory access , NUMAZugriffszeit hŠngt von den beteiligten Adressen ab.1-151-16


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornVerbindungsnetzeAllgemeine KriterienStatische VerbindungsnetzeKonnektivitŠtsspektrum statischer Netze¥ ErweiterbarkeitVariable Anzahl von AnschlŸssen pro ProzessorBeliebige Inkremente¥ LeistungKurze Wege zwischen allen ProzessorenHohe BandbreiteGeringe †bertragungsdauer¥ KostenProportional zur Anzahl der Leitungen und zur Anzahl der AnschlŸsse.¥ ZuverlŠssigkeitDie Existenz redundanter Datenpfade¥ FunktionalitŠtPufferungWegewahlGruppenkommunikationAnz. VerbindungenAnschlüsse/ProzessorDurchmesserRing Hyperwürfel vollständig vermaschtnn/2 log2 nn (n-1) / 22log2 nn-1n/2log2 n11-171-18© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornBeispieleHyperwŸrfelGitter-Strukturen4x4-Gitter4x4-TorusHyperwŸrfel der Dimension 4 (H(4))EigenschaftenEigenschaften:¥ Konstanter Knotengrad¥ Erweiterbarkeit in kleinen Inkrementen¥ Gute UnterstŸtzung von Algorithmen mit lokaler Kommunikationsstruktur(Modellierung physikalischer Prozesse)¥ logarithmischer Durchmesser¥ Erweiterung in Zweierpotenzen¥ Variabler Knotengrad1-191-20


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornWŸrfelartig verbundene Ringe CCC(d) (cube connected cycles)Parameter typischer statischer Verbindungsnetzed-dimensionalen HyperwŸrfel, bei dem jeder durch einen Ring der Anzahl d ersetzt wird.Jeder dieser d Knoten besitzt neben den zwei Ringkanten eine weitere Kante in Richtungeiner der d HyperwŸrfel-DimensionenAnzahlKnotenAnzahl Kantenmax.KnotengradDurchmesserGitter G( a 1× a 2×L× a d)d∏a kk =1d∑(a k −1) ∏a 2di∑ a k −1k=1i≠kdk=1( )Torus T(a 1× a 2×L× a d)d∏ d∏a 2dk⎣a k /2⎦a kk =1HyperwŸrfel H(d) 2 d d 2 d−1 d ddk=1d∑k=1Cube Connected Cycles der Dimension 3 (CCC(3))Cube Connected CyclesCCC(d)d 2 d 3d 2 d−1 3 2d + ⎣d/2⎦Eigenschaften:¥ logarithmischer Durchmesser¥ konstanter Knotengrad (=3)¥ Erweiterung nur in Zweierpotenzen1-211-22© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornDynamische VerbindungsnetzeAlle Komponenten haben Zugang zu einem gemeinsamen Verbindungsnetz.Verbindungen werden bei Bedarf geschaltetschaltbares VerbindungsnetzSchema eines dynamischen NetzesIm wesentlichen lassen sich drei Klassen unterscheiden¥ Bus¥ Schaltermatrix¥ Mehrstufige NetzeBusartige NetzeEigenschaften:¥ KostengŸnstig¥ Blockierend¥ erweiterbar¥ geeignet fŸr begrenzte Anzahl von KomponentenEinzelbusBusM M M M PP P PMehrbus - Verbindungsnetz (MultibusfŸr Multiprozessor-ArchitekturB1B2M M M M PP P P1-23Bm1-24


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornGitter von Bussen fŸr Multicomputer-Architektur (Suprenum)SchaltermatrixPPPPPPEigenschaften¥ Teuer¥ Blockierungsfrei, leistungsfŠhig¥ Zahl der AnschlŸsse festgelegt¥ Wegen der quadratisch wachsenden Kosten nur fŸr begrenzte Anzahlen realisierbarPPPPPPPPPPPPM M M MM M M MPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPInterprozessorverbindungVerbindung zwischenProzessoren und Speichermodulen1-251-26© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornMehrstufige NetzeBeispiel: Omega-NetzKleinere Schaltermatrizen (z.B. 2x2) dienen als Zellen, die in Stufen zu komplexeren Netzenverschaltet werden.Eigenschaften¥ teilweise blockierend¥ erweiterbar000001010011000001010011100101100101110111110111(a) (b) (c) (d)Elementare SchalterzustŠnde:Durchschaltung (a), Kreuzschaltung (b), obere (c) und untere (d) VervielfŠltigung1-271-28


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornKlassen dynamischer Verbindungsnetze mit ihren wesentlichenEigenschaften im Vergleich:Bus Mehrstufige SchaltermatrixNetzeLatenzzeit (Distanz) 1 log n 1Bandbreite pro1/n 1 1AnschlussSchalterkosten n n log n n2Verdrahtungskosten n n log n nAbschŠtzung des asymptotischen Wachstums von Kosten- und Leistungsmerkmalendynamischer VerbindungsnetzeLokale Netze¥ meist bus- oder ringartige Topologie¥ diverse Medien(z.B. Koaxialkabel, Twisted Pair, Glasfaser, Infrarot)¥ diverse Protokolle(z.B. Ethernet, Fast-Ethernet, Gigabit-Ethernet, Token-Ring, FDDI, ATM)¥ angeschlossene Rechnerknoten hŠufig sehr heterogen bezŸglich- Leistung- Hersteller- Betriebssystem¥ meist hierarchische heterogene Struktur von Subnetzen(gegliederte Netze)1-291-30© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornBeispiel fŸr gegliedertes lokales NetzRepFile-ServerCluster-ArchitekturenUnter einem Cluster versteht man die Zusammenfassung vollstŠndiger autonomer Rechner(Workstations, PCs) zu einem Parallelrechner.Die Komponentenrechner kšnnen, mŸssen aber nicht rŠumlich eng gekoppelt sein.RouterEthernetBridgeWesentlich ist die Kopplung durch ein Hochgeschwindigkeitsnetz.Typischerweise eingesetzte NetzeToken-RingFast EthernetPSEATMFDDI-RingBridgeWAN-VerbindungenMyrinetSCI (Scalable Coherent Interface)1-311-32


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornBeispiel: SCI-Cluster der Uni Paderborn (Siemens hpcLine)96 Doppelprozessor-PCs (Pentium II, 450 MHz) mit insgesamt 48 GB Hauptspeicher,mit SCI-Ringen als 12x8-Torus verschaltet.NUMA-Architektur: Hardwarezugriff auf entfernten Speicher1.4 Software-Architektur Verteilter SystemeAnwendungen sollen in mšglichst transparenter Weise unterstŸtzt werden,d.h. es wird eine SW-Infrastruktur benštigt, welche die Verteiltheit weitgehendVerteilte Anwendungverdeckt.ProzessorL1L2Prozessor-BusSpeicherProzessorL1L2BusbrückeCacheI/O-BusSCIAdapterCacheI/O-BusSCIAdapterBusbrückeProzessorL1L2ProzessorProzessor-BusL1L2Speicher???Rechner Rechner Rechner RechnerVerbindungsnetzSCI-Ring1-331-34© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornZwei ArchitekturansŠtze fŸr verteilte Systeme:Verteiltes Betriebssystem:Das Betriebssystem selbst stellt bereits die benštigten Funktionen zur VerfŸgungVerteilte AnwendungAllgemeine Betriebssystem-Architektur(Mikrokern-Architktur)Steuerung & KontrolleKommandos,BenutzerschnittstelleVerteiltes BetriebssystemRechner Rechner Rechner RechnerVerbindungsnetzNetzwerk-BetriebssystemDie lokalen Betriebssysteme werden ergŠnzt um eine weitere Schicht(Netzwerkbetriebssystem, Middleware), welche die verteilten Funktionen anbietetVerteilte AnwendungAnwendungDiensteBS-KernBetrieb und Verwaltungrealer und logischerBetriebsmittelKernschnittstelleProzeßverwaltungInteraktionProzeßbereichKernbereichNetzwerk-Betriebssystemlok. BS lok. BS lok. BS lok. BSHardwareRechner Rechner Rechner RechnerVerbindungsnetz1-351-36


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornArchitektur lokaler BetriebssystemeArchitektur verteilter BetriebssystemeBenutzerprozesseBenutzerprozesseRechnergrenzeBS-ProzesseBS-ProzesseKernschnittstelleBetriebssystemkernHardwareBS-KernHardwareBS-KernHardwareVerbindungsnetz1-371-38© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornProzesskommunikationVerteilte Betriebssysteme: ArchitekturvariantenKonzeptuelle Sicht:ABIn verteilten Systemen mŸssen zur Prozessinteraktion Rechnergrenzen Ÿberwundenwerden.oderAKKommunikationsobjektBDie dazu erforderliche Kommunikationssoftware kann nun im Betriebssystemkern integriertsein (Kernverbund) oder als spezielle Komponente au§erhalb des Kerns existieren(Proze§verbund)Realisierung:AB¥ Beim Kernverbund ist die Verteiltheit unter der Kernschnittstelle verborgen.Kernaufrufe kšnnen sich auf beliebige Objekte im Netz beziehen.Die Vereinigung aller Kerne bildet den Verbundkern.KernSenden(K,..)KEmpfangen(K,..)¥ Beim Prozessverbund bleibt die lokale Kernschnittstelle unangetastet.Der lokale Kern ist sich nicht bewusst, dass er Teil eines verteilten Systems ist.Auf diese Weise kšnnen bestehende Betriebssysteme zu verteilten Betriebssystemenerweitert werden.1-391-40


© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornKernverbund:Prozessverbund:RechnergrenzenRechnergrenzenProzeßProzeßProzeßProzeßVerbundsoftwareVerbundsoftwareVerbundsoftwareVerbundsoftwareBS-KernBS-Kernlok. BS-KernVerbundkernlok. BS-Kern1-411-42© H.-U. Hei§, Uni Paderborn© H.-U. Hei§, Uni PaderbornAbgrenzung verteilter BetriebssystemeTransparenzTransparenz ist die Eigenschaft, dass der Benutzer (fast) nichts von der Verteiltheit merktAlle Rechner das gleicheBS?Wie viele Kopien des BS?Multiprozessor-BS Verteiltes BS Netzwerk-BSja ja nein1 n nSie bildet die wesentliche Herausforderung beim Entwurf verteilter Systeme¥ ZugriffstransparenzZugriffe auf entfernte BM in gleicher Weise wie auf lokale¥ OrtstransparenzGemeinsameProzesswarteschlange ?ja nein neinKommunikation gemeinsamer Speicher Nachrichtenaustausch Nachrichtenaustausch /gemeinsame DateienNamenstransparenzObjekte werden Ÿber einen Namen angesprochen,der unabhŠngig von seinem Ort istBenutzermobilitŠtAuch wenn der Benutzer seinen Ort Šndert,kann er die Objekte mit gleichem Namen ansprechen¥ ReplikationstransparenzFalls zur Leistungssteigerung (temporŠre) Kopien von Daten angelegt werden,wird fŸr deren Konsistenz automatisch gesorgt.1-431-44


© H.-U. Hei§, Uni PaderbornTransparenz¥ FehlertransparenzAusfŠlle einzelner Komponenten sollen mšglichst nicht bemerkbar sein¥ MigrationstransparenzDie Verlagerung eines Objektes an einen anderen Ort soll nicht bemerkbar sein¥ NebenlŠufigkeitstransparenzDie Tatsache, dass mehrere Benutzer von verschiedenen Orten auf Objektegemeinsam zugreifen, soll zu keinen Fehlern oder Probleme fŸhren.¥ SkalierungsstransparenzDie Erweiterung um weitere Knoten soll im laufenden Betrieb mšglich sein.Die Verfahren und Algorithmen sollen das Wachstum ãverkraftenÒ kšnnen¥ LeistungstransparenzKeine LeistungseinbrŸche einzelner Knoten durch ungleiche Lastverteilung1-45

Weitere Magazine dieses Users
Ähnliche Magazine