Programmer des applications réparties



Documents pareils
Conception des systèmes répartis

Métriques de performance pour les algorithmes et programmes parallèles

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Analyse,, Conception des Systèmes Informatiques

Curriculum Vitae 1 er février 2008

Sujet de thèse CIFRE RESULIS / LGI2P

Travail collaboratif. Glossaire

Elasticité logicielle pour optimiser l empreinte énergétique

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

Cours 1 : La compilation

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Maîtrise énergétique des centres de données

Introduction aux systèmes temps réel. Iulian Ober IRIT

Une approche dirigée par les modèles pour la génération de tests pour des systèmes de traitement de données complexes et réparties.

Évaluation et implémentation des langages

4.2 Unités d enseignement du M1

INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING

IFT2255 : Génie logiciel

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

CURRICULUM VITAE. Informations Personnelles

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Architecture distribuée

Introduction au génie logiciel

Modèle multi-agents de prise de décision éthique

ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Master Informatique Aix-Marseille Université

Cours n 12. Technologies WAN 2nd partie

Vérification formelle de la plate-forme Java Card

Principe de la messagerie électronique

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

Patrons de Conception (Design Patterns)

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Machines virtuelles Cours 1 : Introduction

Gé nié Logiciél Livré Blanc

Évaluation des logiciels et autres réalisations

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Semestre HPC. Violaine Louvet. Institut Camille Jordan - CNRS louvet@math.univ-lyon1.fr. Labex MILyon, Printemps 2016

Faites grandir votre carrière!

Garantir une meilleure prestation de services et une expérience utilisateur optimale

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Algorithmique répartie

GL Le Génie Logiciel

SUPPLEMENT AU DIPLOME

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

MASTER ECONOMIE APPLIQUEE

Le cloud,c est quoi au juste?

Comment promouvoir le Cloud dans l'entreprise?

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

Processus d Informatisation

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

STATISTIQUES A DEUX VARIABLES

Systèmes et algorithmes répartis

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

GL Processus de développement Cycles de vie

SMU MEDITERRANEAN. SOUTH MEDITERRANEAN UNIVERSITY Première Université Anglophone en Tunisie (Depuis 2002)

Application de la méthode QFD comme outil d'extraction des connaissances métier en conception intégrée

Option GSI Génie et Systèmes Informatiques

Cours Master 2, 2011

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Business Process Execution Language

Change the game with smart innovation

Cours Bases de données

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Curriculum Vitae. Informations générales

Conseils, inscription et accompagnement pour vos études en Australie

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Laboratoire 4 Développement d un système intelligent

Filière métier : Administrateur messagerie et portail collaboratif

Les Architectures Orientées Services (SOA)

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

CEG4566/CSI4541 Conception de systèmes temps réel

VIII- Circuits séquentiels. Mémoires

Les diagrammes de modélisation

NFP111 Systèmes et Applications Réparties

Efficacité énergétique des réseaux de cœur et d accès

Guide du/de la candidat/e pour l élaboration du dossier ciblé

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Rapport d activité. Mathieu Souchaud Juin 2007

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Pour chaque projet est indiqué son titre, le ou les laboratoires participants ainsi que le coordinateur

Messagerie asynchrone et Services Web

Mon métier, mon parcours

_Mathan, thomas & laura, étudiants esiea DE NOUVEAUX VISAGES POUR LE NUMÉRIQUE. Cycle ingénieur Campus de Paris & Laval

La vie privée à l ère du numérique : approches philosophiques et informatiques

Modélisation aléatoire en fiabilité des logiciels

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Jeudi 19 Juin 2014 Novotel Paris Bercy

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Transcription:

LABORATOIRE D INFORMATIQUE DE NANTES-ATLANTIQUE UMR 6241 ÉCOLE DOCTORALE STIM, N. 503 «Sciences et technologies de l information et des mathématiques» Sujet de thèse pour 2013 Programmer des applications réparties Vers une approche modulaire et efficace de la causalité Directeur de thèse NOM, Prénom : MOSTEFAOUI, Achour Équipe d accueil : GDD Unité de recherche : LINA (UMR 6241) Courriel : Achour.Mostefaoui (at) univ-nantes.fr Téléphone : (+33/0) 2 51 12 50 31 Taux d encadrement : 50 % Nombre de thèses en cours : 2 Co-encadrant NOM, Prénom : GRALL, Hervé Équipe d accueil : Ascola Courriel : Herve.Grall (at) mines-nantes.fr Téléphone : (+33/0) 2 51 85 82 23 Taux d encadrement : 50 % Nombre de thèses en cours : 1 Financement prévu : MESR, CNRS-Région

