Attention! L'offre d'emploi ci-dessous n'est plus valable.
Vérification de protocoles de cohérence de caches pour les calculateurs à haute performance
Ce sujet de thèse CIFRE est proposé conjointement par la société Bull (1er fournisseur global en systèmes d'information d'origine européenne)
et l'équipe VASY de l'INRIA (Institut National de Recherche en Informatique).
Il prend place au sein du projet Multival du pôle de compétitivité Minalogic. Institués en 2005 par le gouvernement, les pôles de compétitivité ont pour objectif une politique industrielle de grande envergure. Ils se concrétisent par le lancement d'ambitieux projets de recherche et développement, qui mettent en oeuvre des collaborations entre centres de recherche et entreprises reconnus mondialement dans leurs domaines d'excellence respectifs.
Objectifs de la thèse
Bull conçoit, fabrique et commercialise des ordinateurs destinés au calcul scientifique à haute performance (HPC: High-Performance Computing), dont les futures générations intègreront plusieurs centaines de milliers de nœuds de calcul fonctionnant en parallèle.
Chaque nœud est lui-même un serveur multiprocesseur à mémoire partagée et répartie sur les processeurs, qui sont équipés chacun d'un cache mémoire.
Un des défis de Bull est de concevoir des protocoles de gestion des caches utilisables à une telle échelle.
Pour réduire les coûts et les temps de mise sur le marché, Bull souhaite disposer de méthodes lui permettant de garantir la cohérence de caches, caractérisée par un ensemble de bonnes propriétés telles que l'impossibilité de lire dans un cache une donnée qui n'est pas à jour.
L'objectif de la thèse est de proposer des solutions au problème de cohérence de caches, qui soient basées sur des outils logiciels fondés sur des méthodes formelles.
Le candidat disposera de l'expertise des membres de l'équipe-projet VASY de l'INRIA, dont l'activité principale est la conception et le développement de la boîte à outils logiciels CADP, par ailleurs déjà utilisée par Bull [GVZ01].
Travail proposé et résultats attendus
Dans un premier temps, le candidat devra mener une étude approfondie de l'existant en matière de techniques et outils de vérification, en particulier leur utilisation pour valider des protocoles de cohérence de caches ou des problèmes voisins.
Cette étude devra déboucher sur une synthèse critique, centrée principalement sur des aspects pratiques, notamment : simplicité de modélisation, adéquation entre pouvoir expressif et besoins spécifiques des protocoles utilisés par Bull, passage à l'échelle, contraintes d'utilisation, types de propriétés vérifiables, disponibilité et robustesse des outils logiciels, etc.
Sur la base de cette synthèse, la suite de la thèse consistera à modéliser et à vérifier les protocoles de Bull, en utilisant des méthodes et des outils existants, tels que des model-checkers (CADP [GLMS07], Murphi [DDHY92], ...) et/ou des assistants de preuve (PVS [OSR92], Coq [BC04], ...), voire en les combinant.
L'utilisation de model-checkers nécessitera des techniques (abstraction, approches compositionnelles, utilisation de grappes ou de grilles d'ordinateurs, ...) permettant de repousser le problème de l'explosion combinatoire des états, qui se pose lorsque le nombre d'états du modèle du protocole dépasse les capacités mémoire des ordinateurs disponibles.
Durant cette phase, le candidat travaillera en communication directe avec l'équipe d'architecture de Bull, à qui il fera un rapport détaillé des erreurs identifiées dans les protocoles.
Enfin, le candidat tentera de dégager de cette étude une méthodologie complète, utilisable par Bull pour valider les futures version de ses protocoles de cohérence de cache.
Lieu de travail
La thèse sera co-encadrée par Bull et l'INRIA.
Elle se déroulera principalement sur le site de Bull aux Clayes-sous-Bois (Yvelines), avec des déplacements réguliers à Grenoble.
Rémunération
Le montant de la rémunération est d'environ 29000 EUR brut annuel.
Les frais de transport engendrés par les déplacements à Grenoble seront pris en charge.
Compétences
- Connaissance des méthodes formelles (model-checking, démonstration, etc.)
- Programmation
- Bonne maîtrise du français et de l'anglais
Profil
- Formation: Master 2 Recherche en informatique ou en mathématiques appliquées
- Expérience : Stage de master en méthodes formelles
- Qualités personnelles: Bonne capacité d'assimilation et de synthèse, rigueur, méthodologie, autonomie, esprit d'équipe, intérêt pour travailler en milieu industriel
Contacts / Dates
L'objectif est que cette thèse puisse démarrer en novembre ou décembre 2009.
Les candidatures peuvent être déposées par le biais du formulaire
http://vasy.inria.fr/jobs/candidature
ou adressées directement à Ghassan Chehaibar et Frédéric Lang
comme indiqué ci-dessous, en indiquant la référence #2009F.
Toutes questions concernant cette thèse CIFRE doivent être adressées aux deux personnes suivantes:
M. Ghassan Chehaibar
Platforms Hardware R&D
Bull
Rue Jean Jaurès
78340 Les Clayes Sous Bois
E-mail : Ghassan.Chehaibar@bull.net
et
Bibliographie
-
[BC04] Y. Bertot, P. Castéran.
Interactive Theorem Proving and Program Development (Coq'Art: The Calculus of Inductive Constructions).
Texts in Theoretical Computer Science, EATCS, 2004.
-
[BGMN00] L. A. Barroso, K. Gharachorloo, R. McNamara, A. Nowatzyk, S. Qadeer, B. Sano, S. Smith, R. Stets, B. Verghese.
Piranha: a scalable architecture based on single-chip multiprocessing.
In Proceedings of the 27th Annual international Symposium on Computer
Architecture ISCA'00 (Vancouver, British Columbia, Canada).
ACM, New York, NY, pp. 282-293.
-
[C04] G. Chehaibar. Integrating Formal Verification with Murphi of Distributed Cache Coherence Protocols in FAME Multiprocessor System Design.
In Proceedings of FORTE'04 (Madrid, Spain), September 27-30, 2004.
LNCS vol. 3235, Springer-Verlag, pp243-258.
-
[DDHY92] D. L. Dill, A. J. Drexler, A. J. Hu, C. Han Yang.
Protocol Verification as a Hardware Design Aid.
In Proceedings of the 1992 IEEE International Conference on Computer Design: VLSI in Computers and Processors, IEEE Computer Society, 1992.
-
[EK03] E. A. Emerson, V. Kahlon.
Exact and Efficient Verification of Parameterized Cache Coherence Protocols.
In Proceedings of CHARME 2003, LNCS vol. 2860, pp247-262.
-
[FG98] K. Fisler, C. Girault.
Modelling and Model Checking a Distributed Shared Memory Consistency Protocol.
In Proceedings of the 18th International Conference on Applications and Theory of Petri Nets, LNCS vol. 1420, Springer Verlag, pp 84-103, 1998.
-
[G99] S. Graf.
Characterization of a sequentially consistent memory and verification of a cache memory by abstraction.
Distributed Computing 12, 2-3, pp. 75-90, Jun. 1999.
-
[GLMS07] H. Garavel, F.Lang, R. Mateescu, W. Serwe.
CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes.
In Proceedings of the 19th International Conference on Computer Aided Verification CAV 2007, July 2007.
-
[GVZ01] H. Garavel, C. Viho, and M. Zendri.
System Design of a CC-NUMA Multiprocessor Architecture using Formal Specification, Model-Checking, Co-Simulation, and Test Generation.
Springer International Journal on Software Tools for Technology Transfer (STTT), volume 3, number 3, July 2001.
-
[HHG99] J. Hennessy, M. Heinrich, A. Gupta.
Cache-Coherent Distributed Shared Memory: Perspectives on its Development and Future Challenges.
In Proceedings of the IEEE, Special issue on Distributed Shared Memory, 87(3), pp. 418-429, 1999.
-
[JLMTTY03] R. Joshi, L. Lamport, J. Matthews, S. Tasiran, M. Tuttle, Y. Yu.
Checking Cache-Coherence Protocols with TLA+.
Formal Methods in Systems Design, vol. 22, number 2, March 2003.
-
[MS91] K. L. McMillan, J. Schwalbe.
Formal Verification of the Gigamax Cache Consistency Protocol.
In Proceedings of ISSM International Conference on Parallel and Distributed Computing, 1991.
-
[OSR92] S. Owre, N. Shankar, J. Rushby.
PVS: A Prototype Verification System.
In Proceedings of CADE 11 (Saratoga Springs, NY), June 1992.
-
[PD97] F.Pong, M.Dubois.
Verification Techniques for Cache Coherence Protocols.
ACM Computing Surveys, vol. 29, number 1, pp. 82-126, 1997.
-
[PRZ01] A. Pnueli, S. Ruah, and L. Zuck.
Automatic deductive verification with invisible invariants.
In Proceedings of Tools and Algorithms for the Analysis and Construction of Systems (Genova, Italy), LNCS vol. 2031, pp. 82-97, April 2001.
-
[SPCH02] D. J. Sorin, M. Plakal, A. E. Condon, M. D. Hill, M. M. Martin, D. A. Wood.
Specifying and Verifying a Broadcast and a Multicast Snooping Cache Coherence Protocol.
IEEE Transactions on Parallel and Distributed Systems, vol. 13, number 6, pp. 556-578, June 2002.