Software Distributed Shared Memory
description
Transcript of Software Distributed Shared Memory
![Page 1: Software Distributed Shared Memory](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/4.jpg)
Sarah Neuwirth - Software Distributed Shared Memory
4
Performance und Speedup
05.07.2011
Grafik aus [8] entnommen
![Page 5: Software Distributed Shared Memory](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/7.jpg)
Sarah Neuwirth - Software Distributed Shared Memory
7
Was ist Software DSM? (3)
05.07.2011
![Page 8: Software Distributed Shared Memory](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/8.jpg)
Sarah Neuwirth - Software Distributed Shared Memory
8
Funktionsweise: Lesezugriff
05.07.2011
Grafik aus [8] entnommen
![Page 9: Software Distributed Shared Memory](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/23.jpg)
Sarah Neuwirth - Software Distributed Shared Memory
23
vSMP Architektur von ScaleMP
05.07.2011
Quelle [7]
![Page 24: Software Distributed Shared Memory](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/36.jpg)
Sarah Neuwirth - Software Distributed Shared Memory
36
vNUMA: Datenbank BenchmarkGetestete Queries: SELECT SEARCH AGGREGATE COMPLEX
05.07.2011
![Page 37: Software Distributed Shared Memory](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/39.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/42.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062305/56814951550346895db6a140/html5/thumbnails/43.jpg)
Sarah Neuwirth - Software Distributed Shared Memory
43
Ende
Vielen Dank für die Aufmerksamkeit!
05.07.2011