Sujet de thèse pour 2013 Programmer des applications réparties Vers une approche modulaire et efficace de la causalité Résumé. La programmation d applications distribuées est difficile car elle suppose de rompre avec le modèle séquentiel pour intégrer la causalité inhérente à la répartition. Nous proposons de développer un cadre formel facilitant la programmation d applications réparties en restituant la causalité d une manière modulaire et pratiquement efficace. Mots clés. Programmation répartie Causalité Programmation chimique Modularité 2

Introduction En 2011, à la conférence SPLASH, l une des plus importantes dans le domaine des langages de programmation, un groupe de spécialistes s est réuni pour débattre de la question suivante : "Multicore, Manycore, and Cloud Computing : Is a New Programming Language Paradigm Required?" [TBB + 11]. C est qu en effet une convergence structurelle se dessine. Le nuage entoure non seulement les serveurs sur Internet mais aussi progressivement les cœurs sur une puce : d abord présente à grande échelle, la répartition s impose maintenant à petite échelle. Le sujet proposé s inscrit dans cette tendance puisque la thèse visera à faciliter la programmation d applications réparties. Contexte et problématique La programmation d applications réparties impose de rompre avec le modèle séquentiel d exécution, aujourd hui encore dominant, remplacé par un modèle concurrent, impliquant des évènements répartis qui ne peuvent pas s ordonner séquentiellement : la causalité, associée à un ordre partiel, succède à la séquentialité, associée à un ordre total. Cette thèse aura essentiellement pour but de proposer un cadre formel facilitant la programmation d applications réparties en restituant la causalité d une manière modulaire et pratiquement efficace. Concernant la causalité, elle intéresse l équipe GDD ; concernant la programmation répartie, elle intéresse l équipe Ascola. Elle sera donc l occasion de construire une collaboration fondée sur des compétences complémentaires. Problèmes et opportunités Le mécanisme fondamental d échange de données et de synchronisation dans les systèmes répartis est la communication par messages. Lors de l exécution d une application répartie, les événements internes des processus, les émissions et les réceptions de messages s ordonnent suivant un ordre non pas total mais partiel : c est la relation de précédence causale, introduite par Lamport en 1978. Si des événements indépendants peuvent être exécutés simultanément en parallèle, il arrive aussi fréquemment que l ordre de réception des messages doive être relié à l ordre d émission des messages. Précisément, alors que certaines applications ne nécessitent aucun ordre particulier sur la livraison des messages diffusés (e.g. les listes de diffusion), d autres nécessitent de respecter un ordre plus ou moins fort (synchronisation avec l émission ou non, dans ce cas, ordre causal, ordre atomique, ordre relatif, ordre total, etc.). Par exemple, une communication est dite synchrone si l émission et la réception sont synchrones. C est une contrainte forte qui peut être affaiblie. Une communication est alors dite causale si un message émis causalement avant un autre doit être livré avant celui-ci chez tous les destinataires communs. La mise en oeuvre d une telle communication est coûteuse et nécessite l utilisation soit de compteurs vectoriels (coûteux en espace et en taille des messages) soit de protocoles de communications (coûteux en temps de communication et moins tolérants aux 3

défaillances). Ces dernières décennies, de nombreuses solutions théoriques à ces problèmes de causalité ont été proposées et étudiées, et les coûts des solutions optimales sont connus [CB91, CBMT96]. On peut considérer qu aujourd hui, avec la généralisation des applications réparties, nous entrons dans une période où ces solutions théoriques doivent être mises en œuvre concrètement et efficacement dans les langages de programmation. De ce point de vue, deux problèmes apparaissent rapidement : la modularité et l efficacité. Les solutions proposées en théorie ont le défaut de résoudre les problèmes isolément, sans examiner leur possible interaction. Par exemple, que se passe-t-il lorsqu on utilise simultanément des canaux de communication aux propriétés différentes en matière de causalité? Comme on l a vu, les solutions théoriques peuvent être coûteuses. Cependant, elles reposent toutes sur une hypothèse : elles utilisent un mode de communication asynchrone. Si en théorie la communication est asynchrone, bien souvent en pratique, elle ne l est pas : il existe un temps de latence maximal. C est le cas par exemple d Internet. Peuton profiter de cette majoration de la latence pour améliorer pratiquement l efficacité des solutions théoriques? L objectif principal de la thèse est de répondre à ces questions, et donc de proposer des solutions modulaires et pratiquement efficaces aux problèmes de causalité dans les applications réparties. Travail demandé Objectifs Concernant la causalité, cette thèse va aborder deux aspects duaux. L un est relatif à la partie applicative en fournissant d une manière modulaire des canaux de communication répondant à des besoins spécifiques relatifs à la causalité. L autre est lié au système sousjacent pour essayer d en tirer le meilleur parti pour l implémentation de ces canaux de communication. Le premier aspect est lié aux modes de communication nécessaires à une application. De manière pratique, il est préférable de pouvoir développer une application en disposant de différents types de canaux de communication. Pour certaines messages, une communication asynchrone est suffisante. Pour d autres, une synchronisation entre l émission et la réception est requise. Entre ces deux cas limites, différentes contraintes peuvent être fixées, comme par exemple l ordre causal. Chaque canal est implémenté au dessus de canaux asynchrones, par une annotation des messages (par des estampilles) ou par un protocole particulier. Si ces implémentations ont été vérifiées isolément, il n existe pas actuellement de travaux étudiant leur interaction. Autrement dit, on aimerait pouvoir 4

