Universität Stuttgart
Permanent URI for this communityhttps://elib.uni-stuttgart.de/handle/11682/1
Browse
15 results
Search Results
Item Open Access Energieeffizienz von Prozessoren in High Performance Computinganwendungen der Ingenieurwissenschaften(Stuttgart : Höchstleistungsrechenzentrum, Universität Stuttgart, 2018) Khabi, Dmitry; Resch, Michael M. (Prof. Dr.-Ing. Dr. h.c. Dr. h.c. Prof. E.h.)Im Mittelpunkt dieser Arbeit steht die Frage nach Energieeffizienz im Hochleistungsrechnen (HPC) mit Schwerpunkt auf Zusammenhänge zwischen der elektrischen Leistung der Prozessoren und deren Rechenleistung. In Kapitel 1, Einleitung der folgenden Abhandlungen, werden die Motivation und der Stand der Technik auf dem Gebiet der Strommessung und der Energieeffizienz im HPC und dessen Komponenten erläutert. In den Folgenden Kapiteln 2 und 3 wird eine am Höchstleistungsrechenzentrum Stuttgart (HLRS) entwickelte Messtechnik detailliert diskutiert, die für die Strommessungen im Testcluster angewendet wird. Das Messverfahren der unterschiedlichen Hardwarekomponenten und die Abhängigkeit zwischen deren Stromversorgung, Messgenauigkeit und Messfrequenz werden dargelegt. Im Kapitel 4 der Arbeit beschreibe ich, welchen Zusammenhang es zwischen dem Stromverbrauch eines Prozessors, dessen Konfiguration und darauf ausgeführten Algorithmen gibt. Der Fokus liegt dabei auf den Zusammenhängen zwischen CPU-Frequenz, Grad der Parallelisierung, Rechenleistung und elektrischer Leistung. Für den Effizienzvergleich zwischen den Prozessoren und Algorithmen benutze ich ein Verfahren, das auf eine Approximation in der analytischen Form der Rechen- und der elektrischen Leistung der Prozessoren basiert. In diesem Kapitel wird außerdem gezeigt, dass die Koeffizienten der Approximation, die mehrere Hinweise auf Software und Hardware-Eigenschaften geben, als Basis für die Ausarbeitung eines erweiterten Modells dienen können. Wie im weiteren Verlauf gezeigt wird, berücksichtigen die existierenden Modelle der Rechen- und der elektrischen Leistung nur zum Teil die unterschiedlichen Frequenz-Domains der Hardwarekomponenten. Im Kapitel 5 wird eine Erweiterung des existierenden Modells der Rechenleistung erläutert, mit dessen Hilfe die entsprechenden neuen Eigenschaften der CPU-Architektur teilweise erklärt werden könnten. Die daraus gewonnenen Erkenntnisse sollen helfen, ein Modell zu entwickeln, das sowohl die Rechen- als auch die elektrische Leistung beschreibt. In Kapitel 6 beschreibe ich die Problemstellung der Energieeffizienz eines Hochleistungsrechners. Unter anderem werden die in dieser Arbeit entwickelten Methoden auf eine HPC-Platform evaluiert.Item Open Access Über die Lösung der Navier-Stokes-Gleichungen mit Hilfe der Moore-Penrose-Inversen des Laplace-Operators im Vektorraum der Polynomkoeffizienten(2024) Große-Wöhrmann, Bärbel; Resch, Michael (Prof. Dr.-Ing.)Die bekannten numerischen Standard-Verfahren zur Lösung partieller Differentialgleichungen basieren auf einer räumlichen Diskretisierung des Berechnungsgebiets. Ihre Performance und Skalierbarkeit auf modernen massiv-parallelen Höchstleistungsrechnern ist von der Verfügbarkeit effizienter numerischer Verfahren zur Lösung linearer Gleichungssysteme abhängig. Angesichts grundlegender Herausforderungen erscheint die Entwicklung neuer Lösungsansätze sinnvoll. Ich stelle in dieser Arbeit einen Polynomansatz zur Lösung partieller Differentialgleichungen vor, der nicht auf einer räumlichen Diskretisierung beruht und mit Hilfe der Moore-Penrose-Inversen des Laplace-Operators die Entkopplung der Navier-Stokes-Gleichungen ermöglicht. Dabei ist der Grad der Polynome nicht grundsätzlich beschränkt, so dass eine hohe räumliche Auflösung erreicht werden kann.Item Open Access A light weighted semi-automatically I/O-tuning solution for engineering applications(Stuttgart : Höchstleistungsrechenzentrum, Universität Stuttgart, 2017) Wang, Xuan; Resch, Michael M. (Prof. Dr.-Ing. Dr. h.c. Dr. h.c. Prof. E.h.)Today’s engineering applications running on high performance computing (HPC) platforms generate more and more diverse data simultaneously and require large storage systems as well as extremely high data transfer rates to store their data. To achieve high performance data transfer rate (I/O performance), computer scientists together with HPC manufacturers have developed a lot of innovative solutions. However, how to transfer the knowledge of their solutions to engineers and scientists has become one of the largest barriers. Since the engineers and scientists are experts in their own professional areas, they might not be capable of tuning their applications to the optimal level. Sometimes they might even drop down the I/O performance by mistake. The basic training courses provided by computing centers like HLRS seem to be not sufficient enough to transfer the know-how required. In order to overcome this barrier, I have developed a semi-automatically I/O-tuning solution (SAIO) for engineering applications. SAIO, a light weighted and intelligent framework, is designed to be compatible with as many engineering applications as possible, scalable with large engineering applications, usable for engineers and scientists with little knowledge of parallel I/O, and portable across multiple HPC platforms. Standing upon MPI-IO library allows SAIO to be compatible with MPI-IO based high level I/O libraries, such as parallel HDF5, parallel NetCDF, as well as proprietary and open source software, like Ansys Fluent, WRF Model etc. In addition, SAIO follows current MPI standard, which makes it be portable across many HPC platforms and scalable. SAIO, which is implemented as dynamic library and loaded dynamically, does not require recompiling or changing application's source codes. By simply adding several export directives into their job submission scripts, engineers and scientists will be able to run their jobs more efficiently. Furthermore, an automated SAIO training utility keeps the optimal configurations up to date, without any manuell efforts of user involved.Item Open Access Optimizing I/O performance with machine learning supported auto-tuning(Stuttgart : Höchstleistungsrechenzentrum, Universität Stuttgart, 2023) Bağbaba, Ayşe; Resch, Michael M. (Prof. Dr.-Ing. Dr. h.c. Dr. h.c. Prof. E.h.)Data access is a considerable challenge because of the scalability limitation of I/O. In addition, some applications spend most of their total execution times in I/O. This causes a massive slowdown and wastage of useful computing resources. Unfortunately, there is not any one-size-fits-all solution to the I/O problems, so I/O becomes a limiting factor for such applications. Parallel I/O is an essential technique for scientific applications running on high-performance computing systems. Typically, parallel I/O stacks offer many parameters that need to be tuned to achieve an I/O performance as good as possible. Unfortunately, there is no default best configuration of these parameters; in practice, these differ not only between systems but often also from one application use case to the other. However, scientific users might not have the time or the experience to explore the parameter space sensibly and choose a proper configuration for each application use case. I present a line of solutions to this problem containing a machine learning supported auto-tuning system which uses performance modelling to optimize I/O performance. I demonstrate the value of these solutions across applications and at scale.Item Open Access Model-centric task debugging at scale(Stuttgart : Höchstleistungsrechenzentrum, Universität Stuttgart, 2017) Nachtmann, Mathias; Resch, Michael (Prof. Dr.-Ing. Dr. h.c. Dr. h.c. Prof. E.h.)Chapter 1, Introduction, presents state of the art debugging techniques in high-performance computing. The lack of information out of the programming model, these traditional debugging tools suffer, motivated the model-centric debugging approach. Chapter 2, Technical Background: Parallel Programming Models & Tools, exemplifies the programming models used in the scope of my work. The differences between those models are illustrated, and for the most popular programming models in HPC, examples are attached in this chapter. The chapter also describes Temanejo, the toolchain's front-end, which supports the application developer during his actions. In the following chapter (Chapter 4), Design: Events & Requests in Ayudame, the theory of task" and dependency" representation is stated. The chapter includes the design of different information types, which are later on used for the communication between a programming model and the model-centric debugging approach. In chapter 5, Design: Communication Back-end Ayudame, the design of the back-end tool infrastructure is described in detail. This also includes the problems occurring during the design process and their specific solutions. The concept of a multi-process environment and the usage of different programming models at the same time is also part of this chapter. The following chapter (Chapter 6), Instrumentation of Runtime Systems, briefly describes the information exchange between a programming model and the model-centric debugging approach. The different ways of monitoring and controlling an application through its programming model are illustrated. In chapter 7, Case Study: Performance Debugging, the model-centric debugging approach is used for optimising an application. All necessary optimisation steps are described in detail, with the help of mock-ups. Additionally, a description of the different optimised versions is included in this chapter. The evaluation, done on different hardware architectures, is presented and discussed. This includes not only the behaviour of the versions on different platforms but also architecture specific issues.Item Open Access Improving the MPI-IO performance of applications with genetic algorithm based auto-tuning(2021) Bagbaba, Ayse; Wang, XuanParallel I/O is an essential part of scientific applications running on high-performance computing systems. Under- standing an application’s parallel I/O behavior and identifying sources of performance bottlenecks require a multi-layer view of the I/O. Typical parallel I/O stack layers offer many tunable parameters that can achieve the best possible I/O performance. However, scientific users do often not have the time nor the experience for investigating the proper combination of these parameters for each application use-case. Auto-tuning can help users by automatically tuning I/O parameters at various layers transparently. In auto-tuning, using naive strategy, running an application by trying all possible combinations of tunable parameters for all layers of the I/O stack to find the best settings is an exhaustive search through the huge parameter space. This strategy is infeasible because of the long execution times of trial runs. In this paper, we propose a genetic algorithm-based parallel I/O auto-tuning approach that can hide the complexity of the I/O stack from users and auto-tune a set of parameter values for an application on a given system to improve the I/O performance. In particular, our approach tests a set of parameters and then, modifies the combination of these parameters for further testing based on the I/O performance. We have validated our model using two I/O benchmarks, namely IOR and MPI-Tile-IO. We achieved an increase in I/O bandwidth of up to 7.74×over the default parameters for IOR and 5.59× over the default parameters for MPI-Tile-IO.Item Open Access Simulationsgestützte Absicherung von Fahrerassistenzsystemen(2018) Feilhauer, Marius; Resch, Michael M. (Prof. Dr.-Ing. Dr. h.c. Dr. h.c. Prof. E.h.)Item Open Access Improving collective I/O performance with machine learning supported auto-tuning(2020) Bagbaba, AyseCollective Input and output (I/O) is an essential approach in high performance computing (HPC) applications. The achievement of effective collective I/O is a nontrivial job due to the complex interdependencies between the layers of I/O stack. These layers provide the best possible I/O performance through a number of tunable parameters. Sadly, the correct combination of parameters depends on diverse applications and HPC platforms. When a configuration space gets larger, it becomes difficult for humans to monitor the interactions between the configuration options. Engineers has no time or experience for exploring good configuration parameters for each problem because of long benchmarking phase. In most cases, the default settings are implemented, often leading to poor I/O efficiency. I/O profiling tools can not tell the optimal default setups without too much effort to analyzing the tracing results. In this case, an auto-tuning solution for optimizing collective I/O requests and providing system administrators or engineers the statistic information is strongly required. In this paper, a study of the machine learning supported collective I/O auto-tuning including the architecture and software stack is performed. Random forest regression model is used to develop a performance predictor model that can capture parallel I/O behavior as a function of application and file system characteristics. The modeling approach can provide insights into the metrics that impact I/O performance significantly.Item Open Access Lustre I/O performance investigations on Hazel Hen : experiments and heuristics(2021) Seiz, Marco; Offenhäuser, Philipp; Andersson, Stefan; Hötzer, Johannes; Hierl, Henrik; Nestler, Britta; Resch, MichaelWith ever-increasing computational power, larger computational domains are employed and thus the data output grows as well. Writing this data to disk can become a significant part of runtime if done serially. Even if the output is done in parallel, e.g., via MPI I/O, there are many user-space parameters for tuning the performance. This paper focuses on the available parameters for the Lustre file system and the Cray MPICH implementation of MPI I/O. Experiments on the Cray XC40 Hazel Hen using a Cray Sonexion 2000 Lustre file system were conducted. In the experiments, the core count, the block size and the striping configuration were varied. Based on these parameters, heuristics for striping configuration in terms of core count and block size were determined, yielding up to a 32-fold improvement in write rate compared to the default. This corresponds to 85 GB/s of the peak bandwidth of 202.5 GB/s. The heuristics are shown to be applicable to a small test program as well as a complex application.Item Open Access Optimierte Zuteilungsmechanismen zur Leistungssteigerung von virtuellen Maschinen in Cloud Infrastrukturen(Stuttgart : Höchstleistungsrechenzentrum, Universität Stuttgart, 2020) Gienger, Michael; Resch, Michael M. (Prof. Dr.-Ing. Dr. h.c. Dr. h.c. Prof. E.h.)Cloud Computing ist ein flexibler und leistungsfähiger Ansatz, um Informationstechnologiedienste jeglicher Art zur Verfügung zu stellen. Die Dienste werden mit Hilfe einer Virtualisierungstechnologie bereitgestellt, über die auf einem einzigen Server mehrere virtuelle Instanzen dynamisch und ohne großen Managementaufwand verwaltet werden können. Dadurch können Serviceinstanzen mit limitierten Anforderungen auch leistungsstarken Servern zugeteilt werden, ohne deren Kapazitäten gänzlich zu blockieren. Der Vorteil effizienter Ressourcennutzung hat jedoch auch einen großen Nachteil. Aufgrund des gemeinsamen Ressourcenzugriffs können Prozessor, Hauptspeicher, Netzwerkschnittstelle oder auch lokale Festspeicher überlastet werden, so dass die gesamte Leistungsfähigkeit des Servers und damit aller virtuellen Instanzen sinkt. Ziel dieser Arbeit ist es, das Problem der Überlast in Cloud Umgebungen zu adressieren, um nachhaltig eine erhöhte Anwendungs- oder Diensteffizienz, aber auch eine verbesserte Infrastrukturauslastung, zu erreichen. Dementsprechend werden optimierte Zuteilungsstrategien für virtuelle Instanzen entwickelt, die anhand von spezifischen Anforderungsprofilen komplementäre Arbeitslasten identifizieren und diese effizient den vorhandenen Servern zuteilen können. Hierzu wird ein Mechanismus entwickelt, der sowohl initial mit Hilfe von Benutzerinformationen eine effektive Zuteilung ermöglicht, aber auch durch kontinuierliche Leistungsüberwachung von virtuellen Instanzen reaktiv eine optimale Zuteilung erreicht. Für die Bestimmung der Resultate dieser Arbeit wurde eine prototypische Anwendung implementiert, die die optimierten Zuteilungsstrategien umsetzt. Im Grundsatz basiert diese auf Anwendungscharakteristika und Echtzeitinformationen einer Cloud Infrastruktur, die vor der Bereitstellung einer virtuellen Instanz in Relation gesetzt werden. Somit kann für jede Server/Instanzkombination innerhalb der Cloud Umgebung ein Kostenfaktor berechnet werden, über den der optimale Server ausgewählt wird. Die entwickelte Lösung wurde mit Hilfe einer Anwendung aus dem Bereich Ingenieurswissenschaften in einer modifizierten, privaten Cloud Infrastruktur evaluiert und validiert. Dazu wurden individuelle Szenarien definiert, die sowohl herkömmliche als auch optimierte Zuteilungsmechanismen abbilden. Die gesammelten, realen Messwerte beinhalten folglich Referenzdaten sowie Daten von optimierten Zuteilungen, so dass eine hinreichende Datengrundlage für die Bewertung der Ergebnisse geschaffen werden kann. Die Resultate dieser Arbeit zeigen auf, dass der gewählte Ansatz die Leistungsfähigkeit einer Cloud Infrastruktur und deren Anwendungen deutlich verbessert. So kann bei gleichbleibender Infrastruktureffizienz die Anwendungsleistung durch die optimierte Zuteilung von virtuellen Instanzen um mehr als 20% gesteigert werden. Je nach Anwendungsanforderungen ist im Optimalfall sogar eine Leistungssteigerung um mehrere Faktoren möglich.