Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | gitta-neubecker |
View: | 104 times |
Download: | 0 times |
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
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
Sarah Neuwirth - Software Distributed Shared Memory
4
Performance und Speedup
05.07.2011
Grafik aus [8] entnommen
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
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.
Sarah Neuwirth - Software Distributed Shared Memory
7
Was ist Software DSM? (3)
05.07.2011
Sarah Neuwirth - Software Distributed Shared Memory
8
Funktionsweise: Lesezugriff
05.07.2011
Grafik aus [8] entnommen
Sarah Neuwirth - Software Distributed Shared Memory
9
Funktionsweise: Schreibzugriff
primary page
copy of page
05.07.2011
Grafik aus [8] entnommen
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
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
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;
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
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
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
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
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
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
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
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
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
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
Sarah Neuwirth - Software Distributed Shared Memory
23
vSMP Architektur von ScaleMP
05.07.2011
Quelle [7]
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
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
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
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]
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
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
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
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
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
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
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
Sarah Neuwirth - Software Distributed Shared Memory
35
vNUMA: HPC Benchmarks
05.07.2011
x-Achse: Anzahl an Knoten y-Achse: Speedup
Sarah Neuwirth - Software Distributed Shared Memory
36
vNUMA: Datenbank BenchmarkGetestete Queries: SELECT SEARCH AGGREGATE COMPLEX
05.07.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
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
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
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
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
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
Sarah Neuwirth - Software Distributed Shared Memory
43
Ende
Vielen Dank für die Aufmerksamkeit!
05.07.2011