Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn...

Post on 25-Jul-2020

3 views 0 download

Transcript of Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn...

Name hinzufügen 1

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Datenverwaltungin Rechnernetzen

SS07Vorl. 7, 04.6.07

Friedhelm Meyer auf der Heide

(Exkurs: Mario Mense)

Name hinzufügen 2

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Recap: Parallel Random Access Machine

- Realisierung durch Simulation auf DMMs

- Deterministische und probabilistische Ansätze

Name hinzufügen 3

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Recap: Our goals

Support efficient (quick) access to global objects in networks.

Global objects:

- global variables in parallel programs

- pages or cache-lines in virtual shared memory systems

- files in distributed file servers

- (multimedia) information in distributed data servers

- web content in the internet

Name hinzufügen 4

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Recap: Scenario I

Networks have high bandwidth, local access to data items is slow. (Data items are large, are stored in secondary memory (disks).)

• typical for, e.g., distributed data servers (or storage networks)

• bottleneck: Contention at memory modules

task: Distribute objects among modules, and designaccess protocols such that

• Contention is very small,• Link-Congestion is small,• storage overhead is small,• access protocols are efficient.

Name hinzufügen 5

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

The Storage (Area) Network

NetworkNetwork

D1

D2

D3

D4

Dn

C1

C2C3

C4

Cn

B1

B2B3

B4

Bn

Name hinzufügen 6

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Exkurs: Storage (Area) Network (SAN)

Charakteristik (SAN):

• vollständiger bipartiter Graph (G=(V1 V2, E))• Zugriff nur von V1 (servers) nach V2 (storage) • simultaner globaler Zugriff auf alle Module

Aufgabe: Verteilen der Objekte über die Module und Design eines Zugriffsprotokolls, so dass

• Contention(Anfragelast) pro Modul ist klein,• Speicheroverhead ist klein,• Zugriffsprotokoll ist effizient,• Hohe Datenverfügbarkeit,• Dynamischer I/O ist berücksichtigt,• Systemskalierung ist effizient und online behandelt,• Nicht-uniforme Module sind berücksichtigt

Name hinzufügen 7

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Contention (Anfragelast)

Ziel: schneller Zugriff auf die Daten (vgl. PRAM-Simulationen)

Problem hier: hohe I/O-Kosten (Systemlatenz) durch

• Langsamer Datenzugriff in den Modulen

⇒ (Flaschenhals: 9 ms (Disk) vs. ≈ 10-100 ns (RAM))

• Zugriff auf meist junge Daten (80/20-Regel)

⇒ hohe I/O-Belastung einer kleinen Teilmenge der Module

Indiana

Jones

Tele-

kolleg

1-100

ArchivTrash

Indiana

Jones

Tele-

kolleg

1-100

ArchivTrash

Name hinzufügen 8

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Contention: Load Balancing

Lösung: gleichmässige Verteilung von Daten/Anfragen über die Module (Lastbalancierung)

• Blockweises Verteilung von I/O-Anfragen (striping) über Module

⇒ Ausnutzung von Parallelismus

• Balancierung:

– deterministisch (z.B. RAID; vgl. Übungsaufgabe 8)

– randomisiert (Hashing) (vgl. Skript bzw. Übungsaufgabe 1)

Indiana

Jones

Name hinzufügen 9

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Dynamischer I/O und Systemskalierungen

Charakteristik:

• I/O-Anfragen als online-Spiel

• System skaliert (Storage-on-demand, Alter der Module, …)

Problem: Feste Zuordnungsschemata fordern Reorganisation ALLER Daten (Downtimes sind nicht akzeptabel !!)

⇒ Adaptive Datenplatzierungsschemata gefordert: Replatzierung des möglichst geringsten Datenanteils (Bewertung: Competitive Analysis))

Adaptivität:

• Deterministische Verfahren: eingeschränkt

– meist: fixe Stripesize (z.B. RAID);

– Ausnahmen: online-RAID-expansion (ORE), RW-Codes

• Hashverfahren: bislang nicht (vgl. Skript)

(betrachte z.B.: )

Name hinzufügen 10

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Genauer: Das Speichernetz als Hash-Tabelle

• Jedes Speichermodul i=0,..,n-1 ist Behälter (Bucket) für m Datenobjekte

– Platzierung: mittels Hashfunktion z.B. H: K→ N, K sei eindeutiger Bitstring

. . . .

1 2 3 n-1

prog1

apple

foo pearbarrao

d.htmc:pp

H(„orange“)

Buckets

Name hinzufügen 11

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Consistent Hashing (Idee)

• Skalierung: Wegfall eines Speichermoduls

a) Bislang: inkonsistentes Hashing: neue Hashfkt. ⇒ komplette Replatzierung �

b) Neu: consistent Hashing: nur Nachbarn sind von Replazierung betroffen ☺

. . . .

