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
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
- Français natif,
- Anglais courant, 4 ans aux USA plus de fréquent séjours, 667 points au TOEFL, High School Diploma,
- Notions d'Espagnol.
Responsabilités
- Elu en 1996 président de l'ADOC, association des doctorants
de l'école doctorale SPI de l'Université de Rennes I.
- Webmaster de l'équipe de recherche CAPS de l'IRISA, et
de l'ADOC de 1995 à 1997.
- Membre du comité d'organisation des Rencontres Doctorales RD'96
et RD'97, et animateur de la table ronde finale aux RD'96, composée
d'administratifs, d'universitaires et de privés.
- Rapporteur pour les conférences Europar'96, Micro
29 et ISCA'96.
Informatique et électronique
- Langages de programmation : C, C++, Pascal, Visual Basic,
Java, Assembleurs (6502, 6809, Occamà).
- Autres langages : HTML/JavaScript, VHDL/AHDL/GHDL, Matlab,
dBase IV...
- Systèmes d'exploitations : Unix (SunOS4, Solaris,
Irix), Windows, DOS, Macintoshà...
- Connaissances sur la gestion mémoire l'allocation dynamique,
le placement de données, la compilation...
- Connaissances en électronique digitale, architecture des ordinateurs,
mémoires, CAO VLSI, test, FPGAs, DSPs...
- Connaissances en électronique analogique, circuits RLC, transistors,
ampli-ops, filtres actifs...
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
- Ecriture d'un programme d'analyse et de conjugaison de verbes, utilisant des arbres binaires.
- Développement de Scatchard en Turbo Pascal pour l'URA 33 de l'INSERM, dirigée par le Pr. E. Beaulieu.
- Portage de Scatchard sur Macintosh, en Lisa Pascal pour un laboratoire de Biochimie du Collège de France. Le fenêtrage a été réalisé par des appels à l'OS grâce aux livres de référence Inside Macintosh.
Hobbies et sports
- Sports : Viet Vo Dao (art martial vietnamien), escalade et squash.
- Hobbies : jeu de Go (jeu de stratégie chinois), photographie amateur, voyages, livres, bourse française...
Descriptif des enseignements
250h de travaux pratiques comme ATER à l'ENSSAT.
- Encadrement des TPs et examens de TPs d'électronique analogique de 1ère année optronique et 1ère année informatique (AOP, transistors, RC/RLC, Matlab, Diodes, Filtrage, Oscillateurs, Logique).
- Encadrement de TPs et de projets d'informatique industrielle : programmation bas niveau des interfaces PC en 2ème année d'électronique ; wrapping et programmation de kits 6809 en 2ème année optronique et en 2ème année informatique.
- Encadrement de projets en architecture et traitement du signal : programmation d'un ALTERA en AHDL en 1ère année d'électronique, conception comportementale d'un processeur Von Neumann en VHDL en 1ère année d'informatique, conception dÆun ASIC/DSP FIR16 en VHDL en 2nde année d'électronique, programmation d'une carte DSP virgule flottante TMS C30 en langage C en 2nde année d'optronique et en 2nde année d'électronique.
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.