Inria - LaBRI, équipe RUNTIME (note: stage effectué au centre Inria Bordeaux)
Contexte du stage
Les applications de calcul scientifique s'attaquent perpétuellement à des problèmes de plus en plus conséquents. Pour les traiter, on utilise donc des processeurs multicœur ainsi que des accélérateur graphiques. Une question cruciale est alors de répartir les calculs sur ces différentes unités de calcul. On utilise pour cela des ordonnanceurs dynamiques plus ou moins sophistiqués et modulaires.
Les ordonnanceurs les plus complexes ont alors un comportement qui est difficile à saisir: les tâches de calcul naviguent entre différents conteneurs avant d'arriver aux unités de calcul. Il devient alors utile d'avoir des outils pour observer ce comportement: le principe est de lancer l'application, qui écrit une trace des évènements de l'ordonnanceur, et l'outil d'observation ouvre cette trace pour montrer offline ce qui s'est produit pendant l'exécution.
Objectifs du stage
Le stage consiste à réaliser un outil fournissant une vue animée du comportement de l'ordonnanceur. L'idée est de réaliser une page HTML dynamique, où les conteneurs de l'ordonnanceur sont affichés de manière statique, et une barre de progression permet de naviguer dans le temps, l'état des conteneurs étant alors mis à jour dynamiquement. Une maquette à deux sous est disponible
L'idée est d'utiliser une bibliothèque existante pour l'affichage au sein de la page HTML, a priori jQuery, qui contient déjà tous les éléments nécessaires pour réaliser cela.
Le sujet comporte une part de programmation significative, notamment un peu en C
pour ouvrir la trace d'exécution et fabriquer un résumé ne contenant que les
évènements d'ordonnancement en JSon, puis en JavaScript et en jquery.ui (qui
pourront être appris sur le tas) pour l'affichage.