Bonjour,
Comment faire un programme en Visual C++ qui utilise les ressources de calcul de 2 ou plusieurs ordinateurs PC ?
Merci,
Christophe,
Bonjour,
Comment faire un programme en Visual C++ qui utilise les ressources de calcul de 2 ou plusieurs ordinateurs PC ?
Merci,
Christophe,
Bonjour,
Le calcul distribué un sujet très complexe. Tu pourrais par exemple monter tes ordinateurs en cluster, ou encore faire du grid computing, etc.
Pour commencer tu peux regarder ici :
http://fr.wikipedia.org/wiki/Calcul_Distribu%C3%A9
Faire du "clustering" n'est pas évident, il faut des O.S le supportant, un parc machine relativement homogène...
Si tu souhaite ne rien changer à ta (tes) configuration(s) actuelle(s), regarde ce qui se rapporte à la programmation parallèle :
http://en.wikipedia.org/wiki/Parallel_programming
Tu peux choisir une parallèlisation explicite ou implicite voir un mode hybride (le plus performant mais le plus difficile à mettre en oeuvre...).
Le couple gagnant en hybride est surement OpenMP + MPI. Par bonheur, la version de Visual C++ 2005 (mais pas la version express !) supporte OpenMP dans sa spécification 2.0.
Il y a deux très bon tutoriaux sur dev.com au sujet d'openMP et MPI :
http://semelin.developpez.com/cours/parallelisme/
http://chergui.developpez.com/cours/...elisme/openmp/
regarde aussi du coté de PVM (Parallel Virtual Machine).
Il y a beaucoup de solutions pour ce type de calculs et il est malheureusement assez difficle de s'y retrouver. Le mieux est encore de regarder sur internet pour faire le tour de la question (tout en sachant qu'openMP et MPI sont peut être les plus utilisés).
Il faut aussi se poser les questions nécessaires à l'algorithmie et à l'implémentation en générale :
le calcul est-t-il réellement partageable en de multiples tâches (question triviale mais nécessaire) ?, indépendance d'une partie du calcul sur le résultat final ?, vitesse de transfert (mieux vaut du Gigabit ethernet qu'un 10 Base T :p), etc.
Bon courage, c'est un sujet passionnant mais pas simple du tout.
Partager