déduire la correction et la complexité d une implémentation de plusieurs canaux de la correction et la complexité des implémentations de chaque canal. Le second aspect concerne le système sous-jacent et ses caractéristiques de communication. En effet pour rester général, on suppose généralement que le système est asynchrone c est-à-dire sans borne supérieure sur les temps de transmission des messages ni sur la vitesse relative des processus. En réalité de telles bornes existent le plus souvent mais sont assez élevées pour rendre des solutions fondées dessus inefficaces. Des travaux récents au Technion prospectent la redéfinition de la notion de causalité dans le cas où la communication est synchrone. En effet, dans un tel contexte, on peut avoir de l information concernant un site distant sans communiquer avec lui alors que dans le cas des systèmes asynchrones toute information distante est véhiculée par une séquence causale de messages. Ainsi, il est possible de déterminer si un processus ne fonctionne plus, en attendant, alors que dans le cas purement asynchrone, cette défaillance peut être confondue avec une communication infiniment lente. Avec l hypothèse d une communication synchrone (avec un délai), il devient possible d améliorer pratiquement les algorithmes conçus pour la communication complètement asynchrone, par exemple pour les traitements exceptionnels dus aux défaillances. Mener à bien ces extensions modulaires et efficaces des solutions existantes suppose un cadre formel, permettant non seulement de définir les implémentations mais aussi de raisonner afin de prouver leur correction et de déterminer leur complexité. Pour ce cadre formel, nous proposons un modèle chimique. La programmation chimique est un modèle abstrait construit sur une métaphore, la réaction chimique, et intégrant nativement la répartition et le parallélisme [BFM00, BB92]. Un programme, défini par un ensemble de règles décrivant des réactions chimiques, s exécute sur une machine abstraite chimique. Cette machine est naturellement répartie et permet d exprimer aisément du parallélisme, pour lequel les réactions s effectuent réellement simultanément (et non séquentiellement par entrelacement). C est avant tout un cadre sémantique [BB92], dans lequel il est possible d interpréter les langages ou calculs tant concurrents que répartis. Il sera ainsi facile d instancier le modèle formel pour l utiliser concrètement dans des applications. Précisément, le cadre formel s appuiera sur un modèle chimique et son langage associé, tous deux développés au sein d Ascola ces dernières années [LGL10, ADG + 12, A + 11]. Fondé sur une sémantique chimique, le modèle est entièrement formalisé, fournissant une spécification précise du langage et ouvrant la possibilité de développer des méthodes et techniques de raisonnement formel. Le langage est une implémentation fidèle du modèle, programmée en Scala : il permettra des expérimentations. Pour les preuves, un assistant à la preuve comme Coq pourra être utilisé pour formaliser le modèle, syntaxiquement et sémantiquement, et ses propriétés. Cette dernière activité pourra s appuyer sur les compétences développées dans l équipe Ascola [LG09]. 5

