1 / 43

Software Distributed Shared Memory

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

holli
Download Presentation

Software Distributed Shared Memory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. Performance und Speedup Grafik aus [8] entnommen Sarah Neuwirth - Software Distributed Shared Memory

  5. 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

  6. 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.

  7. Was ist Software DSM? (3) Sarah Neuwirth - Software Distributed Shared Memory

  8. Funktionsweise: Lesezugriff Grafik aus [8] entnommen Sarah Neuwirth - Software Distributed Shared Memory

  9. Funktionsweise: Schreibzugriff primarypage copyofpage Grafik aus [8] entnommen Sarah Neuwirth - Software Distributed Shared Memory

  10. 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

  11. 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

  12. 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

  13. Kohärenz-Protokolle Sarah Neuwirth - Software Distributed Shared Memory • Page Synchronisation: • Write-Invalidate Strategie • Write-Update Strategie • Page Ownership: • fest • dynamisch: zentral oder verteilt

  14. Beispiel eines Kohärenz-Protokolls schwarz: single-writer Schema violett: Ergänzung für multiple-writer Schema Sarah Neuwirth - Software Distributed Shared Memory

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. Open Source Lösungen für Software DSM Sarah Neuwirth - Software Distributed Shared Memory Linux-basierte Single System Images: Kerrighed openMosix OpenSSI

  21. Vergleich der Open Source Lösungen Sarah Neuwirth - Software Distributed Shared Memory

  22. 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

  23. vSMP Architektur von ScaleMP Quelle [7] Sarah Neuwirth - Software Distributed Shared Memory

  24. 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

  25. Page Access Benchmark Sarah Neuwirth - Software Distributed Shared Memory • Drei Benchmarks: • read_from_other • write_from_other • write_self

  26. 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)

  27. 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]

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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)

  34. 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

  35. vNUMA: HPC Benchmarks x-Achse: Anzahl an Knoten y-Achse: Speedup Sarah Neuwirth - Software Distributed Shared Memory

  36. vNUMA: Datenbank Benchmark Sarah Neuwirth - Software Distributed Shared Memory Getestete Queries: SELECT SEARCH AGGREGATE COMPLEX

  37. 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

  38. 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!

  39. 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

  40. 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.

  41. 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/

  42. 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

  43. Ende Sarah Neuwirth - Software Distributed Shared Memory Vielen Dank für die Aufmerksamkeit! 

More Related