Matches in SemOpenAlex for { <https://semopenalex.org/work/W1558335087> ?p ?o ?g. }
Showing items 1 to 72 of
72
with 100 items per page.
- W1558335087 abstract "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%. Das Message Passing Interface (MPI) ist eine standardisierte, programmiersprachenunabhangige Anwendungsschnittstelle zur Ausfuhrung von paralleler Software auf Hochstleistungsrechnern, wie z. B. Cluster- und Supercomputer. MPI-Implementierungen haben aus Grunden der Geschwindigkeit nur minimale Pruffunktionalitat, wie bspw. Prufung auf inkonsistente und inkorrekte Verwendung von Parametern. Zur korrekten und portablen Programmierung von MPI-Anwendungen bedarf es jedoch einer weitaus intensiveren Pruffunktionalitat zur Gewahrleistung der Korrektheit bei der Verwendung von MPI-Funktionen, sowie zur Entwicklung von komplexen wissenschaftlichen Softwareprojekten, welche Hochstleistung erzielen sollen.Trotz mehreren vorhandenen Losungen zur interaktiven Fehlersuche (Debugger) von MPI-parallelen Prozessen, gibt es zahlreiche Klassen von Fehlern, deren Identifizierung mit herkommlichen Debuggern schwierig oder gar unmoglich ist. Hierzu gehoren Speicherzugriffskonflikte und Fehler wie uberlappender Zugri , deren Resultat im guten Fall als so-genannter Segmentation Fault sichtbar wird, der Programmierer allerdings kaum nutzliche Informationen zur Ursache oder besser zur Behebung bekommt. Das Problem wird fur MPI-parallele Anwendungen aufgrund der Flexibilitat von MPI, sowie der parallelen Verarbeitung noch erheblich verschlimmert. Die traditionellen Analyseverfahren sind kaum anwendbar zum Auffinden dieser Fehler. Gegenwartig gibt es keine Debugger, die dem Programmierer bei der Erkennung und Behebung der Speicherprobleme in MPI-Codes behilflich sein konnen. Zu diesem Zweck wurde in dieser Dissertation eine Memory Checking Methode entwickelt und hierfur zwei Tools implementiert, sowie deren Einsatzzwecke erforscht. Dies ist durch ein spezialisiertes Framework realisiert, das mehrere nutzliche Debugging Technologien und Tools integriert und dem Benutzer zur Verfugung stellt. Das Framework wurde umgesetzt in Open MPI, eine der am meisten verbreitete Open-Source MPI-Implementierung. Anhand dem vorgeschlagenen Frameworks und Tools konnen Entwickler zahlreiche MPI Fehlertypen identifizieren und beheben, wie z. B. Speicher-Verletzungen, Pufferuberlauf, inkonsistente MPI-Parameter, welche sonst kaum nachweisbar waren. Daruber hinaus wird gezeigt, wie mit den Tools ein Beitrag zur Verbesserung der Kommunikationsleistung erzielt werden kann, indem kommunizierter, aber nicht fur die Berechnung verwendeter Speicher identifiziert wird.Die hier vorgestellten Tools zur Speicherzugriffskontrolle konnen sowohl fur MPI-parallele als auch fur andere Arten von Anwendungen verwendet, sowie in andere Debugger integriert werden. Die Technologie gibt dem Programmierer die Moglichkeit, die Art der Uberprufung selbst festzulegen, d. h. sie konnen definieren, welche Informationen sie uber den Speicher wissen wollen und wie der Speicher in der Anwendung uberpruft und das Ergebnis geliefert werden soll.Die Welt des Hochstleistungsrechnens ist dominiert von Linux-basierten Systemen. Dennoch spielt auch Microsoft eine wichtige Rolle seit der Einfuhrung von Windows HPC Server 2008 R2. Um Programmierbarkeit und Portabilitat fur bestehende Nutzer von Windows Systemen zu novellieren, fuhren wir eine Version von Open MPI fur Windows ein. Entsprechend stellt diese Arbeit ein fur Windows entwickeltes Tool zur Speicherzugriffskontrolle vor.Diese Dissertation besteht aus funf wesentlichen Kapiteln: nach einer Einfuhrung und dem Stand der Technik wird die Entwicklung der Komponenten von Open MPI fur die Windows-Plattform beschrieben, inklusive der Arbeiten fur das InfiniBand-Netzwerk. Kapitel vier stellt die hier erforschten Methoden und Moglichkeiten zur Fehleranalyse von Speicherzugriffen vor. Daruberhinaus werden die beiden fur diese Arbeit implementierten Tools basierend auf dem Intel Pin-, sowie dem Valgrind-Tool beschrieben, sowie deren Integration in die Open MPI-Bibliothek. In Kapitel funf werden die Methoden anhand mehrerer Benchmarks (NetPIPE, IMB, NPB) evaluiert und mittels echter Anwendungen (Warmeleitungsapplikation, sowie das MD Paket Gromacs) auf ihren Nutzen analysiert. Hierbei zeigt sich, das die Instrumentierung durch das Tool keinen nennenswerten Overhead generiert (NetPIPE mit 1,2% bis 2,5% bei der Latenz) und entsprechend keine grose Auswirkung auf Applikationsbenchmarks wie NPB oder Gromacs hat. Wird die Anwendung zur Analyse mit den Speicherzugriffstools ausgefuhrt, verlangert sich naturgemas die Ausfuhrungszeit um bis zu 30x, mittels dem hier vorgestellten MemPin ist der Einbruch nur halb so stark. Die Methoden erweisen sich erfolgreich, in dem Sinn, das in der Warmeleitungsapplikation sowie in Gromacs unnotig kommunizierte Daten gefunden werden, woraus sich im ersten Fall die Kommunikationszeit der Anwendung um 12% reduzieren lasst." @default.
- W1558335087 created "2016-06-24" @default.
- W1558335087 creator A5074656322 @default.
- W1558335087 date "2013-01-01" @default.
- W1558335087 modified "2023-09-27" @default.
- W1558335087 title "MPI-semantic memory checking tools for parallel applications" @default.
- W1558335087 cites W1553689535 @default.
- W1558335087 cites W1573589851 @default.
- W1558335087 cites W1587378023 @default.
- W1558335087 cites W1596936080 @default.
- W1558335087 cites W1813030236 @default.
- W1558335087 cites W1825216778 @default.
- W1558335087 cites W1902354325 @default.
- W1558335087 cites W1996247193 @default.
- W1558335087 cites W2004636989 @default.
- W1558335087 cites W2009570597 @default.
- W1558335087 cites W2009832491 @default.
- W1558335087 cites W2009885448 @default.
- W1558335087 cites W2016790197 @default.
- W1558335087 cites W2021592255 @default.
- W1558335087 cites W2047226031 @default.
- W1558335087 cites W2067092199 @default.
- W1558335087 cites W2077085174 @default.
- W1558335087 cites W2081186248 @default.
- W1558335087 cites W2106462763 @default.
- W1558335087 cites W2115567121 @default.
- W1558335087 cites W2116459264 @default.
- W1558335087 cites W2134633067 @default.
- W1558335087 cites W2135531618 @default.
- W1558335087 cites W2169631286 @default.
- W1558335087 cites W2170922286 @default.
- W1558335087 cites W2183177643 @default.
- W1558335087 cites W3087488422 @default.
- W1558335087 cites W3159585669 @default.
- W1558335087 cites W3203992401 @default.
- W1558335087 cites W37867413 @default.
- W1558335087 cites W1774418490 @default.
- W1558335087 cites W200984936 @default.
- W1558335087 doi "https://doi.org/10.18419/opus-6437" @default.
- W1558335087 hasPublicationYear "2013" @default.
- W1558335087 type Work @default.
- W1558335087 sameAs 1558335087 @default.
- W1558335087 citedByCount "0" @default.
- W1558335087 crossrefType "dissertation" @default.
- W1558335087 hasAuthorship W1558335087A5074656322 @default.
- W1558335087 hasConcept C118524514 @default.
- W1558335087 hasConcept C15744967 @default.
- W1558335087 hasConcept C169760540 @default.
- W1558335087 hasConcept C169900460 @default.
- W1558335087 hasConcept C173608175 @default.
- W1558335087 hasConcept C197914299 @default.
- W1558335087 hasConcept C199360897 @default.
- W1558335087 hasConcept C204321447 @default.
- W1558335087 hasConcept C23123220 @default.
- W1558335087 hasConcept C41008148 @default.
- W1558335087 hasConceptScore W1558335087C118524514 @default.
- W1558335087 hasConceptScore W1558335087C15744967 @default.
- W1558335087 hasConceptScore W1558335087C169760540 @default.
- W1558335087 hasConceptScore W1558335087C169900460 @default.
- W1558335087 hasConceptScore W1558335087C173608175 @default.
- W1558335087 hasConceptScore W1558335087C197914299 @default.
- W1558335087 hasConceptScore W1558335087C199360897 @default.
- W1558335087 hasConceptScore W1558335087C204321447 @default.
- W1558335087 hasConceptScore W1558335087C23123220 @default.
- W1558335087 hasConceptScore W1558335087C41008148 @default.
- W1558335087 hasLocation W15583350871 @default.
- W1558335087 hasOpenAccess W1558335087 @default.
- W1558335087 hasPrimaryLocation W15583350871 @default.
- W1558335087 isParatext "false" @default.
- W1558335087 isRetracted "false" @default.
- W1558335087 magId "1558335087" @default.
- W1558335087 workType "dissertation" @default.