Parallel model checking for multiprocessor architecture / Rodrigo Tacla Saad ; sous la direction de Bernard Berthomieu et de Silvano Dal Zilio

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : anglais / English

Méthodes formelles (informatique)

Algorithmes parallèles

Calcul intensif (informatique)

Théorie des graphes

Petri, Réseaux de

Berthomieu, Bernard (Directeur de thèse / thesis advisor)

Dal Zilio, Silvano (19..-....) (Directeur de thèse / thesis advisor)

Institut national des sciences appliquées (Toulouse ; 1961-....) (Organisme de soutenance / degree-grantor)

École doctorale Mathématiques, informatique et télécommunications (Toulouse) (Ecole doctorale associée à la thèse / doctoral school)

Laboratoire d'Analyse et d'Architecture des Systèmes (Toulouse ; 1968-....) (Laboratoire associé à la thèse / thesis associated laboratory)

Résumé / Abstract : Nous proposons de nouveaux algorithmes et de nouvelles structures de données pour la vérification formelle de systèmes réactifs finis sur architectures parallèles. Ces travaux se basent sur les techniques de vérification model checking. Notre approche cible des architectures multi-processeurs et multi-cœurs, avec mémoire partagée, qui correspondent aux générations de serveurs les plus performants disponibles actuellement.Dans ce contexte, notre objectif principal est de proposer des approches qui soient à la fois efficaces au niveau des performances, mais aussi compatibles avec les politiques de partage dynamique du travail utilisées par les algorithmes de génération d’espaces d'états en parallèle; ainsi, nous ne plaçons pas de contraintes sur la manière dont le travail ou les données sont partagés entre les processeurs.Parallèlement à la définition de nouveaux algorithmes de model checking pour machines multi-cœurs, nous nous intéressons également aux algorithmes de vérification probabiliste. Par probabiliste, nous entendons des algorithmes de model checking qui ont une forte probabilité de visiter tous les états durant la vérification d’un système. La vérification probabiliste permet des gains importants au niveau de la mémoire utilisée, en échange d’une faible probabilité de ne pas être exhaustif; il s’agit donc d’une stratégie permettant de répondre au problème de l’explosion combinatoire

Résumé / Abstract : In this thesis, we propose and study new algorithms and data structures for model checking finite-state, concurrent systems. We focus on techniques that target shared memory, multi-cores architectures, that are a current trend in computer architectures.In this context, we present new algorithms and data structures for exhaustive parallel model checking that are as efficient as possible, but also ``friendly'' with respect to the work-sharing policies that are used for the state space generation (e.g. a work-stealing strategy): at no point do we impose a restriction on the way work is shared among the processors. This includes both the construction of the state space as the detection of cycles in parallel, which is is one of the key points of performance for the evaluation of more complex formulas.Alongside the definition of enumerative, model checking algorithms for many-cores architectures, we also study probabilistic verification algorithms. By the term probabilistic, we mean that, during the exploration of a system, any given reachable state has a high probability of being checked by the algorithm. Probabilistic verification trades savings at the level of memory usage for the probability of missing some states. Consequently, it becomes possible to analyze part of the state space of a system when there is not enough memory available to represent the entire state space in an exact manner