430 likes | 588 Views
Software Distributed Shared Memory. Vortrag im Rahmen des Seminars „Ausgewählte Themen in Hardwareentwurf und Optik“ Sarah Neuwirth, 05. Juli 2011. Agenda. Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen
E N D
Software Distributed Shared Memory Vortrag im Rahmen des Seminars „Ausgewählte Themen in Hardwareentwurf und Optik“ Sarah Neuwirth, 05. Juli 2011
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
Motivation Sarah Neuwirth - Software Distributed Shared Memory 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
Performance und Speedup Grafik aus [8] entnommen Sarah Neuwirth - Software Distributed Shared Memory
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
Was ist Software DSM? (1) Sarah Neuwirth - Software Distributed Shared Memory Globaler, gemeinsam genutzter Speicher Gemeinsam genutzter, virtueller Speicher bietet die Abstraktion eines gemeinsam genutzten Adressraums oberhalb einer Message-Passing Architektur.
Was ist Software DSM? (3) Sarah Neuwirth - Software Distributed Shared Memory
Funktionsweise: Lesezugriff Grafik aus [8] entnommen Sarah Neuwirth - Software Distributed Shared Memory
Funktionsweise: Schreibzugriff primarypage copyofpage Grafik aus [8] entnommen Sarah Neuwirth - Software Distributed Shared Memory
Granularität „Weexpectthatsmallerpagesizes (perhapsaslowas 256 bytes) work well also, but weare not so confidentabout larger pagesizes.“ -- Kai Li, 1989 Sarah Neuwirth - Software Distributed Shared Memory • 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
Memory-Kohärenz Sarah Neuwirth - Software Distributed Shared Memory Memory-Kohärenz wird gewährleistet durch geeignete Wahl von: • Konsistenz-Modell • Kohärenz-Protokoll • Page Synchronisation • Page Ownership
Memory Konsistenz-Modelle Sarah Neuwirth - Software Distributed Shared Memory 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
Kohärenz-Protokolle Sarah Neuwirth - Software Distributed Shared Memory • Page Synchronisation: • Write-Invalidate Strategie • Write-Update Strategie • Page Ownership: • fest • dynamisch: zentral oder verteilt
Beispiel eines Kohärenz-Protokolls schwarz: single-writer Schema violett: Ergänzung für multiple-writer Schema Sarah Neuwirth - Software Distributed Shared Memory
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
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 Sarah Neuwirth - Software Distributed Shared Memory 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
Single System Image (2) Sarah Neuwirth - Software Distributed Shared Memory Hauptziele: Ein Prozessraum Ein Userinterface Ein Speicherraum Ein I/O-Raum Process Migration, falls dynamisches LoadBalancing
Single System Image (3) Sarah Neuwirth - Software Distributed Shared Memory 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
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
Open Source Lösungen für Software DSM Sarah Neuwirth - Software Distributed Shared Memory Linux-basierte Single System Images: Kerrighed openMosix OpenSSI
Vergleich der Open Source Lösungen Sarah Neuwirth - Software Distributed Shared Memory
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
vSMP Architektur von ScaleMP Quelle [7] Sarah Neuwirth - Software Distributed Shared Memory
ScaleMP Testsystem Sarah Neuwirth - Software Distributed Shared Memory 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 Access Benchmark Sarah Neuwirth - Software Distributed Shared Memory • Drei Benchmarks: • read_from_other • write_from_other • write_self
Allocation Time Benchmark Sarah Neuwirth - Software Distributed Shared Memory Gemessen wurde Allocation Time für ein 15 GB Array mit Default Pages (4 kB) Großen Pages (2 MB)
Evaluation der vSMP Architektur Sarah Neuwirth - Software Distributed Shared Memory • 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]
Lösungen von Symmetric Computing Sarah Neuwirth - Software Distributed Shared Memory Lösungen: DuetTMDepartmental SuperComputer TrioTMDepartmental SuperComputer Features: Large Single Shared Memory SSI Linux Support Distributed Symmetric Multi-Processing OpenMP, Pthreads, POSIX
TrioTMDepartmental SuperComputer Sarah Neuwirth - Software Distributed Shared Memory 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 GbpsInfiniBand
Benchmark-Ergebnisse für Trio Sarah Neuwirth - Software Distributed Shared Memory Trio™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
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
vNUMA (1) Sarah Neuwirth - Software Distributed Shared Memory • Charakteristiken: • DSM System integriert in Hypervisor • Single-Writer/Multiple-Reader Write-Invalidate Protokoll • Fixierter, dezentraler Manager • Ziel: • Anwenden unveränderter Binaries von SMP Architekturen
vNUMA (2) Sarah Neuwirth - Software Distributed Shared Memory 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)
Applikationen für Benchmarks Sarah Neuwirth - Software Distributed Shared Memory 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 multigridKernel
vNUMA: HPC Benchmarks x-Achse: Anzahl an Knoten y-Achse: Speedup Sarah Neuwirth - Software Distributed Shared Memory
vNUMA: Datenbank Benchmark Sarah Neuwirth - Software Distributed Shared Memory Getestete Queries: SELECT SEARCH AGGREGATE COMPLEX
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
Fazit Sarah Neuwirth - Software Distributed Shared Memory 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!
Agenda Motivation Was ist Software Distributed Shared Memory? Single System Images Open Source Lösungen Kommerzielle Lösungen Beispiel: vNUMA Fazit Literaturverzeichnis Sarah Neuwirth - Software Distributed Shared Memory
Literaturverzeichnis (1) Sarah Neuwirth - Software Distributed Shared Memory [1] Kai Li: „Memory Coherence in Shared Virtual Memory Systems“, ACM Transactions on Computer Systems, 7(4), 1989. [2] Lottiaux et al.: „OpenMosix, OpenSSIandKerrighed: A Comparative Study“, 2005. [3] Zhou et al.: „Relaxed ConsistencyandCoherenceGranularity in DSM Systems: A Performance Evaluation“, 1997. [4] Iftode et al.: „Understanding Application Performance on Shared Virtual Memory Systems“, In Proceedingsofthe 23rd Annual International Symposium on Computer Architecture, Mai 1996.
Literaturverzeichnis (2) Sarah Neuwirth - Software Distributed Shared Memory [5] Matthew Chapman: „vNUMA: A Virtual Shared-Memory Multiprocessor“, Proceedings of the 2009 conference on USENIX Annual technical conference, 2009. [6] Schmidl et al.: „HowtoscaleNestedOpenMPApplications on theScaleMPvSMPArchitecture”, IEEE International Conference on Cluster Computing, 2010. [7] ScaleMP: „Virtualizationfor Aggregation and The vSMPArchitecture“, Technical Whitepaper, 2009. [8] Vorlesungsskript zu Rechnerarchitektur II [9] Symmetric Computing, http://www.symmetriccomputing.com/
Literaturverzeichnis (3) Sarah Neuwirth - Software Distributed Shared Memory [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
Ende Sarah Neuwirth - Software Distributed Shared Memory Vielen Dank für die Aufmerksamkeit!