.
LORIA  

Laboratoire lorrain de recherche
en informatique et ses applications


UMR 7503
CNRSINPLINRIAUHP, Nancy 1Nancy 2
home . english version . Deutsche Fassung menu map
.
.
Recherche
.
.
formation
.
.
relations extérieures
.
.
organisation
.
.
personnels
Intranet (accès restreint)
.
Annuaires
.
Emploi-recrutement
.
Pages personnelles
.
AGOS | CAES | CAS Nancy 1 | CAS Nancy 2
.

.
valorisation
.


© LORIA

Dernière mise-à-jour :
23 Septembre 2004

valid HTML valid CSS

.

FFIA - PROPOSITION EN VUE DU RECRUTEMENT D’UN INGENIEUR ASSOCIÉ


.

Date :  20/09/2004                                     


Auteur de la proposition : Xavier Cavin, Alain Filbois, Bruno Lévy
Unité de recherche ou direction : INRIA Lorraine
Projet ou service d’accueil : ISA-ALICE

responsable de l'encadrement : Xavier Cavin

Pour candidater :
Xavier.Cavin@loria.fr, Anne.Aubry@loria.fr


  • Titre de la proposition : GIGAVIS: Visualisation Hautes Performances sur Clusters de PC
  • Résumé des objectifs et de l'activité :

    Cette proposition se place dans le cadre de la composante ALICE du projet ISA qui a pour objectif scientifique de développer de nouvelles méthodes de simulation numérique et de visualisation. Afin de visualiser de très gros volumes de données, l'équipe expérimente des solutions fondées sur des clusters. Plus particulièrement, l'algorithme du "Binary Swap" permet de répartir les calculs d'une image entre plusieurs noeuds et de minimiser les échanges entre les noeuds afin de reconstruire l'image finale.

    L'équipe a déjà réalisé un premier logiciel implantant cet algorithme: DViz version 1.0 est une démo/prototype, conçue dans le cadre du projet France Télécom/INRIA VTHD++, capable d'utiliser un cluster de machines graphiques unix OpenGL pour afficher en temps réel une scène 3D complexe, et ce beaucoup plus rapidement que n'importe quelle machine graphique actuelle, à l'aide de l'algorithme de découpage de scène "Binary Swap".

    L'Ingénieur Associé sera chargé du développement d'une nouvelle version (DViz version 2.0). En se fondant sur le prototype existant, l'objectif est de permettre le passage à l'échelle et d'intégrer de nouvelles fonctionalités. En particulier, son travail concernera les aspects suivants:

    • méthodes d'équilibrage de charge (load balancing) afin de permettre
    • l'utilisation d'une grille de calcul hétérogène
    • différentes méthodes de découpage de la base de données 3D
    • optimisation des transmissions réseau
    • compression de données
    • primitives 3D génériques de plus haut niveau, incluant le mouvement

  • Environnement :
    • Environnement Scientifique et Industriel :

      L'ingénieur recruté travaillera principalement avec 3 chercheurs permanents au LORIA. Il sera placé sous la responsabilité de Bruno Lévy, et travaillera en collaboration avec Xavier Cavin et Alain Filbois. Le travail se fera dans le cadre du CRVHP (Calcul, Réseaux et Visualisation Haute Performence), et sera en relation avec le projet France Télécom/INRIA VTHD v3.

      Indépendamment de la réalisation, ce projet a des implications immédiates dans les coopérations de l'UR Lorraine dans les domaines de la visualisation architecturale, moléculaire (ARC Docking), en physique des plasmas (ARC Plasma), en explotation pétrolière (ACI Geogrid), en visualisation (ACI SHOW et projet Européen AIM@Shape) tous potentiellement futurs utilisateurs de ce développement. Le logiciel pourra également être expérimenté avec CGG (Compagnie Générale de Géophysique) avec laquelle nous sommes en contact. CGG est l'une des entreprises les plus actives dans le domaine des clusters de calcul.

    • Environnement Logiciel :

      Les développements logiciels seront réalisés dans le cadre de la plate-forme THC développée par l'équipe, en se fondant sur la version initiale DViz 1.0.

  • Compétences et aptitudes requises :

    Programmation en langage C, maitrise d'OpenGL, environnement de développement et de profiling/optimisation.

    Une bonne connaissance réseau (sockets TCP/UDP IP v4/v6), des méthodes de compression en imageries numériques (streaming), et de programmation parallèle sur grille hétérogène seraient des plus.

    Très grande rigueur exigée dans le développement. Utilisation de CVS ou d'un produit équivalent. Bon relationnel.

  • Date visée pour le recrutement : 10/2004

  • Durée projetée : 12 Mois

  • Connaissances acquises :

    Le sujet proposé conjugue des axes de recherches aussi porteurs que complexes. L'ingénieur réussissant ce projet sera capable d'allier la visualisation OpenGL, la programmation, les réseaux haut débit, le tout dans une optique temps réel, sur du matériel de pointe.

    La demande d'un visualisateur 3D à base d'une grille hétérogène est très forte, que ce soit en recherche (chimie, plasma, géologie), ou en milieu industriel (pétrole, construction automobile).

    Deux permanents travaillent déjà sur ce sujet : l'ingénieur pourra acquérir de l'expérience concernant le travail en équipe au sein d'un grand laboratoire de recherche.

  • Dispositions de formation et d'accompagnement :

    En complément des excellentes dispositions de formation mises en oeuvre dans le cadre du SeDRe auquel sera rattaché l'ingénieur associé, des formations interne au projet pourront être assurées pour l'ingénieur. Suivant les besoins, il pourra également assister à des modules de formation pour renforcer ses compétences sur des points spécifiques liés à son activité.

    Il est à noter que l'ingénieur travaillera conjointement avec un autre ingénieur (A. Filbois) et un chercheur (X. Cavin), qui ont co-encadré l'ingénieur développant la première version du produit. Une grande partie des formations sera donc assurée en double tutorat, sur site.

  • Perspectives de débouchés professionnels :

    La simulation et modélisation 3D prennent une place de plus en plus importante dans tous les domaines scientifiques. Que ce soit en recherche appliquée (physique, chimie, géologie, biochimie, médecine) et dans l'industrie (construction, pétrochimie), elles ne sont que d'un piètre usage sans une visualisation temps réel.

    Un logiciel de visualisation utilisant le matériel informatique le plus commun, à savoir une grille de PC classiques, est une avancée importante dans ce domaine très porteur.

    Le candidat pourra donc prétendre à tout poste dans la recherche applicative ou dans l'industrie, à base de simulation/modélisation/visualisation 3D, avec comme domaines annexes la grille, le réseau, les problèmes temps réel, etc. En particulier, il pourra candidater à un poste dans l'une des start-ups issues du projet:

    ou encore chez l'un des nombreux acteurs industriels avec lesquels ISA est en contact (Compagnie Générale de Géophysique, Consortium Gocad, General Electric...)

