melaure a dit:
Pourras-tu partager ton expérience de la mise en place du cluster et de comment tu fais du calcul partagé ?
Oui, c'est un peu l'idée.
C'est vrai que ça fait rire, mais j'ai aucune expérience de gestion de cluster... C'est pour ça que des gens d'Apple vont bientôt venir au labo pour le set-up.
En fait, mes problèmes sont en général des 'embarrassingly parallel computations' en ce sens que le caractère parallèle des calculs est vraiment réduit:
Je simule des particules, elles sont indépendantes, de même que leur effet sur la matière: on a simplement sommation des effets.
RQ: le cas 'standard' du calcul massivement parallèle, c'est soit dans le domaine de la gestion de base de donnée lourde, soit quand les 'évènements' sont liés, exemple en hydrodynamique: par exemple dans un Y, ce qui arrive d'un coté du tuyau a un impact sur ce qui arrive de l'autre côté, et à la jonction faut tenir compte de l'ensemble, etc...
Dans mon cas, c'est simple: si je simule 100 milliards de particules en 10 jours sur une machine, j'obtiens strictement le même résultat en 1 jour si j'ai 10 machines équivalentes en baterie...
Reste quelques soucis:
comment gérer les tâches, par exemple lancer, depuis le Xserve, un job qui sera exécuté sur les 15 G5, en répartissant la charge de travail puis en récupérant les résultats (et en les mettant en forme). En gros, le but c'est de rendre la chose aussi transparente que possible pour l'utilisateur. Quand un programme est compilé dans cette optique (par exemple avec MPI), on a de jolis utilitaires pour faire ça (pooch par exemple). Si ce n'est pas le cas, soit on improvise (shell script - Applescript peut-être?), soit on transforme le code pour qu'il supporte MPI (pas ma tasse de thé, mais bon, si j'arrive à avoir des étudiants motivés, c'est sans doute un bon sujet de stage).
Dans ce second cas, il faut penser à la division du travail en batches exécutables sur les divers noeuds, mais le problème essentiel est la reconstruction d'un fichier de sortie unique à la fin des calculs.
J'ai d'autres contraintes, par exemple le cluster devra être attaquable à distance par les collègues qui viendront exécuter leurs codes chez nous. Faudra gérer ça aussi.
Je ne suis pas inquiet car je sais que des solutions existent (dans le monde Linux par exemple, Condor?). Reste qu'il faut les mettre en oeuvre, et essayer - si possible - de tirer au mieux profit du côté Mac de la chose (si en plus c'est convivial...).
Bon, c'est un résumé rapide du contexte. Je pense à terme faire une page dédiée au cluster, sa vie, son oeuvre, etc... Faut du temps, c'est tout...
Reste que pour moi c'est important, car si ça peut motiver des étudiants à venir chez moi, c'est tout bon...