Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in...

43
Software Distributed Shared Memory Vortrag im Rahmen des Seminars „Ausgewählte Themen in Hardwareentwurf und Optik“ Sarah Neuwirth, 05. Juli 2011

Transcript of Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in...

Page 1: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Software Distributed Shared Memory

Vortrag im Rahmen des Seminars

„Ausgewählte Themen in Hardwareentwurf und Optik“

Sarah Neuwirth, 05. Juli 2011

Page 2: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

2

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 3: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

3

Motivation Transparentes Nutzen von verteilten

Ressourcen Verteilter Speicher soll als Ganzes betrachtet

und genutzt werden können Programme können effizient portiert werden Reine Softwarelösung

05.07.2011

Page 4: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

4

Performance und Speedup

05.07.2011

Grafik aus [8] entnommen

Page 5: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

5

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 6: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

6

Was ist Software DSM? (1)

05.07.2011

Globaler, gemeinsam genutzter Speicher Gemeinsam genutzter, virtueller Speicher

bietet die Abstraktion eines gemeinsam genutzten Adressraums oberhalb einer Message-Passing Architektur.

Page 7: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

7

Was ist Software DSM? (3)

05.07.2011

Page 8: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

8

Funktionsweise: Lesezugriff

05.07.2011

Grafik aus [8] entnommen

Page 9: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

9

Funktionsweise: Schreibzugriff

primary page

copy of page

05.07.2011

Grafik aus [8] entnommen

Page 10: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

10

Granularität Wahl der Blockgröße hängt ab von:

Kosten der Kommunikation 1 Byte Nachricht vs. 1024 Byte Nachricht

Lokalität der Applikation Üblicherweise wird Seiten-basierte

Granularität mit 1k bis 8k Byte Größe gewählt. Größere Seitengröße => bessere Lokalität

05.07.2011

„We expect that smaller page sizes (perhaps as low as 256 bytes) work well also, but we are not so confident about larger page sizes.“-- Kai Li, 1989

Page 11: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

11

Memory-KohärenzMemory-Kohärenz wird gewährleistet durch geeignete Wahl von: Konsistenz-Modell Kohärenz-Protokoll

Page Synchronisation Page Ownership

05.07.2011

Page 12: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

12

Memory Konsistenz-Modelle Vertrag zwischen Programmierer & System Falls Programmierer Regeln befolgt => Memory

konsistent Ergebnis von Memory-Operationen vorhersagbar.

Beispiel: Sequentielle Konsistenz (SC)Mögliche Ergebnispaare (u,v): (0,1) (1,1) (0,0)Aber: (1,0) nicht möglich

05.07.2011

P1 P2

a1: A = 1;

a2: u = B;

b1: B = 1;

b2: v = A;

Page 13: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

13

Kohärenz-Protokolle

05.07.2011

Page Synchronisation: Write-Invalidate Strategie Write-Update Strategie

Page Ownership: fest dynamisch: zentral oder verteilt

Page 14: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

14

Beispiel eines Kohärenz-Protokolls

schwarz: single-writer Schemaviolett: Ergänzung für multiple-writer Schema 05.07.2011

Page 15: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

15

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 16: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

16

Single System Image (1)

05.07.2011

Simpler, offener Blick auf Systemressourcen und Aktivitäten aller Knoten

Transparentes Nutzen von Clusterressourcen, unabhängig von physikalischer Lage

Programme können effizient portiert werden

“A single system image (SSI) is the property of a system that hides the heterogeneous and distributed nature of the available resources and presents themto users and applications as a single unified computing resource.” -- Buyya et al., 2001

Page 17: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

17

Single System Image (2)

05.07.2011

Hauptziele: Ein Prozessraum Ein Userinterface Ein Speicherraum Ein I/O-Raum Process Migration, falls dynamisches Load

Balancing

Page 18: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

18

Single System Image (3)

05.07.2011

Nachteile: Einsatz erfolgt in eingeschränktem Gebrauch,

z.B. speziell für Job Scheduling 100%ige Verteilung funktioniert nur bei

