Grundlagen verteilter Systeme



Ähnliche Dokumente
Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

SMS/ MMS Multimedia Center

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Anleitung über den Umgang mit Schildern

1 Mathematische Grundlagen

Anleitung zum Erstellen eines Freihaltetermins

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

GLIEDERUNG UND BASISGLIEDERUNG. 2010/03/09 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

1 topologisches Sortieren

Statuten in leichter Sprache

Bereich METIS (Texte im Internet) Zählmarkenrecherche

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Zeichen bei Zahlen entschlüsseln

ecaros2 - Accountmanager

Wir freuen uns, dass Sie mit der VR-NetWorld Software Ihren Zahlungsverkehr zukünftig einfach und sicher elektronisch abwickeln möchten.

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Zwischenablage (Bilder, Texte,...)

iphone- und ipad-praxis: Kalender optimal synchronisieren

Berechnung der Erhöhung der Durchschnittsprämien

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) ( )

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Grundlagen der Theoretischen Informatik, SoSe 2008

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Installation OMNIKEY 3121 USB

Ein Buch entsteht. Ein langer Weg

Stornierungsbedingungen und weitere Voraussetzungen

How to do? Projekte - Zeiterfassung

2015 conject all rights reserved

Dokumentenverwaltung im Internet

LU - Mehrwertsteuer. Service zur Regelung der MwSt.-Prozedur:

Dokumentation zur Versendung der Statistik Daten

Anleitung Postfachsystem Inhalt

Abwesenheitsnotiz im Exchange Server 2010

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Einrichtung HBCI mit PIN/TAN in VR-NetWorld-Software

Handbuch für Gründer. Daniela Richter, Marco Habschick. Stand: Verbundpartner:

Technische Informatik Basispraktikum Sommersemester 2001

Anleitung OpenCms 8 Inhaltstyp Kommentare

Was ist das Budget für Arbeit?

Mit Excel Strickvorlagen erstellen (GRUNDKURS)

Nutzerhandbuch Zentrale Klassenverwaltung

Sonderrundschreiben. Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zum neuen Überaumbuchungssystem der Hochschule für Musik und Tanz Köln

Erweiterungen Webportal

Die elektronische Rechnung als Fortsetzung der elektronischen Beauftragung so einfach geht es:

Simulation LIF5000. Abbildung 1

Lizenzierung von SharePoint Server 2013

Dann zahlt die Regierung einen Teil der Kosten oder alle Kosten für den Dolmetscher.

Lehrer: Einschreibemethoden

4.1 Wie bediene ich das Webportal?

Stammdatenanlage über den Einrichtungsassistenten

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: Änderungen vorbehalten

4. BEZIEHUNGEN ZWISCHEN TABELLEN

STRATO Mail Einrichtung Mozilla Thunderbird

Leichte-Sprache-Bilder

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Schritt 1. Anmelden. Klicken Sie auf die Schaltfläche Anmelden

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Umzug der abfallwirtschaftlichen Nummern /Kündigung

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Lizenzierung von SharePoint Server 2013

Vorgehensweise bei Lastschriftverfahren

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Fallbeispiel: Eintragen einer Behandlung

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

ACHTUNG: Voraussetzungen für die Nutzung der Funktion s-exposé sind:

Synchronisations- Assistent

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Update EPOC. 1. Inhaltsverzeichnis

Elexis-BlueEvidence-Connector

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Das Persönliche Budget in verständlicher Sprache

Hilfedatei der Oden$-Börse Stand Juni 2014

ANLEITUNG - WIE UNTERSTÜTZE ICH AUF STARTNEXT?

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

Kostenloser Apple-Softclient zur Nutzung von TeSign

Wie bekomme ich eine Adresse. Eva Lackinger, Rene Morwind Margot Campbell

Externe Abfrage von für Benutzer der HSA über Mozilla-Thunderbird

Arcavis Backend - Invoice Baldegger+Sortec AG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Bedienung des Web-Portales der Sportbergbetriebe

Mail-Signierung und Verschlüsselung

S Sparkasse Hohenlohekreis. Leitfaden zu Secure

Urlaubsregel in David

Warum Sie jetzt kein Onlinemarketing brauchen! Ab wann ist Onlinemarketing. So finden Sie heraus, wann Ihre Website bereit ist optimiert zu werden

