Logo Logo
Help
Contact
Switch language to German
From the mass-concentration relation of haloes to GPUs and into the web. a guide on fully utilizing super computers for the largest, cosmological hydrodynamic simulations
From the mass-concentration relation of haloes to GPUs and into the web. a guide on fully utilizing super computers for the largest, cosmological hydrodynamic simulations
Aufgrund ihrer Größe birgt die Durchführung von modernen, hydrodynamischen, kosmologischen Simulationen eine ganzen Reihe von Herausforderungen in sich, umso mehr, da hier das Ziel ist, derartige Simulationen für noch größere und besser aufgelöste Volumina durchzuführen. Dabei helfen die Analysen derartiger Simulationen die so verbesserten numerischen Modelle mit Beobachtungsdaten zu vergleichen. Zu aller erst ist es hier unbedingt notwendig in den Anwendungsprogrammen SIMT (Single Instruction Multiple Thread) und/oder SIMD (BSingle Instruction Multiple Data) Instruktionen zu nutzen, um die Rechenleistung der aktuellen und kommenden Generationen von Supercomputern so gut wie möglich auszunutzen zu können. Darüber hinaus stellt die Datenmenge, welche derartige hydrodynamischen, kosmologischen Simulationen der jüngsten Generation ($>0.5PB$) generieren, eine große Herausforderung dar, wenn es darum geht wissenschaftliche Ergebnisse und die Simulationsdaten selbst öffentlich zugänglich zu machen und mit anderen Wissenschaftlern zu teilen: Abfragen, Durchsuchen und Filtern einer so großen Datenmenge erfordern Kenntnisse aus dem Bereich des High Performance Computing (HPC). Diese gehören häufig nicht zum Ausbildungshintergrund eines auf diesem Gebiet tätigen Wissenschaftlers. Da für solche Datenmenge HPC Speichersysteme zum Einsatz kommen, wird der öffentliche Zugriff auf diese wissenschaftlichen Daten und Ergebnisse zusätzlich stark erschwert, da der Zugriff üblicherweise für Wissenschaftler nur mit einem Account für die jeweilige HPC-Einrichtungen möglich ist. In dieser Arbeit werden diese verschiedenen Aspekte miteinader verknüpft. Eine ausführliche Optimierung des zugrundeliegenden Simulationsprogramm (Gadget3) erlaubte es, die bisher größte derartige Simulation durchzuführen. Diese erlaubt durch ihren großen dynamischen Bereich die Wechselwirkung der sichtbaren und der dunklen Materie auf die zugrundeliegende Form der sich bildenden Halos sehr genau und über einen großen Bereich, von Galaxien bis zu den massivsten Galaxienhaufen, zu studieren. Des weiteren wurde ein Webinterface entwickelt, mit denen die Ergebnisse derartiger Simulationen mit anderen Wissenschaftlern einfach und umfangreich geteilt werden können. Im ersten Schritt ergab die detaillierte Performance-Analyse, dass der Prozess des Suchens von Nachbarteilchen, welche mit einem Teilchen in direkter Wechselwirkung stehen (im Folgenden Neighbour-Search genannt), die Zeit, welche für die Berechnung der eigentlichen physikalischen Prozesse zur Verfügung steht, stark limitiert. Dieser Neighbour-Search besteht darin, einem Baum-Graphen zu folgen und die in ihm angeordneten, benachbarten Teilchen entweder mithilfe eines öffnungskriteriums des Baumes (in der Regel ein geometrisches Kriterium, welches den erlaubten Fehler in der Gravitationsberechnung beschreibt) oder mit Hilfe einer vordefinierten Suchlänge (z. B. die in der Hydrodynamik verwendete Kernelgröße) zu sammeln. Wir haben das oben skizzierte Problem mit Hilfe eines Optimierungsschemas, welches wir als Neighbour-Recycling bezeichnen, auf ein akzeptables Maß vermindert. Dafür nutzen wir die raumfüllende Peano-Kurve, welche in der Gadget-Implementierung für den Lastbalance-Algorithmus verwendet wird. Diese sorgt dabei dafür, dass im simulierten Volumen benachbarte Teilchen auch im Hauptspeicher des Rechners benachbart abgelegt werden. Wir minimierten den oben genannten Engpass, indem wir die Teilchen in Blöcken gruppieren, welche fortlaufend im Hauptspeicher liegen und die normale Neighbour-Search für die einzelnen Teilchen durch einen Neighbour-Search mit entsprechend leicht größerer Suchlängen ersetzten. Dieses oben beschriebene Code-Refactoring eröffnete die Möglichkeit, die Anwendung Gadget3 auf das gesamte SuperMUC-System zu skalieren und so die bis dato größte, hydrodynamische, kosmologische Simulation (Box0/mr, Magneticum-Projekt, \footnote{\href{http://www.magneticum.org}{http://www.magneticum.org}}) durchzuführen. Wir analysieren die Ergebnisse dieser Simulation und zweier weiterer Magneticum Simulationen und vergleichen den Konzentrationsindex (Verhältnis Cluster-Radius zu Skalen-Radius) von Galaxien und Galaxienhaufen mit früheren Theorie- und Beobachtungsarbeiten zu diesem Thema in einem bis dahin für hydrodynamische Simulationen unerreichten Massenbereich. Unter Berücksichtigung von baryonischer Materie in den Magneticum-Simulationen konnten wir zeigen, dass sogenannte fossile Gruppen (d. H. Objekte, die den größten Teil ihrer Lebensdauer existiert haben ohne Störungen ausgesetzt gewesen zu sein) den höchsten Wert von Konzentrationsindex haben. Dies ist in klarer übereinstimmung mit aktuellen Beobachtungen. Um diese größten Simulationen öffentlich zugänglich zu machen, haben wir ein Webportal entwickelt und implementiert. In diesem kann ein Benutzer zunächst eine Simulation auswählen und interessante Galaxienhaufen suchen und auswählen. Dazu stehen einerseits sehr hoch aufgelöste 2D-Karten zum Navigieren zur Verfügung, andererseits erlaubt ein Interface komplexe Abfragen von Detailinformationen der Galaxie und Galaxienhaufen. Diese können sogar grafisch zusammengestellt werden und als Elemente in benutzerdefinierten Grafen dargestellt werden. Nach der Auswahl eines Objekts (z.B. Galaxienhaufen) kann der Benutzer weitere, über das Portal zur Verfügung stehende Post-Processing Jobs starten. Durch die komplexe Architektur des Portals ist dies möglich, ohne dass der Nutzer einen eigenen Nutzer-Account auf dem HPC-System besitzt. Es reicht eine simple Registrierung im Portal aus. Inzwischen hat das Portal mehr als hundert registrierte Nutzen und es werden jeden Monat tausende von Post-Processing Jobs über das Portal ausgeführt. Da in der aktuellen und kommenden Generationen von Supercomputern Beschleuniger (z. B. Grafikkarten) eine zunehmend wichtigere Rolle spielen, haben wir des weiteren daran gearbeitet, Gadget3 auch auf GPU-basierten Systemen effizient nutzen zu können. Diese Neuentwicklung in Gagdet3 ermöglicht es, rechenintensive Teile der Applikation auch auf den GPUs der entsprechenden Supercomputer auszuführen. Damit eröffnen wir erstmals die Möglichkeit, die kommende Generation von Supercomputern, welche SIMT-/SIMD freundliche Programme benötigen, hoch effizient nutzen zu können. Tests der neuen Implementierung ergaben eine Beschleunigung von $>2\textrm{x}$ bei der Verwendung der Beschleuniger für ein realistische Setup, entsprechend einer der hochauflösenden Magneticum-Simulationen., The current generation of hydrodynamic cosmological simulations is facing a number of challenges when it comes to running and analysing larger and more resolved volumes in order to compare numerical studies with observational data. First, simulation codes need to take advantage of Single Instruction Multiple Thread (SIMT) and Single Instruction Multiple Data (SIMD) paradigms in order to fully exploit the computational capabilities of current and future generations of super computers. Additionally, the amount of data generated by the most recent hydrodynamic simulations ($>0.5 PB$) poses a physical barrier when it comes to opening the access and sharing results with the scientific community: queries, look ups and filtering over such high amount of data need High Performance Computing (HPC) skills that are often not part of the background knowledge of a scientist working in such field; additionally, since only HPC storages are capable of containing this amounts of data, this prevents a public access of the scientific results, as scientists are required to apply and register to HPC facilities. In this work, these different aspects are linked together. A tailored optimisation and a refactoring of a widely used code for simulations (Gadget3) made it possible to perform the largest hydrodynamic simulation so far. As the various simulated matter contents (dark matter, gas, stars and black holes) cluster together to form haloes, by combinig three cosmological hydrodynamic simulations it was possible to study in detail the shape of simulated objects with masses from the ones of single galaxies to masses comparable to the largest galaxy clusters of our universe. Furthermore, a web interface has been developed, where the results of simulations can be easily and extensively shared with other scientists. And finally, there has been an effort in shaping and preparing the code for the new and current generation of super computers, by porting it to the GPUs. The first part of this work shows how the process of neighbour search prevents large Gadget simulations from spending most of its execution time in actual physical computations. The neighbour search consists of walking the tree and collecting neighbouring particles over a tree opening criteria or over a pre-defined searching length. To solve the issue an approach to recycle neighbours is used. This approach takes advantage of the space-filling curve ordering of Gadget particles, which itself ensures that particles that are nearby in memory are also nearby in the simulated volume. This algorithm solves the aforementioned bottleneck by grouping particles in memory-consecutive chunks and by performing less neighbour searches over larger searching length. This refactoring opens the possibility to scale the code over the whole SuperMUC machine and run one of the largest cosmological hydrodynamic simulations (Box0/mr and Box2b/hr from the Magneticum project). I analyse the results of this simulation and other two Magneticum simulations and compare the concentration parameter (ratio between cluster radius and its scale radius) of galaxy clusters with previous theoretical and observational works over an unprecedented mass range for hydrodynamic simulations. Thanks to the presence of baryons in Magneticum simulations, it is possible to show how Magneticum simulations predict that fossil groups (i.e. objects that have lived un-perturbed for most of their life) have the highest value of concentration values, in agreement with observations. In order to share and make the largest simulations accessible, a web portal \footnote{\href{http://c2papcosmosim.uc.lrz.de}{http://c2papcosmosim.uc.lrz.de}} is built to let users find interesting clusters by (i) navigating over zoomable 2D maps, (ii) by graphically composing complex queries over galaxy and galaxy cluster properties and (iii) by selecting elements in user-defined plots. Users can then select a galaxy cluster and submit some pre-defined post-processing jobs that will run in a computing cluster, without any actual registration at the computing facility. As the current and new generations of super computers may employ accelerators (e.g. graphic cards), I present a way to port Gadget3 to the GPUs. The reason of this porting is twofold: besides making it possible to run on the current GPU based super computers, to fully exploit the new generation of super computer it is anyway necessary to have SIMT and SIMD friendly code. A test of the new implementation of the code shows a total speedup greater than $2$ in one of the high-resolution Magneticum cosmological boxes.
numerical, cosmological simulations, hpc, super computer
Ragagnin, Antonio
2018
English
Universitätsbibliothek der Ludwig-Maximilians-Universität München
Ragagnin, Antonio (2018): From the mass-concentration relation of haloes to GPUs and into the web: a guide on fully utilizing super computers for the largest, cosmological hydrodynamic simulations. Dissertation, LMU München: Faculty of Physics
[img]
Preview
PDF
Ragagnin_Antonio.pdf

7MB

Abstract

Aufgrund ihrer Größe birgt die Durchführung von modernen, hydrodynamischen, kosmologischen Simulationen eine ganzen Reihe von Herausforderungen in sich, umso mehr, da hier das Ziel ist, derartige Simulationen für noch größere und besser aufgelöste Volumina durchzuführen. Dabei helfen die Analysen derartiger Simulationen die so verbesserten numerischen Modelle mit Beobachtungsdaten zu vergleichen. Zu aller erst ist es hier unbedingt notwendig in den Anwendungsprogrammen SIMT (Single Instruction Multiple Thread) und/oder SIMD (BSingle Instruction Multiple Data) Instruktionen zu nutzen, um die Rechenleistung der aktuellen und kommenden Generationen von Supercomputern so gut wie möglich auszunutzen zu können. Darüber hinaus stellt die Datenmenge, welche derartige hydrodynamischen, kosmologischen Simulationen der jüngsten Generation ($>0.5PB$) generieren, eine große Herausforderung dar, wenn es darum geht wissenschaftliche Ergebnisse und die Simulationsdaten selbst öffentlich zugänglich zu machen und mit anderen Wissenschaftlern zu teilen: Abfragen, Durchsuchen und Filtern einer so großen Datenmenge erfordern Kenntnisse aus dem Bereich des High Performance Computing (HPC). Diese gehören häufig nicht zum Ausbildungshintergrund eines auf diesem Gebiet tätigen Wissenschaftlers. Da für solche Datenmenge HPC Speichersysteme zum Einsatz kommen, wird der öffentliche Zugriff auf diese wissenschaftlichen Daten und Ergebnisse zusätzlich stark erschwert, da der Zugriff üblicherweise für Wissenschaftler nur mit einem Account für die jeweilige HPC-Einrichtungen möglich ist. In dieser Arbeit werden diese verschiedenen Aspekte miteinader verknüpft. Eine ausführliche Optimierung des zugrundeliegenden Simulationsprogramm (Gadget3) erlaubte es, die bisher größte derartige Simulation durchzuführen. Diese erlaubt durch ihren großen dynamischen Bereich die Wechselwirkung der sichtbaren und der dunklen Materie auf die zugrundeliegende Form der sich bildenden Halos sehr genau und über einen großen Bereich, von Galaxien bis zu den massivsten Galaxienhaufen, zu studieren. Des weiteren wurde ein Webinterface entwickelt, mit denen die Ergebnisse derartiger Simulationen mit anderen Wissenschaftlern einfach und umfangreich geteilt werden können. Im ersten Schritt ergab die detaillierte Performance-Analyse, dass der Prozess des Suchens von Nachbarteilchen, welche mit einem Teilchen in direkter Wechselwirkung stehen (im Folgenden Neighbour-Search genannt), die Zeit, welche für die Berechnung der eigentlichen physikalischen Prozesse zur Verfügung steht, stark limitiert. Dieser Neighbour-Search besteht darin, einem Baum-Graphen zu folgen und die in ihm angeordneten, benachbarten Teilchen entweder mithilfe eines öffnungskriteriums des Baumes (in der Regel ein geometrisches Kriterium, welches den erlaubten Fehler in der Gravitationsberechnung beschreibt) oder mit Hilfe einer vordefinierten Suchlänge (z. B. die in der Hydrodynamik verwendete Kernelgröße) zu sammeln. Wir haben das oben skizzierte Problem mit Hilfe eines Optimierungsschemas, welches wir als Neighbour-Recycling bezeichnen, auf ein akzeptables Maß vermindert. Dafür nutzen wir die raumfüllende Peano-Kurve, welche in der Gadget-Implementierung für den Lastbalance-Algorithmus verwendet wird. Diese sorgt dabei dafür, dass im simulierten Volumen benachbarte Teilchen auch im Hauptspeicher des Rechners benachbart abgelegt werden. Wir minimierten den oben genannten Engpass, indem wir die Teilchen in Blöcken gruppieren, welche fortlaufend im Hauptspeicher liegen und die normale Neighbour-Search für die einzelnen Teilchen durch einen Neighbour-Search mit entsprechend leicht größerer Suchlängen ersetzten. Dieses oben beschriebene Code-Refactoring eröffnete die Möglichkeit, die Anwendung Gadget3 auf das gesamte SuperMUC-System zu skalieren und so die bis dato größte, hydrodynamische, kosmologische Simulation (Box0/mr, Magneticum-Projekt, \footnote{\href{http://www.magneticum.org}{http://www.magneticum.org}}) durchzuführen. Wir analysieren die Ergebnisse dieser Simulation und zweier weiterer Magneticum Simulationen und vergleichen den Konzentrationsindex (Verhältnis Cluster-Radius zu Skalen-Radius) von Galaxien und Galaxienhaufen mit früheren Theorie- und Beobachtungsarbeiten zu diesem Thema in einem bis dahin für hydrodynamische Simulationen unerreichten Massenbereich. Unter Berücksichtigung von baryonischer Materie in den Magneticum-Simulationen konnten wir zeigen, dass sogenannte fossile Gruppen (d. H. Objekte, die den größten Teil ihrer Lebensdauer existiert haben ohne Störungen ausgesetzt gewesen zu sein) den höchsten Wert von Konzentrationsindex haben. Dies ist in klarer übereinstimmung mit aktuellen Beobachtungen. Um diese größten Simulationen öffentlich zugänglich zu machen, haben wir ein Webportal entwickelt und implementiert. In diesem kann ein Benutzer zunächst eine Simulation auswählen und interessante Galaxienhaufen suchen und auswählen. Dazu stehen einerseits sehr hoch aufgelöste 2D-Karten zum Navigieren zur Verfügung, andererseits erlaubt ein Interface komplexe Abfragen von Detailinformationen der Galaxie und Galaxienhaufen. Diese können sogar grafisch zusammengestellt werden und als Elemente in benutzerdefinierten Grafen dargestellt werden. Nach der Auswahl eines Objekts (z.B. Galaxienhaufen) kann der Benutzer weitere, über das Portal zur Verfügung stehende Post-Processing Jobs starten. Durch die komplexe Architektur des Portals ist dies möglich, ohne dass der Nutzer einen eigenen Nutzer-Account auf dem HPC-System besitzt. Es reicht eine simple Registrierung im Portal aus. Inzwischen hat das Portal mehr als hundert registrierte Nutzen und es werden jeden Monat tausende von Post-Processing Jobs über das Portal ausgeführt. Da in der aktuellen und kommenden Generationen von Supercomputern Beschleuniger (z. B. Grafikkarten) eine zunehmend wichtigere Rolle spielen, haben wir des weiteren daran gearbeitet, Gadget3 auch auf GPU-basierten Systemen effizient nutzen zu können. Diese Neuentwicklung in Gagdet3 ermöglicht es, rechenintensive Teile der Applikation auch auf den GPUs der entsprechenden Supercomputer auszuführen. Damit eröffnen wir erstmals die Möglichkeit, die kommende Generation von Supercomputern, welche SIMT-/SIMD freundliche Programme benötigen, hoch effizient nutzen zu können. Tests der neuen Implementierung ergaben eine Beschleunigung von $>2\textrm{x}$ bei der Verwendung der Beschleuniger für ein realistische Setup, entsprechend einer der hochauflösenden Magneticum-Simulationen.

Abstract

The current generation of hydrodynamic cosmological simulations is facing a number of challenges when it comes to running and analysing larger and more resolved volumes in order to compare numerical studies with observational data. First, simulation codes need to take advantage of Single Instruction Multiple Thread (SIMT) and Single Instruction Multiple Data (SIMD) paradigms in order to fully exploit the computational capabilities of current and future generations of super computers. Additionally, the amount of data generated by the most recent hydrodynamic simulations ($>0.5 PB$) poses a physical barrier when it comes to opening the access and sharing results with the scientific community: queries, look ups and filtering over such high amount of data need High Performance Computing (HPC) skills that are often not part of the background knowledge of a scientist working in such field; additionally, since only HPC storages are capable of containing this amounts of data, this prevents a public access of the scientific results, as scientists are required to apply and register to HPC facilities. In this work, these different aspects are linked together. A tailored optimisation and a refactoring of a widely used code for simulations (Gadget3) made it possible to perform the largest hydrodynamic simulation so far. As the various simulated matter contents (dark matter, gas, stars and black holes) cluster together to form haloes, by combinig three cosmological hydrodynamic simulations it was possible to study in detail the shape of simulated objects with masses from the ones of single galaxies to masses comparable to the largest galaxy clusters of our universe. Furthermore, a web interface has been developed, where the results of simulations can be easily and extensively shared with other scientists. And finally, there has been an effort in shaping and preparing the code for the new and current generation of super computers, by porting it to the GPUs. The first part of this work shows how the process of neighbour search prevents large Gadget simulations from spending most of its execution time in actual physical computations. The neighbour search consists of walking the tree and collecting neighbouring particles over a tree opening criteria or over a pre-defined searching length. To solve the issue an approach to recycle neighbours is used. This approach takes advantage of the space-filling curve ordering of Gadget particles, which itself ensures that particles that are nearby in memory are also nearby in the simulated volume. This algorithm solves the aforementioned bottleneck by grouping particles in memory-consecutive chunks and by performing less neighbour searches over larger searching length. This refactoring opens the possibility to scale the code over the whole SuperMUC machine and run one of the largest cosmological hydrodynamic simulations (Box0/mr and Box2b/hr from the Magneticum project). I analyse the results of this simulation and other two Magneticum simulations and compare the concentration parameter (ratio between cluster radius and its scale radius) of galaxy clusters with previous theoretical and observational works over an unprecedented mass range for hydrodynamic simulations. Thanks to the presence of baryons in Magneticum simulations, it is possible to show how Magneticum simulations predict that fossil groups (i.e. objects that have lived un-perturbed for most of their life) have the highest value of concentration values, in agreement with observations. In order to share and make the largest simulations accessible, a web portal \footnote{\href{http://c2papcosmosim.uc.lrz.de}{http://c2papcosmosim.uc.lrz.de}} is built to let users find interesting clusters by (i) navigating over zoomable 2D maps, (ii) by graphically composing complex queries over galaxy and galaxy cluster properties and (iii) by selecting elements in user-defined plots. Users can then select a galaxy cluster and submit some pre-defined post-processing jobs that will run in a computing cluster, without any actual registration at the computing facility. As the current and new generations of super computers may employ accelerators (e.g. graphic cards), I present a way to port Gadget3 to the GPUs. The reason of this porting is twofold: besides making it possible to run on the current GPU based super computers, to fully exploit the new generation of super computer it is anyway necessary to have SIMT and SIMD friendly code. A test of the new implementation of the code shows a total speedup greater than $2$ in one of the high-resolution Magneticum cosmological boxes.