Quand le calcul intensif s'invite à la maison

Par
Le 23 juillet 2008
 0
00c8000001484524-photo-set-home.jpg
Depuis que la science utilise l'informatique dans des domaines comme la physique des particules, la biologie moléculaire ou encore l'astronomie, les chercheurs ont un besoin toujours plus important de puissance de calcul. Parallèlement, le nombre d'ordinateurs dans le monde ne cesse de croître, tout comme la vitesse des réseaux qui parcourent les continents. Partant de ce constat, quelques chercheurs et informaticiens se sont interrogés sur l'énorme potentiel que représente le parc informatique planétaire face à des problèmes scientifiques toujours plus complexes. En effet, cette solution de calcul externalisée se veut à la fois d'une puissance inégalée et d'un coût de production relativement faible en comparaison des supercalculateurs et autres clusters utilisés dans les universités.

Alors que s'est tenue la semaine dernière en Hongrie la sixième école d'été sur le calcul en grille, peu de gens savent exactement de quoi il en retourne. Ces problèmes très pointus n'intéressent qu'une poignée d'individus surdiplômés, pourriez-vous même penser. Pourtant, plusieurs d'entre vous (ou plutôt vos ordinateurs) pratiquent ce genre de calculs tous les jours. Les Seti@Home, Folding@Home et autre FightAids@Home sont en effet quelques-uns des exemples les plus connus de Grid Computing.

Le calcul distribué, partie du calcul intensif


Qu'est-ce exactement que le calcul en grille ? C'est une partie de ce que l'on appelle le calcul intensif, qui est pratiqué par les scientifiques et quelques industries privées pour venir à bout de problèmes qui nécessitent de très grandes ressources informatiques, tant au niveau du temps de calcul que de la capacité de stockage.

012c000000323071-photo-cea-tera-10-supercalculateur.jpg
Tera 10, le supercalculateur du CEA


Traditionnellement, les recherches utilisant du calcul intensif s'effectuent sur des supercalculateurs ou des grappes (ou clusters) de dizaines, voire de centaines d'ordinateurs uniquement dédiés à ces opérations. Le problème de ces systèmes est leur coût, tout d'abord, mais aussi leur puissance toute relative comparée au nombre de personnes les utilisant, chacune d'entre elles proposant à la machine des calculs qui peuvent durer de plusieurs heures à plusieurs semaines. Conséquence : la plupart du temps, la file d'attente est longue et ralentit considérablement la progression des scientifiques.

Une chaîne d'éléments distants


0078000001484556-photo-chaine.jpg
Il faut savoir que parmi les calculs scientifiques, nombre d'entre eux sont parallélisables, ce qui signifie qu'un gros problème peut être découpé en une multitude de sous problèmes indépendants les uns des autres. Compte tenu de ce paramètre a germé une autre possibilité d'effectuer les opérations : le calcul en grille, qui englobe plusieurs notions, dont le calcul distribué. Le principe est simple, faire travailler les ordinateurs de volontaires dont le processeur est rarement occupé au maximum de ses possibilités.

Plusieurs éléments composent cette chaîne de calcul :
  • la source des informations en est le premier maillon. Ces sources peuvent être de formes multiples : télescopes, détecteurs de particules, ordinateurs (pour les simulations numériques)... ;
  • ces données transitent ensuite par le cerveau qui les centralise, les distribue et optimise le système afin de mieux répartir la charge selon les disponibilités de chacun. Ce cerveau est appelé le « courtier en ressources » et nous reviendrons sur son rôle par la suite tant il est important ;
  • toutes ces informations passent par le réseau, élément à part entière de la chaine, et dont les propriétés (notamment de vitesse) comptent pour beaucoup dans la progression des calculs ;
  • enfin une application installée par vos soins sur votre ordinateur ferme cette chaîne. Son rôle est d'envoyer un message pour spécifier qu'il est prêt à calculer, de réceptionner les informations envoyées par le serveur, d'effectuer le calcul demandé et bien sûr d'expédier en retour les résultats obtenus.
En résumé, la part de travail fournie par l'internaute volontaire ne réside que dans l'installation d'un logiciel client qui va ensuite utiliser les ressources de sa machine lorsque celle-ci sera inutilisée (en veille, typiquement).

Qui est le cerveau de l'opération ?


Le travail du courtier en ressources, lui, est autrement plus complexe. Il va en effet devoir constamment envoyer et recevoir des données vers ou en provenance de n'importe quel endroit du monde, repartir les calculs selon les ressources de calcul et de stockage disponibles (et pour cela, établir un traitement statistique de celles-ci). C'est autour de lui que s'organise toute la chaîne. Le travail de répartition des calculs, notamment, est le plus délicat : en effet, il est plus délicat de travailler sur une grille externalisée que sur une grappe de nœuds à cause de l'hétérogénéité des machines. L'optimisation de la tête pensante de ce réseau de calcul est donc l'un des domaines de recherche les plus prisés du moment.

Le fonctionnement client-serveur n'est cependant pas le seul à exister dans le calcul distribué qui s'est également inspiré de ce qui existait dans des domaines d'échange de données en général. Ainsi la technologie peer-to-peer peut également s'appliquer à ce style de réseau.

Quid de la sécurité ?


0078000001473574-photo-dossier-s-cu-s-curit-informatique.jpg
Dès que l'on parle réseau, il faut évidemment parler sécurité. Et le problème est double ici. En effet, les données qui transitent entre le serveur et votre terminal sont d'une importance capitale pour les chercheurs qui les utilisent au jour le jour. S'il advenait qu'elles soient corrompues ou perdues, les efforts des uns et des autres seraient réduits à néant.

D'un tout autre point de vue, qu'en est-il de la sécurité des bénévoles qui acceptent qu'un flux important de données entre et sorte chaque jour de leur machine ? En avril 2003, le programme Seti@Home avait souffert d'une faille de sécurité relativement importante. La question de la sécurité est donc un paramètre essentiel du calcul distribué dont les concepteurs des logiciels « courtier en ressources » doivent impérativement tenir compte.
Modifié le 01/06/2018 à 15h36
scroll top