Seminar/2009-05-27

From LRDE

Mercredi 27 mai 2009, 14h-17h, P10


VMKit, LLVM et Clang: les prochaines générations de compilateurs

Nicolas Geoffray, Lip6/INRIA/Regal

La Low-Level Virtual Machine (LLVM) est un ensemble de bibliothèques et d'outils qui facilitent le développement et l'optimisation de compilateurs, de générateurs de code et de machines virtuelles. Clang et VMKit utilisent LLVM pour leur générateur de code à différents niveaux: l'un pour la compilation statique de langages de la famille C (C/C++/ObjectiveC), et l'autre pour la compilation dynamique d'applications Java ou .Net.

Dans cet exposé, je présenterai ces trois projets, et rentrerai dans les détails de VMKit, que j'ai développée dans le cadre de ma thèse. Je finirai par montrer les exemples de recherche auxquels nous nous adressons avec l'aide de VMKit, au sein de l'équipe de recherche INRIA/Regal.

Nicolas Geoffray est doctorant à l'université Pierre et Marie Curie dans l'équipe mixte Lip6/INRIA Regal. Sa thèse porte sur les machines virtuelles applicatives et la manière dont elles sont utilisées dans les projets de recherche. La soutenance est prévue à la fin de l'année universitaire 2009.

http://pagesperso-systeme.lip6.fr/Nicolas.Geoffray/, http://vmkit.llvm.org, http://llvm.org, http://clang.llvm.org, http://vmkit.llvm.org, http://regal.lip6.fr



AutoVM: repousser les frontières de la généricité

Gaël Thomas, REGAL/Lip6/Inria

Avec l'avènement du Web et des applications réparties, les machines virtuelles applicatives sont devenues le support d'exécution de choix pour la plupart des applications. Développer et optimiser une machine virtuelle est un travail long et difficile qui requiert plusieurs années. Il s'avère que la plupart des machines virtuelles possèdent des composants communs: compilateur à la volée, ramasse-miettes, vérifieur de type, gestionnaire de threads, gestionnaire d'entrées/sorties, éditeur de liens paresseux, chargeur dynamique de code.

AutoVM est une machine virtuelle générique qui factorise ces composants communs et facilite le développement de nouvelles machines virtuelles, ou l'amélioration de machines virtuelles existantes.

Dans cet exposé, je présenterai l'architecture logicielle de notre prototype AutoVM et montrerai sa généricité et son extensibilité.

Gaël Thomas est maître de conférences à l'université Pierre et Marie Curie dans l'équipe mixte Regal/Lip6/Inria depuis trois ans. Ses travaux de recherche portent sur la gestion des ressources, l'isolation et la gestion de la concurrence dans les machines virtuelles.

http://pagesperso-systeme.lip6.fr/Gael.Thomas/