TRUONG Nam Dan

né le 23 avril 1968
à Versailles, Yvelines, France
Nationalité Française

Adresse personnelle :

12 rue Monseigneur Duchesne
35000 Rennes

tel : 06 14 78 06 95
messagerie:06 14 78 06 95
Adresse professionnelle :

ENSSAT
LASTI, groupe architecture
6, rue de Kerampont
BP 447
22300 Lannion CEDEX

mel :dtruong@irisa.fr
tel : 02 96 46 50 30

Formation
Langues
Responsabilites
Informatique
Experiences
Hobbies
Descriptif des enseignements
Descriptif du sujet de these
Articles


Formation

1997 - 1998 ATER à l'ENSSAT Enseignements en informatique industrielle, architecture, électronique et traitement du signal à l'ENSSAT (Ecole Nationale Supérieure de Sciences Appliquées et de Technologie), rattaché au groupe architecture du LASTI (Laboratoire d'Analyse des Signaux et de Traitement de l'Information). 1994 - 1998 Thèse de troisième cycle à l'IRISA Sujet : Optimisation logicielle de la performance des antémémoires, le placement précis des données en mémoire. Directeur : André Seznec, Encadrant : François Bodin.

1992 - 1994 Service civil dans la Coopération Française, en République Centrafricaine. Maintenance et gestion du parc informatique de la Mission de Coopération et d'Action Culturelle (Ambassade de France) ainsi que pour quelques entreprises privées, organisations et administrations.

Détaché comme observateur pendant les élections présidentielles centrafricaines à la Commission Electorale Mixte afin de prévenir les fraudes informatiques.

1991 - 1992 DEA MEMI (Micro Electronique et Micro Informatique) option  architecture des circuits intégrés, mention bien, Université Pierre et Marie Curie, Paris 6, à Jussieu. 1990 -1991 Maîtrise EEA (Electronique, Electrotechnique et Automatique) option  micro électronique et micro informatique, mention assez-bien, Université Pierre et Marie Curie. 1989 - 1990 Licence EEA Mention assez-bien. Université Pierre et Marie Curie. 1987 - 1989 DEUG A option science pour les ingénieurs (électronique et mécanique), Université Pierre et Marie Curie. 1986 Baccalauréat série C Lycée français international Rochambeau, Académie de Caen. 1985 High school diploma Etat du Maryland, Etats-Unis.


Langues


Responsabilités


Informatique et électronique


Expériences, Stages et Projets

