11.4.2.3 : Parallélisation sur la Grille



Il est important de souligner que l'utilisation de la programmation parallèle ne diminue qu'exceptionnellement le temps de calcul total du programme, accumulé sur tous les processeurs. Elle aura généralement plutôt tendance à l'augmenter. Ce n'est donc une optimisation du débit de données traité par unité de temps que lorsqu'on cherche à traiter un calcul unique le plus rapidement possible sur une machine qui n'a rien d'autre à faire. Ce qui est par exemple le cas en calcul intensif, ou lors d'une analyse interactive sur le poste de travail d'un physicien.

Si en revanche on souhaite traiter des jeux de données indépendants bien plus nombreux que le nombre de cœurs de calcul disponible, et dispose d'un système de parallélisation automatique entre jeux de données comme celui de la Grille, une parallélisation interne à chaque traitement n'améliorera pas le débit de données traité par seconde. Son seul intérêt sera de réduire la latence des calculs, c'est-à-dire le temps écoulé entre soumission d'un calcul et obtention du résultat. C'est la raison pour laquelle ce type de parallélisation n'a pas été beaucoup pratiqué dans la communauté IN2P3 historiquement.

La parallélisation des tâches individuelles sur la Grille ne doit donc pas être vue comme un substitut à l'optimisation du temps de calcul séquentiel, mais comme un complément de celle-ci qui vise à optimiser d'autres aspects du calcul que le débit de données traité par cycle processeur utilisé. Par exemple la latence, l'utilisation des ressources mémoire, la consommation d'énergie noteLe parallélisme réduit la consommation énergétique des processeurs de plusieurs façons. Il permet d'obtenir une même puissance de calcul à une fréquence d'horloge plus faible, ainsi que de terminer plus rapidement un calcul pour ramener le système à un état de repos très économe en énergie., ou la bande passante des entrées-sorties.