gleichen Rechnern im Cluster Hardware und Software müssen kompatibel

sein Aggregation nicht möglich

Page 19: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

19

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 20: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

20

Open Source Lösungen für Software DSMLinux-basierte Single System Images: Kerrighed openMosix OpenSSI

05.07.2011

Page 21: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

21

Vergleich der Open Source Lösungen

SSI Feature Kerrighed openMosix OpenSSI

Blick als ganze Maschine

• ps: lokale & entfernte Prozesse• top: globale Memory-Statistiken• PID: eindeutig & Cluster-weit

• mps: lokale Prozesse• mtop: lokale Statistik• PID: eindeutig, nur im lokalen Node

• ps: lokale & entfernte Prozesse• top: nicht global• PID: eindeutig & Cluster-weit

globales Prozess Management

• dynamische Load Balancing der Cluster CPU

• dynamische Load Balancing der Cluster CPU

• dynimasche Load Balancing der Cluster CPU

Single Process Space

• ja • nein • ja

Single I/O Space • unbekannt • nein • ja

05.07.2011

Page 22: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

22

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 23: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

23

vSMP Architektur von ScaleMP

05.07.2011

Quelle [7]

Page 24: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

24

ScaleMP Testsystem

05.07.2011

ScaleMP: 13 Boards verbunden über Infiniband Jeweils 2 x Intel Xeon E5420 @ 2,5 GHz 13 x 16 = 208 GB RAM

~38 GB reserviert für vSMP = 170 GB verfügbar

Tigerton (SMP Maschine als Referenz): 4 x Intel Xeon X7350 @ 2,93 GHz 1 x 64 GB RAM

Page 25: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

25

Page Access Benchmark

05.07.2011Sarah Neuwirth - Software Distributed Shared Memory

Drei Benchmarks: read_from_other write_from_other write_self

ScaleMP Tigerton

read_from_other

43.37 μs 1.76 μs

write_from_other

40.44 μs 2.29 μs

write_self 2.34 μs 2.10 μs

Page 26: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

26

Allocation Time Benchmark

05.07.2011

Gemessen wurde Allocation Time für ein 15 GB Array mit

Default Pages (4 kB) Großen Pages (2 MB)Default

PagesGroße Pages

Tigerton

1 34.7 s 27.0 s

8 16.6 s 20.3 s

16 26.9 s 15.8 s

ScaleMP

1 211.1 s 196.2 s

8 423.4 s 187.4 s

16 449.0 s 179.2 s

104 432.4 s 121.7 s

Page 27: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

27

Evaluation der vSMP Architektur

05.07.2011

Aggregation von mehreren Boards => hoch akkumulierte Memory Bandweite (bis zu 95 GB/s)

Hohe Remote Memory Access Zeit (20x) und Synchronisationszeit (150x)

=> Ausgeprägtes cc-NUMA Verhalten Applikationen von echten Usern profitieren

von vSMP FIRE erreicht Speedup von ~80 SHEMAT-Suite erreicht Speedup von 41.5

Vgl. Benchmarks Schmidl et al. [6]

Page 28: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

28

Lösungen von Symmetric ComputingLösungen: DuetTM Departmental SuperComputer TrioTM Departmental SuperComputer

Features: Large Single Shared Memory SSI Linux Support Distributed Symmetric Multi-Processing OpenMP, Pthreads, POSIX

05.07.2011

Page 29: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

29

TrioTM Departmental SuperComputer

05.07.2011

Spezifikation des Testsystems: Prozessoren: 72 Cores (9x 8-Core 2.6 GHz

AMD Opteron) Memory: 384 GB 1333 MHz DDR3 (4 GB

DIMMs) Interconnect: 40 Gbps InfiniBand

Page 30: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

30

Benchmark-Ergebnisse für TrioTrio™Departmental SuperComputer: NCBI Blast Performance:

47-mal schneller für 64 Cores 53-mal schneller für 72 Cores

HMMER3 Performance: 47-mal schneller für 64 Cores 53-mal schneller für 72 Cores

