Extraction of abstract models of communications from message-passing applications
Loading...
Files
Downloads
12
Date issued
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoká škola báňská - Technická univerzita Ostrava
Location
ÚK/Sklad diplomových prací
Signature
202200017
Abstract
The thesis focuses on analysis of communication within distributed applications. More precisely, the thesis presents an idea of extracting an abstract model of communication from applications using Message Passing Interface (MPI). The goal is to provide a different view on the communication, a view that emphasizes its spatial character which is rather hidden in sequential (textual) form of written code. All this is done in a fully automatic way without the need of any modification in the analyzed code.
There are tools and methods that can help developers to get a better insight into the communication done during the run of distributed program. Nevertheless, these are mostly based on dynamic approaches, i. e., probe an application, measure data during its run, and provide analyses and/or visualizations of them. An idea of using a kind of an abstract model to describe communication within MPI applications comes from the author’s previous work on the project Kaira (https://github.com/spirali/kaira). It uses a form of visual language to specify the structure of communication within a developed application. In this thesis a similar approach is used but turned upside down. Instead of specifying the structure of communication visually, and generate MPI code from it, an abstract model of communication is extracted from the code of an MPI application. To the author’s best knowledge, there is no other tool that would statically analyze code of MPI
applications and visualize the communication in a similar way. There are static analyzers that generate kinds of graphs based on applications’ codes, but these focus on different aspects of programs that are not necessarily parallel or distributed.
One of the main contributions of this work is a formally defined abstract model of communication called MP net. The model is strongly inspired by high-level Petri nets, particularly Coloured Petri net (CPN). The main
idea is to use MP net as a comprehensible way of presenting the actual structure of communication within MPI applications. The aim is to provide users with the kind of feedback that can help them to quickly check whether or not the actual communication within their application corresponds to the intended one. As the errors in communication can be fairly difficult to identify, viewing the communication from a different perspective can be very useful. The second contribution is a tool that implements the presented ideas.
The tool is called Morpheus and it is available at https://github.com/msurkovsky/morpheus. The practical usage of the tool is demonstrated on several case studies.
Description
Subject(s)
Distributed systems, MP nets, Abstract model of communication, Message Passing Interface, MPI, Static code analysis, Morpheus