Recherche
Je suis membre du groupe SLS, laboratoire TIMAJe m'intéresse à la problématique de l'adéquation algorithme-architecture. Ceci consiste à déterminer quelle est l'architecture d'un circuit numérique ou d'un système complet qui est la mieux adaptée à un traitement et, à l'inverse, comment reformuler un algorithme, voire le modifier, pour faciliter la définition d'architectures efficaces.
Un axe d'étude majeur est la gestion du transport et stockage des données dans les systèmes embarqués ou DTSE (Data Transport and Storage Exploration). Ces études concernent les applications multimédia (vision bas niveau, reconnaissance d'image, synthèse 3D).
Une hiérarchie mémoire a pour rôle d'améliorer les performances des calculateurs en transportant les données depuis une mémoire de grande capacité mais lente vers une mémoire plus petite mais d'accès très rapide, appelée cache. Un cache exploite la localité spatiale et temporelle des accès mémoires au cours du calcul. Cette localité est souvent présente dans les programmes mais elle peut aussi être améliorée par des transformations de code.
Pour résumer, les problèmes à résoudre sont les suivants:
- Quelles données sont à charger dans le cache ?
- A quel moment les charger ?
- Sur quelles informations baser ces décisions ?
- Comment intégrer des caractéristiques du système dans ces mécanismes décisionnels ?
Le crédo est que pour de nombreuse applications des algorithmes de gestion des caches issus des domaines du traitement de signal et de l'automatique sont à même d'estimer les zones de données qui seront utilisées par l'unité de calcul, de façon à pré-charger le cache.
Les études concernent des méthodes:
- A priori, ou "hors-ligne", lorsque les séquences d'accès sont déterministes et "simplement" prédictibles. Ces stratégies reposent sur une caractérisation des applications pour générer un séquencement des calculs et pré-chargement des données.
- A postériori, ou "en-ligne", lorsque les séquences d'accès dépendent des données ou sont "difficilement" prédictibles hors-ligne. L'idée est de précharger les caches en anticipant les accès mémoire à partir d'un modèle de prédiction dont les estimations sont produites par une analyse du passé.
Le résultat principal de ces travaux est le cache nD-AP.