Transkript:

Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a) Erläutern Sie das Trashing-Problem und gehen Sie dabei auf die Granularität ein. (2 Punkte) b) Erläutern Sie eine Möglichkeit zur Behebung des Problems. (Tipp: Konfigurationsoption der gemeinsam genutzten Seiten) Wie so oft entstehen an den oberen und unteren Grenzen dieser Konfiguration unter Umständen Probleme. Erläutern sie diese. (2 Punkte) zu a) Das Trashing-Problem tritt bei der Verwendung von Schreiben-Entwerten Protokollen auf, da ein zu großer Zeitanteil mit dem Entwerten und Senden von Seiten verbraucht wird, anstatt sinnvolle Arbeit zu leisten. Falls beispielsweise ein Prozess A ständig Daten aktualisiert, die von einem Prozess B gelesen werden, so muss die Kopie von B nach jeder Aktualisierung entwertet werden. In diesem Fall wäre der Einsatz des Schreiben-Aktualisieren- Protokolls sinnvoller. zu b) Dies kann durch die Anpassung der Größe der gemeinsam genutzten Seiten (Granularität) verhindert werden. Seiten können bis zu 8 KByte groß sein und die Einheit zur gemeinsamen Nutzung entspricht ein vielfaches dieser Größe. Ist die Einheit zu klein gewählt, so entsteht ein Overhead beim Senden. Dieses Problem kann durch gebündelte Entwertung von Seiten reduziert werden, bringt aber wiederum Nachteile mit sich. Ist die Einheit zu groß gewählt, so konkurrieren zu viele Prozesse um die Seite, wodurch das Trashing-Problem entsteht. Daher sollte die Größe gemeinsam genutzter Seiten auf die Anwendung und auf das mögliche Verhalten der Prozesse angepasst werden, wodurch das Trashing verhindert, aber zugleich der Overhead beim Senden minimiert wird. Aufgabe 2: In Abbildung 1 sieht man den Initialzustand eines DSM mit zentralem Manager. Abbildung 1: Initialzustand 1

Es soll nun von Prozess C ausgehend eine Leseoperation auf die Speicherstelle x ausgeführt werden. Beschriften Sie in Abbildung 2 alle Pfeile mit den Nachrichten, die übertragen werden müssen. Überlegen Sie ferner welche Rechte (read, write, none) nach der Operation bei den einzelnen Prozessen gesetzt sind, und wie das copyset aussieht. (2 Punkte) Abbildung 2: Nachrichtenwege bei C.read(s) Zum ursprünglichen Initialzustand führen wir nun folgende Speicherstellen ein: y gehört zu Prozess A. Speicherstelle z gehört zu Prozess C. Wie sieht der neue Initialzustand aus? (1 Punkt) Überlegen Sie sich nach dem Muster der ersten Teilaufgabe den Ablauf für folgende Operation und legen Sie den Verlauf der notwendigen Nachrichten ebenfalls fest: Prozess C schreibt auf Speicherstelle z. Der zentrale Manager bleibt Prozess B. (2 Punkte) Nehmen Sie für den weiteren Verlauf an, dass Prozess D die Speicherstelle z ließt bzw. gelesen hat. Wie wäre der Nachrichtenverlauf sowie die die jeweiligen Rechte und Copysets, wenn Prozess A auf Speicherstelle z schreibt. (A.write(z)) (3 Punkte) Der Verlauf der Nachrichten sieht aus wie in Abbildung 4 dargestellt. Prozess C frägt zunächst beim Manager an, dieser informiert den Eigentümer der Variable über den Leseversuch inkl. anfragendem Prozess (C). Dadurch weiss der Eigemtümer an wen er die Variable zu versenden hat. Der neue Initialzustand sieht aus wie in Abbildung 4 dargestellt. Es sind keine Nachrichten notwendig, da der schreibende Prozess C bereits Eigentümer der Ziel-Variablen ist und Schreibrechte darauf besitzt. Er kann die Schreiboperation also einfach durchführen. Der Hinweis ist für die nächste Teilaufgabe relevant. Zunächst muss Prozess A dem Manager B die Nachricht schicken, dass ein Schreibvorgang auf Variable z erfolgen soll. Manager B leitet diese Nachricht an den Eigentümer von z weiter, was in diesem Fall Prozess 2

