bonjour a tous, un probleme un peu vague aujourd'hui :-)
je developpe en collaboration avec une equipe de chimiste un petit programme qui fait du calcul assez voire tres violent.. ca fait quelques mois que je suis dessus, je ne suis pas un programmeur "pro" (je suis etudiant en maths) mais je pense avoir pas mal epuisé les possibilités d'optimisation de l'algo (environ 20 fois plus rapide qu'au debut, notamment en "specialisant" l'algo par rapport a des particularité des données traitées.)
seulement voila, on attaque la classe au dessus au niveau difficulté, et du coup ca commence a ne plus suffir. en fait, ils ont mobilisé 5/6 ordis qu'ils font tourner au maximum, et jusqu'ici ca allait bien, les calculs prenait entre 10 minutes et 4 jours...
seulement maintenant, au bout de 5/6 jours on n'obtient rien, et comme il est tres difficile de prevoir le temps que ca va prendre, on ne veut pas monopoliser des ordis pour rien.. donc a priori, il faut augmenter la puissance de calcul..
les questions, donc :
- est ce que quelqu'un a une idée miracle pour booster tout ca ? (ca coute rien de demander )
- dans la negative, je pense que le meixu est de commencer a regarder du cote du calcul distribué : au lieu de faire tourner 5 ordis sur 5 jeux de données differentes, on les fait tourner tous les 5 sur un seul, mais du coup on pourra au moins voir si les calculs qu'on veut faire sont du domaine du possible :-)
donc est ce quelqu'un aurait un lien vers un bon tuto qui parle de ca, une librairie qui fait ca bien (compatible linux/windows)...
en gros, l'algo est plus ou moins recursif binaire.. et comme rien n'est simple, on ne peut pas tellement couper le probleme au depart et donner un bout a chaque ordi ! puisque certaine "branche" peut etre terminée beaucoup plus vite que d'autre, il faudrait que chaque ordi puisse redemander dynamiquement du travail, cad soulager un autre ordi en lui prenant une partie de ce qu'il "projetait" de faire...
voila, ca n'est pas tres clair, (pour moi non plus :-) ), mais je vous remerci d'avance pour votre aide !
Partager