Special

Semantic search

Mercredi 5 novembre 2008, 14h-17h, Amphi 2


Représentation efficace des données complexes dans un intergiciel schizophrène

Thomas Quinot, AdaCore

Dans un intergiciel schizophrène, une représentation intermédiaire des interactions entre composants applicatifs est construite et manipulée. Cette représentation est neutre vis-à-vis du choix d'une personnalité application (interface entre les composants et l'intergiciel) et d'une personnalité protocolaire (interface entre intergiciels distants). Elle rend possible le découplage entre ces deux aspects.

Cette représentation doit préserver la structure des données associées aux interactions. Cependant, sa construction in extenso s'avère coûteuse dans le cas de données composites complexes. Cette conversion peut être économisée en remplaçant la réplication complète de la structure par la définition d'un emballage « fantôme » autour de celle-ci (et de chacun de ses composants) : il suffit que cet emballage fournisse les accesseurs permettant de parcourir la structure et de construire un message la représentant.

Après avoir présenté un exemple concret de représentation neutre des données structurées, nous montrons comment cette optimisation peut être mise en oeuvre pour réaliser de manière efficace la fonction de représentation dans un intergiciel schirophrène. Nous concluons cette discussion par une évaluation du gain de performance ainsi obtenu.

Thomas Quinot est docteur de l'Université Paris VI. Ses travaux de thèse ont porté sur la définition d'une architecture d'intergiciel flexible pour l'interopérabilité entre modèles de répartition. Il est aujourd'hui Senior software engineer chez AdaCore, éditeur d'outils pour le développement de systèmes embarqués, temps réel et critiques, où il est notamment responsable des produits pour applications réparties.

http://www.adacore.com

Construire une application robuste sans faire exploser les coûts

Samuel Tardieu, TELECOM ParisTech

Le langage Ada est connu pour sa sûreté intrinsèque : son typage fort, ses mécanismes de contrôle de valeurs et son système d'exceptions notamment permettent d'avoir une grande confiance en les programmes. Comme dit le vieux proverbe, « En Ada, quand ça compile, ça marche ».

Cependant, une des puissances d'Ada provient également de ses systèmes de vérification lors de l'exécution du programme. Par exemple, si une valeur se trouve en dehors de l'intervalle qui lui était autorisé, une exception, rattrapable par le langage, sera automatiquement levée. Ce système de vérification dynamique a bien évidemment un coût. Nous verrons comment le système de compilation GNAT mélange analyse statique et vérification lors de l'exécution pour fournir la totalité des garanties définies par le langage tout en minimisant les surcoûts et la perte de performance.

Samuel Tardieu est enseignant-chercheur à TELECOM ParisTech. Ses domaines d'activité incluent notamment la compilation et la génération de code. Il est également un des développeurs du système de compilation GCC, et intervient plus particulièrement au niveau de GNAT, le compilateur Ada de GCC.

http://www.rfc1149.net

Mercredi 26 novembre 2008, 14h-17h, Amphi 2


Mesure de Performance et Généricité à EDF R&D

Laurent Plagne ; EDF R&D Clamart.

L'outil BTL++ (Benchmark Template Library in C++) développé à EDF R&D se fonde sur la programmation générique et permet de mesurer les performances de noyaux de calcul intensif. Il s'agit d'une bibliothèque générique dont la conception vise à faciliter l'extensibilité par l'utilisateur. Récemment, le lien entre les mesures de performance et la génération automatique de bibliothèques optimales à été étudié pour le domaine de l'algèbre linéaire dense. Quelques mesures de performance de noyaux de calcul à base d'"Expression Template" permettront d'illustrer l'usage de l'outil BTL++.

Laurent Plagne est ingénieur-chercheur à EDF R&D où il conduit une mission d'expertise pour la conception des codes industriels de calcul intensif. Ses domaines de recherche principaux sont les solveurs parallèles pour équations aux dérivées partielles et la programmation générique appliquée au HPC.

Il est co-auteur d'une bibliothèque générique pour la mesure de performance (BTL++) et est le développeur principal d'une bibliothèque dédiées aux problèmes d'algèbre linéaire creux et structurés (LEGOLAS++).

Bibliothèque générique multi-cible d'algèbre linéaire

Wilfried Kirschenmann, EDF R&D

La multiplication des architectures HPC (CPU multi-coeurs, GPU, Cell,..) implique autant de spécialisations des codes de calcul intensif. Dans un contexte industriel, les codes de calcul multi-cibles posent alors des problèmes de maintenance et d'évolutivité importants. La génération automatique des spécialisations est une réponse à ces problématiques. Pour le domaine de l'algèbre linéaire, nous étudions les possibilités offertes par la programmation générique. La mise au point d'une bibliothèque générique multi-cible et performante constitue le sujet de départ d'une thèse dédiée aux méthodes de développement HPC qui minimisent l'adhérence aux machines cibles.

Wilfried Kirschenmann est diplômé de l'école supérieure d'électricité. Il a travaillé sur la parallélisation d'un solveur de neutronique sur processeur graphique lors de son stage de fin d'étude à EDF R&D. Il va débuter une thèse sur les méthodes de développement HPC qui minimisent l'adhérence aux machines cibles.

Mercredi 11 février 2009, 14h-17h, P10


Programmer en JoCaml

Luc Maranget, Inria

JoCaml est une extension d'Objective Caml pour la programmation concurrente et distribuée, inspirée par le join-calcul. Nous avons récemment publié une nouvelle version de JoCaml, dont la compatibilité avec OCaml est meilleure que celle de la version initiale de F. Le Fessant. La nouvelle version pourra facilement être mise à jour au rythme d'OCaml et est binaire-compatible avec OCaml.

L'exposé s'attachera plus au langage JoCaml qu'au système JoCaml. Il montrera comment, à partir d'un programme potentiellement parallélisable écrit en OCaml (le ray tracer du concours ICFP 2001), on peut facilement produire un programme distribué, dans le cas abordé, très efficace. Ce sera l'occasion d'aborder la programmation en JoCaml de la coordination de multiples agents coopérants, d'une manière simple et concise dans l'esprit de la programmation fonctionnelle.

JoCaml est disponible en http://jocaml.inria.fr/.

Luc Maranget est chargé de recherche à l'Inria Rocquencourt. Il est spécialiste de la conception et de l'implémentation des langages de programmation, fonctionnels puis concurrents. À cet égard, il est l'auteur du compilateur de filtrage d'Objective Caml et plus récemment de la nouvelle version de JoCaml.

http://pauillac.inria.fr/~maranget/

ReactiveML : une extension d'OCaml pour la programmation de systèmes réactifs synchrones

Louis Mandel, Université Paris-Sud 11 - LRI

ReactiveML est une extension d'OCaml basée sur le modèle réactif synchrone introduit par F. Boussinot au début des années 90. Il permet la programmation de systèmes tels que les jeux vidéo ou les simulateurs.

Dans cet exposé, je présenterai ReactiveML à travers l'utilisation et la programmation de rmltop, le pendant ReactiveML du toplevel d'OCaml. Ce toplevel permet au programmeur d'écrire interactivement des programmes ReactiveML qui sont typés, compilés et exécutés à la volée. Toute expression ReactiveML valide peut être chargée dans le toplevel et a la même sémantique et la même efficacité que sa version compilée.

Louis Mandel est docteur de l'Université Paris 6. Il a passé un an au laboratoire Verimag de Grenoble et un an à l'INRIA Rocquencourt. Il est actuellement Maître de Conférences à l'Université Paris-Sud 11. Il conçoit et développe ReactiveML.

http://www.lri.fr/~mandel