1994 - 1997 Programmation C et C++ Programmation de nombreux outils pour les besoins de recherche (conception d'une librairie d'allocation, de simulateurs d'antémémoires, d'outils d'analyse et de transformations de codes).
Utilisation d'outils de développement de programmes comme Salto, Dotty ou Sage++.
1994 Gestion d'un parc de PCs pendant le service en coopération Maintenance, mise à jour des PCs, des écrans et des imprimantes. Installation, mise à jour et développement de progiciels sous dBase IV et en Visual Basic. 1992 Spécification Rapid-2 en VHDL Rapid-2 est un circuit MIMD à base de mémoires associatives par ensembles, adressées par leur contenu. Rapid-2 permettant de faire par exemple des recherches floues sur des chaînes d'ADN. Ce travail a été conduit par Pascal Faudemay et Alain Greiner, au LIP6/ASIM (ex. MASI URA 818). Ce travail a été poursuivi par des doctorants. 1991  Développement d'un AMD 2901 32 bits en VHDL. Conception utilisant les chemins de données générés par les outils de génération automatique de conçus au MASI, afin de valider ces outils. Utilisation de VTI pour corriger certaines cellules du chemin de données. 1991 Ecriture de Patedit en Langage C Patedit est un éditeur de vecteurs de tests semi-graphique écrit à partir de sources de programmes plus anciens. 1991 Développement d'un AMD 2901 4 bits avec HILO. Le circuit, développé en GHDL, utilise des cellules précaractérisées. Il a été fondu en technologie ES2 0,8micron. 1991 Wrapping d'une carte prototype couplée à un Transputer T-212 La carte simulait les entrées sorties clavier et écran. Le gestionnaire de la carte a été programmé en Occam. 1990 Programmation 6809 : gestion dun bras robot et d'un tapis roulant Le bras, connecté au port parallèle (VIA), est synchronisé avec le tapis roulant, connecté au port série (ACIA). 1987 - 1989 Programmation Pascal


Hobbies et sports


Descriptif des enseignements

250h de travaux pratiques comme ATER à l'ENSSAT.


Descriptif de la thèse

Optimisation logicielle de la performance des antémémoires :
Le placement précis des données en mémoire.

Directeur : André Seznec,
Encadrant : François Bodin,
Jury: J.P. Banâtre, Président, D. Etiemble, rapporteur, D. Litaize, rapporteur, O. Sentieys, F. Bodin, A. Seznec.

Thèse de l'Université de Rennes 1, mention très honorable, effectuée à l'IRISA (Institut de Recherche en Informatique et Systèmes Aléatoires) au sein de l'équipe CAPS (Compilation, Architectures Parallèle et Système).

Descriptif: La performance des microprocesseurs croît bien plus vite que la performance des mémoires dynamiques. Les antémémoires sont de petites mémoires statiques insérées entre la mémoire dynamique et le processeur qui permettent de compenser la lenteur des accès aux mémoires dynamiques. En conservant les données référencées le plus souvent par le processeur, elles réduisent le nombre d'accès à la mémoire, très lents, qui ralentiraient l'exécution.

 Nous étudions des techniques logicielles pour améliorer la performance des antémémoires. Ces techniques s'appliquent lors de la compilation des programmes. Le but est d'adapter le placement des données des programmes en mémoire pour mieux tirer parti des antémémoires.

 Notre étude dans un premier temps a consisté à définir une classification des défauts d'antémémoire adaptée aux techniques logicielles d'optimisation. Nous avons ensuite mis au point un algorithme de placement pour montrer qu'il est possible de placer automatiquement les données en mémoire afin d'améliorer la performance des antémémoires. Cet algorithme s'applique sur des données sans contraintes de placement en mémoire, comme les scalaires. Pour mettre en pratique le placement des données en mémoire, il faut cependant tenir compte des contraintes de placement. Nous avons donc ensuite développé des techniques de placement mémoire spécifiques pour les structures de données allouées dynamiquement. Une librairie d'allocation dynamique a aussi été écrite en C pour faciliter la modification des programmes.

 Mots-clés : Antémémoires, localité, simulation de caches, politique de remplacement optimale, classification des défauts de cache, placement de données en mémoire (data layout), scalaires, structures de données, réorganisation des champs de structures, entrelacement d'instances de structures, listes, arbres, tableaux de structures, allocation dynamique, librairie d'allocation, préchargement de données.


Articles

Accurate Data Layout Into Blocks May Boost Cache Performance. Dan Truong, François Bodin, André Seznec.
Rapport interne PI-1000 de l'IRISA, rapport technique RR-3174 de l'INRIA.
Version réduite publiée dans IEEE TCCA Newsletter, juin 1997.
Présenté à WICCA-2, Second Workshop on Interraction Between Compilers and Computer Architecture (IEEE TCCA), en février 1996 à San Antonio, Texas.

Improving Cache Behavior of Dynamically Allocated Data Structures. Dan Truong, François Bodin, André Seznec.
Présenté à PACT'98, Conference on Parallel Architecture and Compilation Techniques (IEEE TCCA, IFIP Concurent Systems, ACM SigArch), en Octobre 1998, à Paris.

Considerations on Dynamically Allocated Data Structure Layout Optimization. Dan Truong.
Présenté à PFDC, Workshop on Profile and Feedback-Directed Compilation, en Octobre 1998, à Paris.

Les papiers sont accessibles sur Internet.
Derniere modifications le 12 Mai 1998.