NAMD Performance: 49-mal schneller für 64 Cores 55-mal schneller für 72 Cores

05.07.2011

Page 31: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

31

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 32: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

32

vNUMA (1)

05.07.2011

Charakteristiken: DSM System integriert in Hypervisor Single-Writer/Multiple-Reader Write-Invalidate

Protokoll Fixierter, dezentraler Manager

Ziel: Anwenden unveränderter Binaries von SMP

Architekturen

Page 33: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

33

vNUMA (2)Test-System: 8 HP rx2600 Server 900 MHz Itanium 2 Prozessoren eine CPU pro Server Gigabit Ethernet verbunden durch HP

ProCurve 2780 Switch Linux 2.6.16 16 kB Seiten (intern zerlegt in 4 kB Seiten)

05.07.2011

Page 34: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

34

Applikationen für Benchmarks CG – Approximation für kleinsten Eigenwert

einer großen, dünnbesetzten, symmetrischen, positiv definierten Matrix

FFT – high-performance FFT Kernel. Jedem Prozessor werden n/p Zeilen einer Matrix zugeteilt.

MG – vereinfachter multigrid Kernel

05.07.2011

Page 35: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

35

vNUMA: HPC Benchmarks

05.07.2011

x-Achse: Anzahl an Knoten y-Achse: Speedup

Page 36: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

36

vNUMA: Datenbank BenchmarkGetestete Queries: SELECT SEARCH AGGREGATE COMPLEX

05.07.2011

Page 37: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

37

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 38: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

38

Fazit Reine Softwarelösung: Single System Images Art des Managers essentiell zur bestmöglichen

Ausnutzung der zugrunde liegenden Prozessorarchitektur

Nutzung von Common-of-the-Shelf Boards möglich

Viele Ansätze, aber noch keine optimale Lösung gefunden

=> Alles eine Frage der Anwendung!

05.07.2011

Page 39: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

39

Agenda1. Motivation2. Was ist Software Distributed Shared

Memory?3. Single System Images4. Open Source Lösungen5. Kommerzielle Lösungen6. Beispiel: vNUMA7. Fazit8. Literaturverzeichnis

05.07.2011

Page 40: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

40

Literaturverzeichnis (1)[1] Kai Li: „Memory Coherence in Shared Virtual

Memory Systems“, ACM Transactions on Computer Systems, 7(4), 1989.

[2] Lottiaux et al.: „OpenMosix, OpenSSI and Kerrighed: A Comparative Study“, 2005.

[3] Zhou et al.: „Relaxed Consistency and Coherence Granularity in DSM Systems: A Performance Evaluation“, 1997.

[4] Iftode et al.: „Understanding Application Performance on Shared Virtual Memory Systems“, In Proceedings of the 23rd Annual International Symposium on Computer Architecture, Mai 1996.

05.07.2011

Page 41: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

41

Literaturverzeichnis (2)[5] Matthew Chapman: „vNUMA: A Virtual

Shared-Memory Multiprocessor“, Proceedings of the 2009 conference on USENIX Annual technical conference, 2009.

[6] Schmidl et al.: „How to scale Nested OpenMP Applications on the ScaleMP vSMP Architecture”, IEEE International Conference on Cluster Computing, 2010.

[7] ScaleMP: „Virtualization for Aggregation and The vSMP Architecture“, Technical Whitepaper, 2009.

[8] Vorlesungsskript zu Rechnerarchitektur II[9] Symmetric Computing,

http://www.symmetriccomputing.com/05.07.2011

Page 42: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

42

Literaturverzeichnis (3)

05.07.2011

[10] Buyya et al.: „Single System Image “, International Journal of High Performance Computing Applications, 15, 2001

[11] Bailey et al.: „The NAS Parallel Benchmarks”, The International Journal of Supercomputer Applications, 5(3), 1991

Page 43: Software Distributed Shared Memory Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05. Juli 2011.

Sarah Neuwirth - Software Distributed Shared Memory

43

Ende

Vielen Dank für die Aufmerksamkeit!

05.07.2011