13 Zentrale Universitätseinrichtungen
Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/14
Browse
8 results
Search Results
Item Open Access Process migration in a parallel environment(Stuttgart : Höchstleistungsrechenzentrum, Universität Stuttgart, 2016) Reber, Adrian; Resch, Michael (Prof. Dr.- Ing. Dr. h.c. Dr. h.c. Prof. E.h.)To satisfy the ever increasing demand for computational resources, high performance computing systems are becoming larger and larger. Unfortunately, the tools supporting system management tasks are only slowly adapting to the increase in components in computational clusters. Virtualization provides concepts which make system management tasks easier to implement by providing more flexibility for system administrators. With the help of virtual machine migration, the point in time for certain system management tasks like hardware or software upgrades no longer depends on the usage of the physical hardware. The flexibility to migrate a running virtual machine without significant interruption to the provided service makes it possible to perform system management tasks at the optimal point in time. In most high performance computing systems, however, virtualization is still not implemented. The reason for avoiding virtualization in high performance computing is that there is still an overhead accessing the CPU and I/O devices. This overhead continually decreases and there are different kind of virtualization techniques like para-virtualization and container-based virtualization which minimize this overhead further. With the CPU being one of the primary resources in high performance computing, this work proposes to migrate processes instead of virtual machines thus avoiding any overhead. Process migration can either be seen as an extension to pre-emptive multitasking over system boundaries or as a special form of checkpointing and restarting. In the scope of this work process migration is based on checkpointing and restarting as it is already an established technique in the field of fault tolerance. From the existing checkpointing and restarting implementations, the best suited implementation for process migration purposes was selected. One of the important requirements of the checkpointing and restarting implementation is transparency. Providing transparent process migration is important enable the migration of any process without prerequisites like re-compilation or running in a specially prepared environment. With process migration based on checkpointing and restarting, the next step towards providing process migration in a high performance computing environment is to support the migration of parallel processes. Using MPI is a common method of parallelizing applications and therefore process migration has to be integrated with an MPI implementation. The previously selected checkpointing and restarting implementation was integrated in an MPI implementation, and thus enabling the migration of parallel processes. With the help of different test cases the implemented process migration was analyzed, especially in regards to the time required to migrated a process and the advantages of optimizations to reduce the process’ downtime during migration.Item Open Access Increased flexibility and dynamics in distributed applications and processes through resource decoupling(2014) Kipp, Alexander; Resch, Michael (Prof. Dr.-Ing.)Continuously increasing complexity of products and services requires more and more specialised expertise as well as relevant support by specialised IT tools and services. However, these services require expert knowledge as well, particularly in order to apply and use these services and tools in an efficient and optimal way. To this end, this thesis introduces a new virtualisation approach, allowing for both, the transparent integration of services in abstract process description languages, as well as the role based integration of human experts in this processes. The developed concept of this thesis has been realised by: - Enhancing the concept of web services with a service virtualisation layer, allowing for the transparent usage, adaptation and orchestration of services - Enhancing the developed concept towards a “Dynamic Session Management” environment, enabling the transparent and role-based integration of human experts following the SOA paradigm - Developing a collaboration schema, allowing for setting up and steering synchronous collaboration sessions between human experts. This enhancement also considers the respective user context and provides the best suitable IT based tooling support. The developed concept has been applied to scientific and economic application fields with a respective reference realisation.Item Open Access Hybrid parallel computing beyond MPI & OpenMP - introducing PGAS & StarSs(2011) Sethi, Muhammad WahajHigh-performance architectures are becoming more and more complex with the passage of time. These large scale, heterogeneous architectures and multi-core system are difficult to program. New programming models are required to make expression of parallelism easier, while keeping productivity of the developer higher. Partition Global Address-space (PGAS) languages such as UPC appeared to augment developer’s productivity for distributed memory systems. UPC provides a simpler, shared memory-like model with a user control over data layout. But it is developer’s responsibility to take care of the data locality, by using appropriate data layouts. SMPSs/StarSs programming model tries to simplify the parallel programming on multicore architectures. It offers task level parallelism, where dependencies among the tasks are determined at the run time. In addition, runtime take cares of the data locality, while scheduling tasks. Hence, providing two-folds improvement in productivity; first, saving developer’s time by using automatic dependency detection, instead of hard coding them. Second, save cache optimization time, as runtime take cares of data locality. The purpose of this thesis is to use the PGAS programming model e.g. UPC for different nodes with the shared memory task based parallelization model i.e. StarSs to take the advantage of the multi core systems and contrast this approach to the legacy MPI and OpenMP combination. Performance as well as programmability is considered in the evaluation. The combination UPC + SMPSs, results in approximately the same execution time as MPI and OpenMP. The current lack of features such as multi-dimensional data distribution or virtual topologies in UPC, make the hybrid UPC + SMPSs/StarSs programming model less programmable than MPI + OpenMP for the application studied in this thesis.Item Open Access Service level agreements for job submission and scheduling in high performance computing(2014) Kübert, Roland; Resch, Michael (Prof. Dr.-Ing.)This thesis introduces the concept of long-term service level agreements for the offering of quality of service in high performance computing. Feasiblity of the approach is demonstrated by a proof of concept implementation. A simulation tool developed in the scope of this thesis is subsequently used to investigate sensible parameters for quality of service classes in the high performance computing domain.Item Open Access Enhanced SLA management in the high performance computing domain(2011) Koller, Bastian; Resch, Michael (Prof. Dr.-Ing. Dr. h.c.)This thesis describes a Service Level Agreement Schema for the High Performance Computing domain and the according architecture to allow for SLA Management, which are both developed on base of three different use cases.Item Open Access MPI-semantic memory checking tools for parallel applications(2013) Fan, Shiqing; Resch, Michael (Prof. Dr.-Ing.)The Message Passing Interface (MPI) is a language-independent application interface that provides a standard for communication among the processes of programs running on parallel computers, clusters or heterogeneous networks. However, writing correct and portable MPI applications is difficult: inconsistent or incorrect use of parameters may occur; the subtle semantic differences of various MPI calls may be used inconsistently or incorrectly even by expert programmers. The MPI implementations typically implement only minimal sanity checks to achieve the highest possible performance. Although many interactive debuggers have been developed or extended to handle the concurrent processes of MPI applications, there are still numerous classes of bugs which are hard or even impossible to find with a conventional debugger. There are many cases of memory conflicts or errors, for example, overlapping access or segmentation fault, does not provide enough and useful information for programmer to solve the problem. That is even worse for MPI applications, due to the flexibility and high-frequency of using memory parallel in MPI standard, which makes it more difficult to observe the memory problems in the traditional way. Currently, there is no available debugger helpful especially for MPI semantic memory errors, i.e. detecting memory problem or potential errors according to the standard. For this specific c purpose, in this dissertation memory checking tools have been implemented. And the corresponding frameworks in Open MPI for parallel applications based on MPI semantics have been developed, using different existing memory debugging tool interfaces. Developers are able to detect hard to find bugs, such as memory violations, buffer overrun, inconsistent parameters and so on. This memory checking tool provides detailed comprehensible error messages that will be most helpful for MPI developers. Furthermore, the memory checking frameworks may also help improve the performance of MPI based parallel applications by detecting whether the communicated data is used or not. The new memory checking tools may also be used in other projects or debuggers to perform different memory checks. The memory checking tools do not only apply to MPI parallel applications, but may also be used in other kind of applications that require memory checking. The technology allows programmers to handle and implement their own memory checking functionalities in a flexible way, which means they may define what information they want to know about the memory and how the memory in the application should be checked and reported. The world of high performance computing is Linux-dominated and open source based. However Microsoft is becoming also a more important role in this domain, establishing its foothold with Windows HPC Server 2008 R2. In this work, the advantages and disadvantages of these two HPC operating systems will be discussed. To amend programmability and portability, we introduce a version of Open MPI for Windows with several newly developed key components. Correspondingly, an implementation of memory checking tool on Windows will also be introduced. This dissertation has five main chapters: after an introduction of state of the art, the development of the Open MPI for Windows platform is described, including the work of InfiniBand network support. Chapter four presents the methods explored and opportunities for error analysis of memory accesses. Moreover, it also describes the two implemented tools for this work based on the Intel PIN and the Valgrind tool, as well as their integration into the Open MPI library. In chapter five, the methods are based on several benchmarks (NetPIPE, IMB and NPB) and evaluated using real applications (heat conduction application, and the MD package Gromacs). It is shown that the instrumentation generated by the tool has no significant overhead (NetPIPE with 1.2% to 2.5% for the latency) and accordingly no impact on application benchmarks such as NPB or Gromacs. If the application is executed to analyze with the memory access tools, it extends naturally the execution time by up to 30x, and using the presented MemPin is only half the rate of dropdown. The methods prove successful in the sense that unnecessary data communicated can be found in the heat conduction application and in Gromacs, resulting in the first case, the communication time of the application is reduced by 12%.Item Open Access Numerische Methoden mittels eigentlicher Bewegung in der Geometrischen Algebra(2015) Seybold, Florian; Resch, Michael (Prof. Dr.-Ing. Dr. h.c. Dr. h.c.)In der Modellierung und Simulation von Maschinen, zum Beispiel für eine numerische Steuerung von Industrierobotern, ist ein wichtiger Aspekt die Parametrisierung von eigentlicher Bewegung, sowie deren effiziente Verknüpfung auf heutigen Prozessorarchitekturen. Ein vielversprechendes Werkzeug zur Parametrisierung von Bewegung scheint die Geometrische Algebra zu sein. Übliche Definitionen der Geometrischen Algebra basieren auf einem Axiomensystem für das Geometrische Produkt. Ohne Weiteres ist eine Herleitung von diesem Axiomensystem zu einer expliziten Definition des Produktes als Summe von Koordinatenmultiplikationen nur teilweise möglich. Übliche Implementierungen des Geometrischen Produktes basieren auf solchen teilweise expliziten Definitionen; sie beachten die Struktur des Geometrischen Produktes nicht vollständig. Im ersten Teil dieser Arbeit wird die Geometrische Algebra anhand einer neuartigen Konstruktion eingeführt, die das Geometrische Produkt vollständig explizit definiert. Es werden die Eigenschaften der Geometrischen Algebra diskutiert, mit dem Ziel, Bewegung in der Geometrischen Algebra parametrisieren und verknüpfen zu können. Im zweiten Teil wird aus der neuartigen Konstruktion der Geometrischen Algebra eine Vektorisierungsstragie entwickelt, die bei Verwendung bestimmter Koordinatenpermutationen auf heutigen SIMD-Prozessorarchitekturen implementiert werden kann. Ferner wird eine effiziente Möglichkeit der Vorzeichenauswertung von Basisvektorprodukten beschrieben. Der dritte Teil behandelt als Anwendungsbeispiel das Lösen der inversen Kinematik bei Industrierobotern. Es werden Vorteile bezüglich des Laufzeitverhaltens auf modernen SIMD-Prozessorarchitekturen bei der Verwendung der hier beschriebenen Vektorisierungsstrategie des Geometrischen Produktes gegenüber der Matrizenalgebra gezeigt.Item Open Access Vorauslegung umströmter Bauteile durch Anwendung lokaler Optimalitätskriterien(2014) Gottlieb, Andreas; Resch, Michael (Prof. Dr.-Ing. Dr. h.c. Dr. h.c.)Um bei der Produktentwicklung auf die immer höheren Anforderungen wie Effizienz- oder Kostenoptimierung reagieren zu können, stehen die Unternehmen vor der Herausforderung neue, leistungsfähige Komponenten zu entwickeln. Hierzu müssen in den verschiedenen Entwicklungsphasen, wie zum Beispiel Prinzip- und Konzeptphase, jeweils geeignete Entwicklungswerkzeuge zur Verfügung stehen. Die Topologieoptimierung von Bauteilen kann schon in sehr frühen Phasen des Entwicklungsprozesses eingesetzt werden und somit helfen, die Anzahl an Entwicklungsstufen zu reduzieren und gleichzeitig die Effizienz des Gesamtsystems erhöhen. Eine Möglichkeit hierzu sind schnelle Topologieoptimierungsverfahren zur Auslegung strömungsführender Bauteile, die auf dem Einsatz von lokalen Optimalitätskriterien basieren. Dabei handelt es sich um Verfahren, die auf empirischen Ansätzen über vor- und nachteilige Effekte von lokal auftretenden physikalischen Phänomenen aufbauen. Neben den lokalen Optimalitätskriterien werden auch analytische Verfahren angesprochen, die auf einer mathematischen Extremwertsuche bezüglich einer Zielfunktion beruhen. In einem Vergleich zwischen analytischen Verfahren und Optimalitätskriterien wird deutlich, dass diese unterschiedlichen Ansätze keinesfalls konkurrieren, sondern in Kombination zu einem hocheffizienten Entwicklungsprozess führen. Ausgangspunkt einer Vorauslegung mit Hilfe von lokalen Optimalitätskriterien ist der für ein gesuchtes strömungsführendes Design maximal verfügbare und mit entsprechenden Randbedingungen versehene Bauraum. Die Aufgabe besteht darin, diejenige Untermenge an Rechenzellen innerhalb des vernetzten, verfügbaren Bauraums zu finden, die eine im Hinblick auf das Optimierungsziel möglichst geeignete Form darstellt. Im Bereich der Strömungsmechanik wird bisher ein Ansatz als lokales Optimalitätskriterien verwendet, der auf Kenntnissen über die nachteiligen Auswirkungen von Rückströmungen, Wirbeln und "Totwasser"-Regionen auf den Druckabfall und andere relevante Strömungsgrössen beruht. Untersuchungen haben gezeigt, dass der Einsatz des aktuellen Verfahrens stark auf bestimmte Anwendungsfälle beschränkt ist, nämlich auf solche, die durch Totwassergebiete dominiert werden. Mit zunehmendem Einsatz der Topologieoptimierung im Entwicklungsprozess verstärken sich die Forderungen, die Methode auch bei weiteren Aufgabenstellungen einsetzen zu können. Ein wichtiger Anwendungsfall ist die Auslegung von umströmten Bauteilen, da der Widerstand einen sehr großen Einfluss auf die Gesamteffizienz von Produkten haben kann. Bei Untersuchungen zur Anwendbarkeit des aktuellen Verfahrens auf umströmte Körper zeigt sich, dass das Kriterium Rezirkulationszonen zu verhindern nicht ausreicht. Dies wird besonders deutlich bei Staupunkten, bei denen eine starke Verzögerung der Strömung erfolgt, aber keine Rückströmung auftritt. Deshalb werden zusätzliche lokale Optimalitätskriterien benötigt, mit deren Hilfe umströmte Bauteile bezüglich eines geringen Widerstandes (Druck- und Reibungswiderstand) ausgelegt werden können. Die Grundlage hierfür liefert ein Ansatz, mit dem Körper während der Simulationslaufzeit verändert werden können. Die Modellierung der Körper erfolgt dabei über ein externes Kraftfeld. Es wird deutlich, dass diese Modellierung mit einer gewissen Unschärfe einher geht, da zum Beispiel Grenzschichteffekte nicht erfasst werden können. Für die Vorauslegung, also die Generierung eines ersten Bauteilvorschlages mit guten Eigenschaften in kurzer Zeit, ist die Modellierung über ein Kraftfeld jedoch ausreichend. Der Hauptpunkt der Arbeit ist die Einführung von Optimalitätskriterien zur Vorauslegung umströmter Bauteile. Dabei wird davon ausgegangen, dass im Bereich des Nachlaufs bereits gute Lösungen mit Hilfe des Kriteriums zur Vermeidung von Rezirkulationszonen gefunden werden können. Der Fokus in dieser Arbeit liegt deshalb auf dem Gebiet, das vor einem umströmten Hindernis liegt und im Wesentlichen durch einen Staupunkt beeinflusst wird. Die Auslegungsaufgabe besteht hier darin, für einen umströmten Körper mit hinsichtlich des Strömungswiderstandes schlechten Eigenschaften, einen Vorkörper zu finden, mit dem der Strömungswiderstand deutlich verringert werden kann. Am geeignetsten erwies sich ein neuer, abrasiver Ansatz, bei dem ein Vorkörper an Stellen mit lokal auftretenden hohen Geschwindigkeitsgradienten verkleinert wird, bis ein automatisches, globales Verlustkriterium zum Abbruch führt. Die Anwendbarkeit der entwickelten Kriterien wird anhand von zwei praxisrelevanten Problemstellungen demonstriert. Dabei handelt es sich um die Vorauslegung einer strömungsgünstigen Verkleidung einer Kreisscheibe und einer aerodynamischen Haube für einen Modellhelikopter. Es zeigt sich, dass bei diesen Anwendungsfällen bereits gute Ergebnisse erzielt werden können.