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

21
Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07 Friedhelm Meyer auf der Heide (Exkurs: Mario Mense)

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

Page 1: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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)

Page 2: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 3: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 4: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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.

Page 5: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 6: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 7: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 8: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 9: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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.: )

Page 10: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 11: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 12: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 13: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 14: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 15: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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)

Page 16: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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)

Page 17: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 18: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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)

Page 19: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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

Page 20: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

Name hinzufügen 20

HEINZ NIXDORF INSTITUT

Universität PaderbornAlgorithmen und Komplexität

Orte der Speichervirtualisierung

Page 21: Datenverwaltung in Rechnernetzen...Name hinzufügen 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Datenverwaltung in Rechnernetzen SS07 Vorl. 7, 04.6.07

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: [email protected]

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

Wir danken für Ihre Aufmerksamkeit!

Wir danken für Ihre Aufmerksamkeit!