Master 2011 2012
Stages de la spécialité STL
Calculs de consommation de ressources pour langage fonctionnel typé


organisme :Equipe APR - RSR/LIP6
Lieu :Equipe APR - RSR/LIP6 - Campus Jussieu
encadrant : Emmanuel Chailloux (Emmanuel.Chailloux@lip6.fr)
dates :du 01/04/2011 au 16/09/2011
Rémunération :gratification standard (environ 400 euros mensuels)



Description

De nombreux travaux de recherche s’intéressent à la consommation de ressources des programmes informatiques. Du logiciel embarqué au super-calculateur, en passant par des architectures processeurs hybrides et les calculs distribués, ce besoin de prédire ou de vérifier la consommation est un besoin grandissant de l’industrie, tout particulièrement pour la consommation énergétique.

On cite fréquemment les aspects matériels pour sonder et ainsi tracer la consommation lors d’exécution de programmes. Une autre approche, plus logicielle, permet d’une part de s’affranchir (en partie) du matériel par une approche machines abstraites et d’autre part de s’intéresser à des langages de haut niveau.

Pour cela on s’intéressera d’une part aux mesures de consommation via des métriques pertinentes faisant le lien entre machines abstraites et machines réelles, et d’autre part aux des modèles de calcul intégrant la consommation des ressources. Sur ces modèles, il sera possible alors d’effectuer des vérifications statiques (typage, effets, interprétation abstraite) pour garantir une consommation.

Cette approche langage de haut niveau et machines abstraites fera aussi le lien sur la pratique de la programmation en fonction des ressources ainsi que des aides/options à la compilation pour orienter la localité des calculs et des données, tout particulièrement dans les langages muni d’un GC.

Pour ce travail on s’intéresse aux travaux "Resource Aware Programming" issus de la programmation distribuée [Moreau-Queinnec-2005] ainsi qu’à ceux sur le langage HUME, à sa machine abstraite HAM du projet Embounded [Embounded project] et aux analyses des programmes fonctionnels [Vasconcelos-2008]. Les deux surveys suivants : le premier sur le WCET (Worst-case execution time) [Wilheim-2008] et le deuxième sur la prédiction de ressources consommées [Trinder-2011] permettront d’apporter une vision globale à ces problématiques.

On cherche alors à proposer un calcul avec prédiction (partielle) de consommation de ressources (mémoire, énergie, ...) pour un noyau fonctionnel-impératif du langage OCaml fonctionnant sur des processeurs multi-c\oeurs homogènes ou hybrides (CPUs-GPUs). Le langage est donc typé statiquement, et les vérifications de consommation pourront être décrites par un système d’effets. Un prototype permettra d’expérimenter valider le modèle de prédiction.

Bibliographie

The Embounded Project : (2005-2008) http://www-fp.cs.st-andrews.ac.uk/e...

P.B. Vasconcelos : Cost Inference and Analysis for Recursive Functional Programs, PhD Thesis. University of St Andrews, February 2008.

Wilheim et al : The worst-case execution-time problem—overview of methods and survey of tools Journal, ACM Transactions on Embedded Computing Systems (TECS), 2008

Luc Moreau, Christian Queinnec : Resource aware programming. ACM Trans. Program. Lang. Syst. 27(3) : 441-476 (2005)

Trinder et al : Resource Analyses for Parallel and Distributed Coordination School of Computer Science, Concurrency : Practive and Experience, John Wiley, 2011

bibliothèque SPOC : http://www.algo-prog.info/spoc/web/...