1 2 3 n-1

prog1

apple

foo pearbarrao

d.htmc:pp

. . . .

1 2 3 n-1

prog1

applefoo

pear

barraod.htmc:pp

. . . .prog1

apple

foopear

bar rao

d.htmc:pp

1 2 3 n-1

Name hinzufügen 12

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Distributed Hash-Table (DHT)

Idee (benutzt consistent hashing):

• Aufweichen des starren Gerüsts

• Module werden an eine Stelle in best. Bereich (z.B. [0,1)-Intervall) gehasht

• Jedem Modul wird ein Bereich um seinen entspr. Hashwert zugeordnet

• Datenobjekte werden auch gehasht: Zuordnung zu genau einem Bereich

Name hinzufügen 13

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Einfügen in DHTs

Distributed Hash-Table:

• Module werden in Bereich gehasht• Dokumente ebenso• Jedes Modul verantwortet einen Bereich

Kommt ein neuer Knoten hinzu:

• müssen die Nachbarn teilen

Verläßt ein Knoten das Netzwerk:

• übernehmen die Nachbarn sein Gebiet

Name hinzufügen 14

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

ConsistentHashing: Effizienz

• Betrachte Anordnung in [0,1)-Intervall (als Modulo-Ring)

• Zufällige Hashfunktion fB für Hashen der Blöcke in das [0,1)-Intervall• k zufällige Hashfunktionen g1,…, gk, gj: {1,…,N}→ [0,1) pro Bin

• fB(b): Blockpunkt, gk(i): Binpunkt

• Bin bi speichert alle Blöcke b, für die gilt:

gj(i) fB(b)0 1

aij

Name hinzufügen 15

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

DHTs: Eigenschaften

Vorteile:

– effizientes Load Balancing per Hashfunktion

– Suchen und Ersetzen in O(1) möglich

– Oblivious bzgl. join/leave der Datenobjekte

– Adaptiv bzgl. Systemskalierung

Nachteile:

– Balancierung der Bereichsgrößen erfordert k=Θ(log n) Kopien (d.h. Speichern der k Hashfunktionen)

– nur auf homogene Buckets (Speichermodule) anwendbar

– nicht gedundant (d.h. geringe Datensicherheit)

Name hinzufügen 16

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Share: Behandlung nicht-uniformer Module

Share: Zwei universelle Hashfkt. h und g:

– h(d) → [0,1) abbilden der Daten zufällig ins das [0,1)-Interval

– g(b) → [0,1) abbilden der Module (Buckets) zufällig in das Intervall

2 Phasen: – 1.) Reduktionsphase

– 2.) Anwendung einer uniformen Platzierungsstrategie (consistent hashing)

0 1

I1

I2

I3I4 I5

I6

Fj

g(i)

h(b)

Name hinzufügen 17

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Praxis: Speichervirtualisierung

Status Quo: Exponentielles Datenwachstum und stetiger Zugriff erfordert

– Speicherkonsolidierung

• Trennung von Speicher und zugreifenden Clients

• Zusammenfassung versch. Elemente in einheitlichem System (SAN)

⇒ Speicher Management (Anforderungen):

• Dynamischer Umgang mit exponentiellem Datenwachstum

• Unterstützung heterogener Teilnehmer (Speicher, Betriebssysteme)

• Einfacher Zugriff für den Benutzer (Benutzerinterface)

• Integration verschiedener Speicherpolicies

• Erhöhung der Datensicherheit

Name hinzufügen 18

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Speichervirtualisierung

• Abstraktion des Speichers, die eine Trennung zwischen Host-Sicht und Speicherimplementierung vornimmt

• Verbirgt für den Host:

– Physikalische Verbindung zum Speichersystem

– Charakteristiken des Speichersystems

– Exakten Ort der Datenspeicherung

• Dynamisch

– Ermöglich „On-the-fly Konfiguration“ und Skalierung

– Daten sind für den Host transparent verschiebbar

• Verschiedene Arten der Umsetzung möglich

– Ebenen (Disksubsystem, etc.)

– Arten (in-band, out-of-band)

Name hinzufügen 19

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

V:Drive: Modularer Aufbau

SANSAN

Cluster Umgebung

Metadata-Server

Speicher

V:DriveV:Drive

V:Drive

Pool 1 Pool 2

Virtual (V:Drive) Volume

SHARE

Name hinzufügen 20

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Orte der Speichervirtualisierung

Name hinzufügen 21

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Heinz Nixdorf Institut

& Institut für Informatik

Universität Paderborn

Fürstenallee 11

33102 Paderborn

Tel.: 0 52 51/60 64 66

Fax: 0 52 51/62 64 82

E-Mail: mail@upb.de

http://www.upb.de/cs/ag-madh

Wir danken für Ihre Aufmerksamkeit!

Wir danken für Ihre Aufmerksamkeit!