Abbildung 3: Lösungsvorschlag Abbildung 4: Neuer Initialzustand C ist. Prozess C sendet danach die Variable z sowie das copyset(z) an den neuen Eigentümer, Prozess A. Zum copyset(z) ist folgendes zu sagen: Nachdem wie aus dem vorherigen Hinweis zu entnehmen war, Prozess D die Variable z gelesen hat, steht Prozess D im copyset(z). Dieses copyset wird vom Eigentümer von z (in diesem Fall Prozess C) an den neuen Eigentümer (Prozess A) übertragen. Prozess A ist dann verantwortlich, allen Prozessen im Copyset eine release-nachricht zu schicken, damit die Prozesse im Copyset ihre Werte von der Variablen z für ungültig erklären. Das Ergebnis der Operation A.write(z) sehen Sie in Abbildung 5 Aufgabe 3: Bei einem Banking-System können Prozesse Gelder zwischen Konten transferieren. Konten sind Objekte eines DSM-Systems der Banken. Als Invariante der Transaktionen ist definiert, dass die Summen der Gelder zweier Konten nach und vor einer Überweisungen gleich sind. Erklären Sie eine geeignete Technik um die Invariante umzusetzen. (1,5 Punkte) Wie kann Konsistenz unter Nutzung von Freigabekonsistenz gewahrt bleiben? Gehen Sie dazu auf eine Überweisung von einem Konto A auf ein Konto B ein. (2 Punkte) 3

Abbildung 5: Lösungsvorschlag für A.write(z) Die Kontostände dürfen während einer Überweisung von anderen Prozessen weder gelesen noch geschrieben werden. Dadurch bleibt die geforderte Bedingung stets gewahrt. Dazu muss eine Transaktion in einem kritischen Abschnitt erfolgen. Ein Prozess fordert dazu eine Sperre an und wenn er diese erhält, wird die Transaktion durchgeführt und anschließend wird die Sperre wieder aufgehoben. Bei der Freigabekonsistenz wird vor Schreibzugriffen überprüft, ob alle Schreiboperationen auf den gemeinsamen Speicherbereich beendet sind. Ist dies der Fall, erhält der Prozess exklusiven Zugriff. Mittels einer release -Operation kann der Prozess die Daten wieder für alle freigeben. Prozess x: acquierlock(); A:= A - Betrag; B:= B + Betrag; releaselock(); Hinweis: Bei einem Schreiben-/Aktualisieren-Protokoll werden die Änderungen des kritischen Bereichs an die anderen Prozesse gesendet und dort aktualisiert. Beim Schreiben-/Entwerten-Protokoll werden die anderen Kopien entwertet. Es werden dabei nur die letzten Änderungen gesendet wodurch der Nachrichtenaufwand im Vergleich zur sequentiellen Konsistenz geringer ist. Prozess x: acquierlock(); A:= A - Betrag1; 4

B:= B + Betrag2 + C:= C - Betrag 2; Betrag1; A:= A - Betrag3; B:= A + Betrag3; releaselock(); Aufgabe 4: Erläutern Sie die Funktionsweise des Scheduler-Systems für zwei Prozessoren und a) zwei Prozesse mit gleicher Priorität (1,5 Punkte) b) zwei Prozesse mit unterschiedlicher Priorität.(1,5 Punkte) zu a) Jeder Prozessor wird als Virtueller Prozessor einzelnen Prozessen über einen Scheduler zur Verfügung gestellt. Dabei werden Register des physikalischen Prozessors mit dem Kontext des Prozesses geladen und ausgeführt. Eine Scheduler- Aktivierung (SA) stellt dabei eine Art Reservierung eines Prozessors dar. Da beide Prozesse gleiche Priorität besitzen, sollten die Virtuellen Prozessoren zeitlich gleichermaßen auf die Prozesse verteilt werden. Demnach wird durchschnittlich jedem Prozess ein virtueller Prozessor zugeordnet. Liegt in einem Prozess ein Thread im Zustand READY vor, so kann der Scheduler den Kontext laden und ausführen. Blockiert ein Thread, so setzt der Scheduler den Zustand auf BLOCKED und ordnet die neue SA einem READY- Thread eines Prozesses zu. Blockierte SA können wieder aufgenommen werden. Dabei wird der Zustand des blockierten Threads auf READY gesetzt. Da aber für die Benachrichtigung ein SA erforderlich ist, wird dieser von einem der Prozesse prä-emtiv entzogen, da davon auszugehen ist, dass keine virtuellen Prozessoren zur Verfügung stehen. Dazu wird der Thread, dem die SA entzogen wurde als READY markiert. zu b) Die Funktionsweise des Scheduler entspricht der aus a). Allerdings werden die SA bevorzugt dem Prozess A mit höherer Priorität zugeordnet. Benötigt A einen zusätzlichen SA, so kann eine SA des anderen Prozess präemptiv abgezogen werden und dem Prozess A zur Verfügung gestellt werden. Da 2 Prozesse sich 2 virtuelle Prozessoren teilen, wird dem Prozess B mit niedrigerer Priorität nur zeitweise ein virtueller Prozessor zur Verfügung gestellt, Allerdings hängt die Vergabe von SAs nicht nur mit der Priorität, sondern auch mit dem Zustand der Threads und damit der SAs zusammen. 5