déc 07 2007

Simulation d’un système de drainage dans une mine

Published by Romain Bouleis under Developpement, Réseaux

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.

Drainage

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.

No responses yet

nov 05 2007

MPI 2 : Des concepts à la réalisation

Published by Romain Bouleis under Developpement

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

No responses yet

oct 05 2007

Système multi-agents de tri de mails en java

Published by Romain Bouleis under Developpement

Cette application écrite en Java tri des mails fictifs grâce à l’interconnexion de multiples Agents (Thread).

Un agent a pour « mission » de récupérer les mails dans la liste d’attente et de vérifier si il satisfait une règle
interne. Si la règle est satisfaite (par exemple, que le sujet du mail ne contienne pas le mot « drugs »), alors
l’agent donne le mail à l’agent suivant qui va faire de même. Si la règle n’est pas satisfaite, alors le mail sera
mis dans la liste de spams. Enfin, le dernier agent, si sa règle est satisfaite elle aussi, mettra le mail dans la boite
de réception.

le rapport complet : ici
l’application et les sources (java 1.6) : ici

No responses yet

mai 24 2007

Modélisation d’un carrefour à feux en java

Published by Romain Bouleis under Developpement

Afin de matérialiser la gestion d’un carrefour, nous avons imaginé une application modulable mettant en scène des voitures circulants sur plusieurs routes sur lesquelles sont placés des feux. Ce compte rendu présente cette application, son développement, ses avantages et ses (quelques) inconvénients ainsi que, en guise de conclusion, un avis personnel sur l’ensemble du sujet traité.

Screenshot

Le rapport complet : ici
Le jar executable avec les sources (java 1.5 min) : ici

No responses yet