Descriptif détaillé de la proposition

L'ingénieur retenu aura en charge le développement de l'outil de visualisation DViz version 2. Cet outil doit permettre une visualisation temps réel de modèles 3D à partir d'une grille hétérogène de PC graphiques. Le prototype DViz version 1, conue dans le cadre du projet France Télécom/INRIA VTHD++, et destiné à prouver la faisabilité de l'algorithme du binary swap appliqué à un cluster de PC graphiques, a été choisi comme démonstration plénière lors de la présentation des résultats de VTHD++, à Paris, le 9 mars 2004.

Dans cette première version, l'algorithme utilise les étapes suivantes:

  • Le monde 3D à calculer est réparti uniformément en autant de machines disponibles homogènes. Chaque machine calcule une image 2D de couleur (RGBA) et de profondeur (Z-buffer) correspondant à son univers 3D connu.
  • Ensuite, la moitié d'une image 2D est échangée entre une paire de machines, qui possèdent alors respectivement 2 parties supérieures et 2 parties inférieures d'images 2D. Chaque machine combine ses parties selon le Z-buffer et obtient la moitié d'une image 2D représentant 2 groupes de primitives 3D.
  • Ensuite, l'algorithme itère en échangeant les moitiés de ces moitiés, etc, jusqu'au moment où chaque machine possède 1/n de l'image 2D représentant les n groupes de primitives 3D. Toutes ces 1/n images sont envoyées à une machine de visualisation, qui affiche ainsi l'image finale.

