DEA : Serveur interactif de cartes géographiques (2000)

  • Lieu : Laboratoire de Modélisation et de Calcul (LMC-IMAG), projet INRIA-APACHE, Grenoble.
  • Encadrant : M. Jean-Marc Vincent (ID-IMAG), maître de conférences de l'UJF.
  • Collaboration scientifique : M. Claude Grasland (Laboratoire Géographique, UMR Géographie-Cités, Paris).
  • Collaboration industrielle : Syrinx (éditeur), Paris (http://www.syrinx.fr).
  • Site internet : (http://www-lsr.imag.fr/HyperCarte/) .

L'utilisation des machines parallèles, comme par exemple une grappe de processeurs, permet d'obtenir d'une puissance de calculs bien supérieure à celle des machines traditionnelles, sans être aussi coûteuses que la technologie multi-processeurs. De plus, pour exploiter correctement les capacités offertes par ces machines parallèles, il est nécessaire d'avoir recours à une programmation efficace et portable. Mais la majorité des utilisateurs ne peut avoir accès à une telle technologie, celle-ci restant encore trop coûteuse.

Dans ce cadre des applications gourmandes en calculs et des architectures parallèles, mon projet de DEA présentait un serveur interactif de cartes géographiques parallélisé sur une grappe de processeurs. Ce serveur interactif visait à offrir à ses utilisateurs la possibilité d'exécuter leurs applications, traitant un grand volume de données et un grand nombre de calculs, sur une grappe de processeurs. L'objectif final était bien entendu de diminuer leurs temps d'exécution dans le but d'obtenir des réponses en temps réel, grâce notamment à la parallélisation des programmes.

Serveur de cartographie

Fig1 : Potentiels de la population mondiale en 1990 en fonction du rayon d'interaction R = 250, 500, 1000 et 2000 km (respectivement de gauche à droite et de haut en bas).

Pour élaborer ce serveur interactif, nous avons ciblé un type d'applications bien précis en parallélisant des algorithmes de traitement statistique des données démographiques mondiales UNEF GRID. Ce travail a notamment été réalisé en collaboration avec une équipe de géographie du CNRS (URA 1243) à Paris. J'ai ainsi implanté une application de construction de cartes géographiques pour valider cette approche. J'ai notamment diminué le temps de calcul ainsi que la place mémoire nécessaire à la création des cartes géographiques grâce à la parallélisation des algorithmes (calculs de convolution) et à l'utilisation d'approximations mathématiques (interpolation de Hermite) introduisant une phase de pré-calculs. De plus, une particularité ayant trait à l'architecture caractéristique des serveurs résidait dans le fait que notre serveur avait à traiter un flux de requêtes de la part des clients. A la suite de ces requêtes, le serveur avait ensuite, par l'intermédiaire de ses processus fils, à exécuter à plusieurs reprises les applications. J'ai alors exploité le fait que l'exécution d'une première requête pouvait être réutilisée pour une requête suivante, permettant ainsi d'éviter une nouvelle exécution de l'application (emploi de caches de calculs). Au final, la construction des cartes souhaitées était réalisée en temps réel, alors qu'elles nécessitaient au préalable plusieurs heures de calcul (cf. mémoire de DEA).

Afin de faciliter l'utilisation de ces programmes par les géographes, j'ai également créé une interface intégrée sur un navigateur web permettant la variation des paramètres de calculs et la pré-visualisation des cartes et des courbes souhaitées. La visualisation finale était ensuite réalisée par les géographes à l'aide de logiciels spécialisés.

En terme de réalisation logicielle, la plate-forme finale que j'ai réalisée, incluant une interface Java et la construction des cartes géographiques en parallèle, a nécessité environ 10 000 lignes de codes en C, MPI, Java et Perl. La version séquentielle du logiciel, réalisée avec M. Grégory Mounié (ID-IMAG), a été fournie et intégrée dans le CD-Rom "6 milliards d'hommes" dirigé par G. Pison (M.H.N.) et a été publiée par la société Syrinx (Paris).