Semantic search
Mercredi 5 novembre 2008, 14h-17h, Amphi 2
Représentation efficace des données complexes dans un intergiciel schizophrène
- Documents
- quinot.ppt
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
- Documents
- tardieu.pdf
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
- Documents
- plagne.pdf
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
- Documents
- kirschenmann.pdf
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
- Documents
- maranget.pdf
- Keywords
- concurrency, language, caml, functional
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
- Documents
- mandel.pdf
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