Plan de travail prévisionnel de l étude Le travail commencera classiquement par l état de l art : il s agira d étudier et de comprendre les solutions classiques aux problèmes de causalité. Suivra une étape importante, la formalisation des solutions dans un cadre chimique, ainsi que la preuve de leur correction. Ce travail pourra être mené en utilisant un assistant à la preuve, ce qui implique un investissement initial non négligeable. Cette première étape est indispensable pour la contribution principale de la thèse : l élaboration d extensions modulaires et efficaces aux solutions classiques pour la causalité. Ces extensions pourront être développées incrémentalement, avec à chaque fois une formalisation suivie d une expérimentation. Candidats Compétences Les candidats doivent avoir des connaissances de base en programmation concurrente et répartie et en sémantique des langages de programmation. De bonnes aptitudes à la formalisation sont requises. Déclarations de candidature et résultats universitaires connus Un candidat de l école des mines de Nantes, actuellement dans l option "Génie des systèmes informatiques", effectuera son projet de fin d études sur ce sujet mêlant la causalité et la programmation chimique. Il est intéressé par une poursuite en thèse. 6

Bibliographie [A + 11] Diana Allam et al. Model and formal architecture specification. Deliverable D1.2, CESSA ANR project, no. 09-SEGI-002-01, January 2011. [ADG + 12] Diana Allam, Rémi Douence, Hervé Grall, Jean-Claude Royer, and Mario Südholt. A Message-Passing Model for Service Oriented Computing. In Karl- Heinz Krempels and José Cordeiro, editors, WEBIST, 8th International Conference on Web Information Systems and Technologies, Porto, Portugal, April 2012. SciTePress Digital Library. [BB92] [BFM00] [CB91] Gérard Berry and Gérard Boudol. The chemical abstract machine. Theoretical Computer Science, 96(1) :217 248, 1992. Jean-Pierre Banâtre, Pascal Fradet, and Daniel Le Métayer. Gamma and the chemical reaction model : Fifteen years after. In Cristian Calude, Gheorghe Paun, Grzegorz Rozenberg, and Arto Salomaa, editors, Workshop on Multiset Processing, WMP 2000, volume 2235 of Lecture Notes in Computer Science, pages 17 44. Springer, 2000. Bernadette Charron-Bost. Concerning the size of logical clocks in distributed systems. Inf. Process. Lett., 39(1) :11 16, 1991. [CBMT96] Bernadette Charron-Bost, Friedemann Mattern, and Gerard Tel. Synchronous, asynchronous, and causally ordered communication. Distributed Computing, 9(4) :173 191, 1996. [LG09] [LGL10] Xavier Leroy and Hervà c Grall. Coinductive big-step operational semantics. Information and Computation, 207(2) :284 304, 2009. Mayleen Lacouture, Herve Grall, and Thomas Ledoux. CREOLE : a Universal Language for Creating, Requesting, Updating and Deleting Resources. In International Workshop on the Foundations of Coordination Languages and Software Architectures (FOCLASA 2010), 2010. [TBB + 11] S. Tucker Taft, Joshua Bloch, Robert Bocchino, Sebastian Burckhardt, Hassan Chafi, Russ Cox, Benedict Gaster, Guy Steele, and David Ungar. Multicore, 7

Manycore, and Cloud Computing : Is a New Programming Language Paradigm Required? In Proceedings of the ACM international conference on Object oriented programming systems languages and applications, SPLASH 11, pages 165 170. ACM, 2011. 8

CV du directeur de thèse Achour Mostefaoui est professeur à l Université de Nantes. Il est membre et responsable adjoint de l équipe GDD. Il est aussi responsable du Master 2 Compétences Complémentaires en Informatique (M2CCI). Son activité de recherche est centrée sur les systèmes répartis et aborde principalement la synchronisation et la tolérance aux fautes à travers les protocoles de communication et la conception et la mise en oeuvre de structures de données distribuées. Achour Mostefaoui a soutenu sa thèse de doctorat et son habilitation à diriger des recherches à l Université de Rennes 1 où il a été maître de conférences jusqu en 2011. 9

CV du co-encadrant Hervé Grall est chargé de recherche et d enseignement à l école des mines de Nantes. Il est membre de l équipe Ascola et responsable de l option "Génie des systèmes informatiques". Ses recherches concernent les langages de programmation et leur sémantique, ainsi que les méthodes formelles. Elles ont particulièrement eu pour domaine d application la sécurité. Avant de rejoindre l école des mines de Nantes, il a travaillé pendant dix-huit mois à Trusted Logic, une start-up issue de l INRIA spécialisée dans la sécurité pour les systèmes embarqués. Il est ingénieur civil et docteur en informatique de l école nationale des ponts et chaussées. 10