dc.contributor.advisor | Jančar, Petr | |
dc.contributor.author | Šurkovský, Martin | |
dc.date.accessioned | 2020-07-21T06:11:23Z | |
dc.date.available | 2020-07-21T06:11:23Z | |
dc.date.issued | 2019 | |
dc.identifier.other | OSD002 | |
dc.identifier.uri | http://hdl.handle.net/10084/141718 | |
dc.description.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. | en |
dc.description.abstract | Tato disertační práce se zabývá analýzou komunikace vyskytující se v aplikacích používaných v rámci distribuovaných systémů. Přesněji tato práce představuje myšlenku extrakce abstraktního modelu komunikace z aplikací napsaných s použitím Message Passing Interface (MPI). Cílem je poskytnout jiný pohled na tento druh komunikace, pohled který zvýrazní prostorový charakter komunikace. Ten je v případě lineárního (textového) zápisu kódu spíše potlačen. Celý proces je navržen jako plně automatický bez nutnosti modifikace analyzovaného kódu.
Samozřejmě existují nástroje a metody které mohou pomoci vývojářům získat lepší vhled do komunikace, ke které dochází během běhu distribuovaného programu. Nicméně, tyto přístupy jsou vesměs založeny na dynamické analýze běhu aplikace, tzn. že do aplikace je přidán speciální kód, který sbírá určité informace během běhu programu a následně takto získaná data analyzuje a případně vizualizuje. Myšlenka použít určitý druhu abstraktního modelu pro popis komunikace vyskytující se v MPI aplikacích pochází z doby, kdy se autor podílel na vývoji nástroje Kaira (https://github.com/spirali/kaira). Ta používá speciálně navržený vizuální jazyk pro popis struktury komunikace v rámci vyvíjené aplikace. V této disertační práci je použit podobný přístup, avšak “převrácen vzhůru nohama”. Namísto použití vizuálního jazyka pro popis komunikace, z kterého je posléze vygenerován MPI kód, obdobný abstraktní model je extrahován přímo z kódu existující MPI aplikace. Podle nejlepších znalostí autora neexistuje nástroj, který by dělal podobnou statickou analýzu kódu MPI aplikací a
zobrazil komunikaci podobným způsobem. Samozřejmě, že existují nástroje, které na základě statické analýzy kódu generují různé druhy grafů. Nicméně tyto nástroje se zaměřují na jiné aspekty analyzovaných programů, ne nutně paralelních ani distribuovaných.
Jeden z hlavních příspěvků této práce je formálně definovaný abstraktní model komunikace, pojmenovaný MP sít’. Tento model je silně ovlivněn vysoko úrovňovými Petriho sítěmi, zejména pak barevnými Petriho sítěmi.
Ústřední myšlenkou této práce je použití MP sítí jako relativně snadno pochopitelného způsobu vizualizace struktury komunikace popsané v MPI aplikacích. Cílem je nabídnout uživatelům formu zpětné vazby, která jim
může pomoci rychle ověřit, zda struktura komunikace aktuálně zapsána v rámci jejich aplikace odpovídá té, kterou zamýšlí. Vzhledem k tomu, že chyby v komunikaci jsou ty, které se nejhůře hledají, tak pohled na komunikaci z jiného úhlu pohledu může být velice užitečný. Druhým příspěvkem této práce je nástroj, v rámci něhož jsou implementovány prezentované myšlenky. Tento nástroj se jmenuje Morpheus a je zpřístupněn na GitHubu (https://github.com/msurkovsky/morpheus). Praktické použití tohoto nástroje je demonstrováno na několika příkladech. | cs |
dc.format | 89 stran : ilustrace + 1 CD-R | |
dc.format.extent | 4091932 bytes | |
dc.format.mimetype | application/pdf | |
dc.language.iso | en | |
dc.publisher | Vysoká škola báňská - Technická univerzita Ostrava | cs |
dc.subject | Distributed systems | en |
dc.subject | MP nets | en |
dc.subject | Abstract model of communication | en |
dc.subject | Message Passing Interface | en |
dc.subject | MPI | en |
dc.subject | Static code analysis | en |
dc.subject | Morpheus | en |
dc.subject | Distribuované systémy | cs |
dc.subject | MP sítě | cs |
dc.subject | Abstraktní model komunikace | cs |
dc.subject | Message Passing Interface | cs |
dc.subject | MPI Statická analýza kódu | cs |
dc.subject | Morpheus | cs |
dc.title | Extraction of abstract models of communications from message-passing applications | en |
dc.title.alternative | Extrakce abstraktních modelů komunikace z message-passing aplikací | cs |
dc.type | Disertační práce | cs |
dc.identifier.signature | 202200017 | |
dc.identifier.location | ÚK/Sklad diplomových prací | |
dc.contributor.referee | Rogalewicz, Adam | |
dc.contributor.referee | Řehák, Vojtěch | |
dc.contributor.referee | Sawa, Zdeněk | |
dc.date.accepted | 2020-01-21 | |
dc.thesis.degree-name | Ph.D. | |
dc.thesis.degree-level | Doktorský studijní program | cs |
dc.thesis.degree-grantor | Vysoká škola báňská - Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky | cs |
dc.description.department | 460 - Katedra informatiky | cs |
dc.thesis.degree-program | Informatika, komunikační technologie a aplikovaná matematika | cs |
dc.thesis.degree-branch | Informatika | cs |
dc.description.result | vyhověl | cs |
dc.identifier.sender | S2724 | |
dc.identifier.thesis | SUR096_FEI_P1807_1801V001_2019 | |
dc.rights.access | openAccess | |