déc
07
2007
Simulation d’un système de drainage dans une mine en C++ et MPI avec une interface en Java
On s’intéresse ici à la réalisation d’un système de commande assurant une fonction de drainage dans une mine. Le but de ce système est de réguler le niveau d’eau au fond de la mine, par la mise en route d’une pompe lorsqu’un certain seuil (« niveau-eau-haut ») est atteint voir dépassé et ceci jusqu’à ce qu’il soit ramené au niveau d’un autre seuil (« niveau-eau-bas »).
La pompe ne doit toutefois pas fonctionner si les niveau en gaz toxiques présents dans la galerie, méthane et monoxyde de carbone, sont supérieurs à certains seuils (« seuil-CH4 » et « seuil CO »). Un ventilateur permet donc, lorsque cela est nécessaire, d’évacuer ces gaz vers la surface. On souhaite par ailleurs minimiser l’utilisation du ventilateur.

Seront utilisés pour modéliser ce système :
- MPI pour la communication en entre les différents processus (pompe, capteurs, ventilateur…)
- C++ comme langage de développement pour l’applicatif
- Le langage Java avec Swing pour l’interface graphique
- Les threads et les sockets en C++ et en Java pour la communication entre l’applicatif et l’interface
Le rapport avec les sources en annexe.
nov
05
2007
Tutoriel et exemples sur la programmation parallèle grâce à MPI.
De nos jours, les avancées technologiques orientent les concepteurs de systèmes vers une augmentation du nombre de ressources pour effectuer un traitement plutôt qu’augmenter la puissance d’une ressource pour exécuter ce même traitement. Ceci est la conséquence de phénomènes physiques empêchant une augmentation infinie de la puissance des ressources. Nous en voulons pour preuve l’annonce par Gordon Moore en septembre 2007 prédisant la désuétude de sa loi selon laquelle le nombre de transistors sur une puce de silicium double tous les deux ans. De ce fait, afin d’accroître la puissance de calcul, la mise en parallèle de plusieurs ressources est l’alternative la plus crédible.
L’ouvrage en pdf, les sources
Table des matières
Du parallélisme à MPI
1. Pourquoi programmer des applications parallèles ?
2. Problèmes liés à la programmation parallèles ?
3. Quels sont les architectures existantes ?
4. Comment MPI-2 répond à nos attentes ?
Installation de l’environnement et premier programme
1. Les composants nécessaires au développement
a. OpenMPI
b. Eclipse et PTP
2. Installation des composants
a. Eclipse
b. CDT
c. OpenMPI
d. PTP
e. PLDT
3. Configuration préliminaire
a. Lancement d’Eclipse
b. Configuration
4. Hello World
Les concepts par l’exemple
1. Squelette d’un programme MPI
2. L’envoi et la réception de message
a. Les fonctions Send et Recv
b. Les types de données OpenMPI
c. L’envoi de messages point à point en mode synchrone
d. Envoie de messages en mode asynchrone
3. Le rendez-vous
4. La diffusion
Cas d’utilisation : le supercalculateur
1. Présentation de l’application
2. Fonctionnement
3. Vu de l’intérieur
4. Conclusion sur le supercalculateur
Conclusion
Table des illustrations
Table des sources
Glossaire
Bibliographie