Zobrazit minimální záznam

dc.contributor.advisorJančar, Petr
dc.contributor.authorMeca, Ondřej
dc.date.accessioned2019-06-26T05:00:10Z
dc.date.available2019-06-26T05:00:10Z
dc.date.issued2018
dc.identifier.otherOSD002
dc.identifier.urihttp://hdl.handle.net/10084/137504
dc.description.abstractThis thesis focuses on verification of parallel applications. In particular, applications written in MPI (Message Passing Interface). The text is divided into two parts. The first part describes an implementation of state space verification into the publicly available tool Kaira developed at the Faculty of Electrical Engineering and Computer Science at the Technical University of Ostrava. Kaira is a development environment with various tools for creating parallel applications for distributed memory environments (with the usage of MPI). The implemented verification algorithm is based on standard partial order reduction methods with a particular improvement to handle Kaira specific needs. Specifically, the improvement optimizes verification of systems with transition priorities that are integral to Kaira. The first part of the thesis also contains a description of the parallelization of the verification algorithm. The parallelization is based on a new approach that is tailored to common applications developed in Kaira -- applications usually make computation over given data that can be large. Data are a part of states, hence we should avoid their exchanging among processes. The proposed algorithm reduces it by trying to exchange only the states hashes (states are exchanged only in unnecessary cases in order to achieve good load balancing). The effectiveness of the implemented verification method including scaling of the parallel algorithm is demonstrated on benchmarks utilizing up to 512 processes. The second part of the thesis describes verification of MPI applications. In particular, an algorithm deals with a non-deterministic behavior that is permitted by the MPI standard. It is allowed to implement some data exchanging functions according to two communication modes -- \emph{eager} or \emph{rendezvous}. It is up to MPI which mode is chosen and the user cannot test it. A correctly written application has to count with the both options since a synchronization in the rendezvous mode can cause a deadlock. The second part of this thesis describes an algorithm that allows verification of an application only with regards to the eager mode, and detects deadlocks introduced by a synchronization that may be missed.en
dc.description.abstractTato dizertační práce se zaměřuje na verifikaci paralelních aplikací. Konkrétně aplikací implementovaných pomocí MPI (rozhraní pro posílání zpráv mezi procesy). Text je rozdělen na dvě části. První část se zaměřuje na implementaci verifikace stavového prostoru do veřejně dostupného nástroje Kaira, který je vyvíjen na fakultě elektotechniky a informatiky na Vysoké škole báňské v Ostravě. Kaira představuje vývojové prostředí s několika nástroji pro snadné vytváření paralelních aplikací pro systémy s distribuovanou pamětí (s využitím MPI). Verifikace implementovaná do Kairy je založena na principech standardních redukčních metod založených na částečném uspořádání. Implementace byla přizpůsobená prostředí Kairy a vylepšena pro účely redukce systémů obsahujících přechody s prioritami, které jsou součástí Kairy. První část se také zabývá paralelizací verifikačního algoritmu, která je navržena tak, aby vyhovovala aplikacím vytvářeným v Kaiře. Aplikace většinou provádějí výpočet nad velkými daty. Jelikož tyto data jsou součástí jednotlivých stavů, měli bychom se vyvarovat jejich přeposílání mezi procesy. Navržený algoritmus se vyhýbá jejich přeposílání, přeposíláním pouze hashů (stavy jsou přeposílány pouze v nutných případech pro dosažení rovnoměrného rozložení stavů mezi procesy). Efektivita tohoto přístupu byla testována na příkladech s využitím až 512 procesů. Druhá část této dizertační práce se věnuje verifikaci přímo MPI aplikací. Konkrétně nedeterministického chování, které tento standart dovoluje. Některé funkce, které posílají data mezi procesy, mohou být implementovány dvěmi způsoby -- s pomocí dočasné paměti nebo bez. Při použití dočasné paměti může proces, který posílá data ihned pokračovat ve výpočtu. Pokud dočasnou paměť nepoužijeme, proces musí synchronizovat s procesem, který data přijímá. MPI implementace se může libovolně rozhodovat, zda dočasnou paměť použije či nikoliv. Proto každá korektně napsaná aplikace musí počítat s oběmi variantami, jinak může dojík k jejímu uváznutí. Druhá část popisuje algoritmus, který dovolí verifikovat aplikaci tak, že všechny operace se provádí s použitím dočasné paměti. Pokud taková aplikace je bez chyby, algoritmus lze použít pro nalezení těch chyb, které mohla způsobit případná synchronizace.cs
dc.format110 stran : ilustrace
dc.format.extent1535878 bytes
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.publisherVysoká škola báňská - Technická univerzita Ostravacs
dc.subjectverificationen
dc.subjectstate space reductionen
dc.subjectMPIen
dc.subjectparallel verificationen
dc.subjectnon-deterministic synchronization of MPIen
dc.subjectverifikacecs
dc.subjectredukce stavového prostorucs
dc.subjectMPIcs
dc.subjectparallelní verifikacecs
dc.subjectnedeterministická synchronizace MPIcs
dc.titleVerification of Parallel Applicationsen
dc.title.alternativeVerifikace paralelních aplikacícs
dc.typeDisertační prácecs
dc.identifier.signature201900125
dc.identifier.locationÚK/Sklad diplomových prací
dc.contributor.refereeStrejček, Jan
dc.contributor.refereeJakl, Ondřej
dc.contributor.refereeRogalewicz, Adam
dc.date.accepted2019-01-10
dc.thesis.degree-namePh.D.
dc.thesis.degree-levelDoktorský studijní programcs
dc.thesis.degree-grantorVysoká škola báňská - Technická univerzita Ostrava. Fakulta elektrotechniky a informatikycs
dc.description.department460 - Katedra informatikycs
dc.thesis.degree-programInformatika, komunikační technologie a aplikovaná matematikacs
dc.thesis.degree-branchInformatikacs
dc.description.resultvyhovělcs
dc.identifier.senderS2724
dc.identifier.thesisMEC059_FEI_P1807_1801V001_2018
dc.rights.accessopenAccess


Soubory tohoto záznamu

Tento záznam se objevuje v následujících kolekcích

Zobrazit minimální záznam