Graphe de micro-tâches : chaque point montre une tâche ; les flèches représentent les liaisons entre elles. Il est clustérisé par couleur : chaque couleur correspond à des macro-tâches qui seront regroupées sur un même nœud.
L'équipe CAMUS s'attache à développer, adapter et étendre des techniques de parallélisation et d'optimisation automatiques, ainsi que des méthodes de preuves et de certification, pour l'exploitation efficace des processeurs multi-cœurs existants et à venir. Quand un processeur est doté de plusieurs cœurs qui travaillent en même temps, le logiciel doit pouvoir exécuter des tâches simultanément. Or définir des tâches parallèles est source d’erreur dans les logiciels : plusieurs tâches qui s’effectuent en même temps se font concurrence, le défi est de faire respecter l’ordre de certaines tâches. Le développeur raisonne en séquentiel (mono-cœur) ; le compilateur va analyser ce qu’il a écrit, pour voir ce qui peut être fait en parallèle (en même temps), et l’adapter pour accélérer le processus ; les mémoires sont aussi utilisées en parallèle, les données sont chargées en avance pour limiter le temps de latence.
Vincent Loechner, maitre de conférences et Bérenger Bramas, chargé de recherche, membres de l'équipe-projet CAMUS.
|