Cette technique combinatoire permet de multiplier efficacement la puissance graphique: un cluster de 4 machines utilisant DViz version 1 fournit ainsi 3 fois la puissance graphique d'une seule machine (a savoir, 3 fois plus d'images par secondes sont affichées). Le point faible de cette technique est le réseau, très fortement sollicité, même avec une vitesse proche du gigabit full duplex.

L'ingénieur retenu devra reprogrammer entièrement DViz, en utilisant des primitives de plus bas niveau. Il devra améliorer les possibilités existantes du produit et rajouter de nouvelles fonctionnalités :

  • L'algorithme doit être capable de combiner les 3 méthodes de découpage de séquences 2D: le découpage temporel (n PC pour une frame 2D), le découpage spatial (n PC pour une partie de l'image 2D), et le découpage de modèle (n PC ayant chacun une partie du modèle 3D),
  • Cet algorithme OpenGL doit utiliser toutes les méthodes les plus propriétaires (ATI, Nvidia, etc) et les plus performantes pour charger des données de la mémoire à la GPU, et de la GPU en mémoire (AGP, PCI Express), tout en étant capable d'activer à la demande diverses méthodes hardware d'amélioration de l'image (anti-aliasing, filtrage anisotrope, etc),
  • Cet algorithme doit être capable d'utiliser des librairies de compression capable d'assurer le transfert de l'image RGB(A) et accessoirement du buffer de profondeur entre les PC de travail sur un réseau IP d'une vitesse comprise entre 10 et 1000 Mbits.
  • Il doit également être capable de prendre en compte n'importe quelle primitive 3D. En fait, un protocole réseau très simple devra être capable de déclencher une procédure spécifique de traitement par primitive 3D reue, sachant que ces procédures doivent être modifiables par l'utilisateur très simplement.
  • Les primitives lues doivent être décrites et comprises dans la majorité des formats standards 3D (performer, inventor, etc).
  • La structure de données associée (Scene-Graph) doit être le plus indépendante possible de l'algorithme, et même si possible au contrôle d'un autre algorithme.
  • Le point de vue doit bien sžr pouvoir varier mais les primitives 3D doivent être au minimum dynamiques dans le temps (insertion/destruction), si possible des mouvements géométriques ou discrets (par image) doivent pouvoir leur être associées. Le but final est que ces mouvements ou création/destructions de primitives 3D puissent être pilotés, voir interagir, à partir de logiciels externes (exemple: visualisateur temps réel d'un simulateur de physique des plasmas).
  • Enfin, pour être capable de passer d'un cluster à une grille graphique, un équilibre de charge dynamique temps réel doit être intégré dans l'algorithme (profiling temps réel), avec évidemment des migrations des données le plus automatiques possibles, pour équilibrer la charge CPU/mémoire/GPU/réseau.
  • L'algorithme doit être portable (Windows, Linux, Irix), gérer la stéréo, gérer les interfaces standards d'entrée (clavier, souris, joystick, phantom, wand, etc), mais évidemment également de sortie (multi-écrans, cave, salle de RC, etc).
  • Le réseau supporté doit être TCP/IP V4 et V6, jumbo packets ou pas, avec découverte de la taille optimale du paquet et réservation de bande si possible; évidemment broadcast (multicast ?) pour l'affichage de l'image finale, sachant que si possible un système de jetons doit permettre une prise de contrôle de l'affichage (mouvement caméra puis objets 3D) dans n'importe lequel des afficheurs. Par la suite, une architecture de type "blackboard" coopératif est envisageable.



.
.
.  
Acces Actu Sitemap