Aspects parallèles des problèmes de satisfaisabilité

par Pascal Vander-Swalmen

Thèse de doctorat en Informatique

Sous la direction de Michaël Krajecki.

Soutenue en 2009

à Reims .


  • Résumé

    Malgré sa complexité de résolution, le problème de satisfaisabilité est une excellente et compétitive approche pour résoudre un large éventail de problèmes. Cela génère une forte demande pour une résolution de sat haute performance de la part des industriels. Au fil du temps, de nombreuses approches et optimisations différentes ont été développées pour résoudre le problème plus efficacement. Ces innovations ont été faites sans prendre en compte le développement des micro processeurs actuels qui voient le nombre de leur coeurs de calcul augmenter. Cette thèse présente un nouveau type d’algorithme parallèle basé sur une forte collaboration où un processus riche est en charge de l’évaluation de l’arbre de recherche et où des processus pauvres fournissent des informations partielles ou globales, heuristiques ou logiques afin de simplifier la tâche du riche. Pour concrétiser ce solveur et le rendre efficace, nous avons étendu la notion de chemin de guidage à celle d’arbre de guidage. L’arbre de recherche est totalement partagé en mémoire centrale et tous les processeurs peuvent y travailler en même temps. Ce nouveau solveur est appelé mtss pour Multi-Threaded sat Solver. De plus, nous avons implémenté une tâche pour les processus riche et pauvres qui leur permet d’exécuter un solveur sat externe, et cela, avec ou sans échange de lemmes afin de paralléliser tous types de solveurs (dédiés aux formules industrielles ou aléatoires). Ce nouvel environnement facilite la parallélisation des futures implémentations pour sat. Quelques exemples et expérimentations, avec ou sans échange de lemmes, de parallélisation de solveurs externes sont présentées, mais aussi des résultats sur les performances de mtss. Il est intéressant de noter que certaines accélérations sont super linéaires.

  • Titre traduit

    Parallel aspects of the satisfiabilité problem


  • Résumé

    In spite of its computational complexity, the satisfiability problem is a great and competitive approach to solve a wide range of problems. This leads to have a strong demand for high-performance sat-solving tools in industry. Over the years, many different approaches and optimizations have been developed to tackle the problem more efficiently while being unaware of the actual trend in processor development which is from single-core to multi-core CPUs. This thesis presents a new kind of parallel algorithm with a strong collaborative approach where a rich thread is in charge of the search-tree evaluation and where a set of poor threads yield partial or global, logical or heuristics information to simplify the rich task. To become this solver real and efficient, we extended the guiding path notion to the guiding tree notion. The entire search-tree is shared in the main memory and each processor can work on it at the same time. This new solver is named mtss for Multi-Threaded sat Solver. In addition, we implemented a task for rich and poor threads which can execute an external sat solver with or without lemma exchange policy. This permits to parallelize all kind of solvers (dedicated to industrial or random formulas). This new framework facilitates the future parallel sat solving implementation approaches. Some examples and experimentations with and without lemma exchange strategies parallelizing external solvers are presented, as well as some benchmarks on mtss itself. Sometimes, speedups are super linear.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (146 p).
  • Annexes : Bibliogr. p. 131-138

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université de Reims Champagne-Ardenne. Bibliothèque universitaire. Bibliothèque Moulin de la Housse.
  • Disponible pour le PEB
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.