Software Distributed Shared Memory Vortrag im Rahmen des
Software Distributed Shared Memory Vortrag im Rahmen des Seminars „Ausgewählte Themen in Hardwareentwurf und Optik“ Sarah Neuwirth, 05. Juli 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 2 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
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 3 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Performance und Speedup Grafik aus [8] entnommen 4 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 5 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Was ist Software DSM? (1) � Globaler, gemeinsam genutzter Speicher � Gemeinsam genutzter, virtueller Speicher bietet die Abstraktion eines gemeinsam genutzten Adressraums oberhalb einer Message-Passing Architektur. 6 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Was ist Software DSM? (3) 7 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Funktionsweise: Lesezugriff Grafik aus [8] entnommen 8 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Funktionsweise: Schreibzugriff primary page copy of page Grafik aus [8] entnommen 9 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Granularität � Wahl der Blockgröße hängt ab von: � Kosten � 1 der Kommunikation Byte Nachricht vs. 1024 Byte Nachricht � Lokalität der Applikation � Üblicherweise wird Seiten-basierte Granularität mit 1 k bis 8 k Byte Größe gewählt. � Größere Seitengröße => bessere Lokalität „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 10 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Memory-Kohärenz wird gewährleistet durch geeignete Wahl von: � Konsistenz-Modell � Kohärenz-Protokoll � Page Synchronisation � Page Ownership 11 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
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): P 1 � (0, 1) a 1: A = 1; � (1, 1) b 1: B = 1; � (0, 0) Aber: (1, 0) nicht möglich 12 Sarah Neuwirth - Software Distributed Shared Memory P 2 a 2: u = B; b 2: v = A; 05. 07. 2011
Kohärenz-Protokolle � Page Synchronisation: � Write-Invalidate Strategie � Write-Update Strategie � Page Ownership: � fest � dynamisch: 13 zentral oder verteilt Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Beispiel eines Kohärenz-Protokolls schwarz: single-writer Schema violett: Ergänzung für multiple-writer Schema 14 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 15 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Single System Image (1) “A single system image (SSI) is the property of a system that hides the heterogeneous and distributed nature of the available resources and presents them to users and applications as a single unified computing resource. ” -- Buyya et al. , 2001 � 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 16 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Single System Image (2) Hauptziele: � Ein Prozessraum � Ein Userinterface � Ein Speicherraum � Ein I/O-Raum � Process Migration, falls dynamisches Load Balancing 17 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Single System Image (3) 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 18 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 19 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Open Source Lösungen für Software DSM Linux-basierte Single System Images: � Kerrighed � open. Mosix � Open. SSI 20 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Vergleich der Open Source Lösungen SSI Feature Kerrighed open. Mosix Open. SSI 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 • dynimasche Load Balancing der Cluster CPU Single Process Space • ja • nein • ja Single I/O Space • unbekannt • nein • ja 21 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 22 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
v. SMP Architektur von Scale. MP Quelle [7] 23 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Scale. MP Testsystem Scale. MP: � 13 Boards verbunden über Infiniband � Jeweils 2 x Intel Xeon E 5420 @ 2, 5 GHz � 13 x 16 = 208 GB RAM ~38 GB reserviert für v. SMP = 170 GB verfügbar Tigerton (SMP Maschine als Referenz): � 4 x Intel Xeon X 7350 @ 2, 93 GHz � 1 x 64 GB RAM 24 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Page Access Benchmark � Drei Benchmarks: � read_from_other � write_self 25 Scale. MP 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 05. 07. 2011
Allocation Time Benchmark Gemessen wurde Allocation Time für ein 15 GB Array mit � Default Pages (4 k. B) Große Pages � Großen Pages (2 MB) Default Pages Tigerton 1 34. 7 s 27. 0 s 8 16. 6 s 20. 3 s 16 26. 9 s 15. 8 s 1 211. 1 s 196. 2 s 8 423. 4 s 187. 4 s 16 449. 0 s 179. 2 s Scale. MP 26 104 432. 4 s 121. 7 s Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Evaluation der v. SMP Architektur � Aggregation von mehreren Boards => hoch akkumulierte Memory Bandweite (bis zu 95 GB/s) � Hohe Remote Memory Access Zeit (20 x) und Synchronisationszeit (150 x) => Ausgeprägtes cc-NUMA Verhalten � Applikationen von echten Usern profitieren von v. SMP � FIRE erreicht Speedup von ~80 � SHEMAT-Suite erreicht Speedup von 41. 5 Vgl. Benchmarks Schmidl et al. [6] 27 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Lösungen von Symmetric Computing Lösungen: � Duet. TM Departmental Super. Computer � Trio. TM Departmental Super. Computer Features: � Large Single Shared Memory � SSI � Linux Support � Distributed Symmetric Multi-Processing � Open. MP, Pthreads, POSIX 28 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Trio. TM Departmental Super. Computer Spezifikation des Testsystems: � Prozessoren: 72 Cores (9 x 8 -Core 2. 6 GHz AMD Opteron) � Memory: 384 GB 1333 MHz DDR 3 (4 GB DIMMs) � Interconnect: 40 Gbps Infini. Band 29 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Benchmark-Ergebnisse für Trio™Departmental Super. Computer: � NCBI Blast Performance: � 47 -mal schneller für 64 Cores � 53 -mal schneller für 72 Cores � HMMER 3 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 30 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 31 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
v. NUMA (1) � Charakteristiken: � DSM System integriert in Hypervisor � Single-Writer/Multiple-Reader Write-Invalidate Protokoll � Fixierter, dezentraler Manager � Ziel: � Anwenden 32 unveränderter Binaries von SMP Architekturen Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
v. NUMA (2) Test-System: � 8 HP rx 2600 Server � 900 MHz Itanium 2 Prozessoren � eine CPU pro Server � Gigabit Ethernet verbunden durch HP Pro. Curve 2780 Switch � Linux 2. 6. 16 � 16 k. B Seiten (intern zerlegt in 4 k. B Seiten) 33 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
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 34 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
v. NUMA: HPC Benchmarks x-Achse: Anzahl an Knoten y-Achse: Speedup 35 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
v. NUMA: Datenbank Benchmark Getestete Queries: � SELECT � SEARCH � AGGREGATE � COMPLEX 36 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 37 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
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! 38 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 39 Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: v. NUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Literaturverzeichnis (1) [1] Kai Li: „Memory Coherence in Shared Virtual Memory Systems“, ACM Transactions on Computer Systems, 7(4), 1989. [2] Lottiaux et al. : „Open. Mosix, Open. SSI 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 23 rd Annual International Symposium on Computer Architecture, Mai 1996. 40 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Literaturverzeichnis (2) [5] Matthew Chapman: „v. NUMA: A Virtual Shared. Memory Multiprocessor“, Proceedings of the 2009 conference on USENIX Annual technical conference, 2009. [6] Schmidl et al. : „How to scale Nested Open. MP Applications on the Scale. MP v. SMP Architecture”, IEEE International Conference on Cluster Computing, 2010. [7] Scale. MP: „Virtualization for Aggregation and The v. SMP Architecture“, Technical Whitepaper, 2009. [8] Vorlesungsskript zu Rechnerarchitektur II [9] Symmetric Computing, 41 http: //www. symmetriccomputing. com/ Sarah Neuwirth - Software Distributed Shared 05. 07. 2011 Memory
Literaturverzeichnis (3) [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 42 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
Ende Vielen Dank für die Aufmerksamkeit! 43 Sarah Neuwirth - Software Distributed Shared Memory 05. 07. 2011
- Slides: 43