High Throughput Computing (HTC)
Pour beaucoup de scientifiques, le progrès et la qualité scientifiques de la recherche sont fortement liés au débit de calcul. En d’autres termes, la plupart des scientifiques sont concernés par combien d’opération à virgule flottante par mois ou par année ils peuvent extraire à partir de leur environnement de calcul plutôt que le nombre de telles opérations l’environnement peut fournir par seconde ou minute. Les opérations à virgule flottante par seconde (FLOPS) ont été la mesure employée pour l’évaluation des environnements de Calcul Haute Performance (HPC). Peu d’attention a été consacrée par la communauté informatique aux environnements qui peuvent fournir de grandes quantités de capacité de traitement sur de longues périodes. Nous faisons référence aux environnements de Calcul Haut Débit (HTC : High Throughput Computing). Le traitement à haut débit (HTC) est opposé au traitement à haute performance (HPC). Là où le premier est évalué sur le long terme, le second implique des résultats à court terme. C’est ainsi que plutôt qu’en MIPS (millions of instructions per second), les performances des applications à haut débit sont mesurées en TIPY (trillions of instructions per year).
La clef à HTC est la gestion et l’exploitation efficaces de toutes les ressources informatiques disponibles. Puisque les besoins de calcul de la plupart des scientifiques peuvent être satisfaits de nos jours par le CPUs et la mémoire de l’ordinateur, le rendement élevé ne joue pas un rôle important dans un environnement de HTC. Le plus grand challenge d’un environnement HTC est comment maximiser la quantité de ressources accessibles aux utilisateurs. En d’autres termes, le but ici n’est pas de rechercher la performance pure comme dans le cas précédent mais de rentabiliser au maximum des ressources en récupérant les cycles processeurs non utilisés quand celui-ci est oisif (idle). On pense bien entendu aux stations de travail qui sont généralement très largement sous utilisées, ne serait-ce qu’en dehors des heures de bureau.
Les grilles informatiques
Depuis quelques années, l’informatique répartie et les technologies associées sont dans une constante évolution technologique et économique. Dans ce contexte, le terme « The Grid » ou « grille de calcul », a été introduit pour décrire une infrastructure de calcul répartie utilisée dans des projets de recherche scientifique et industrielle aux Etats-Unis durant les années 1990.
a. Pourquoi les grilles informatiques ? De plus en plus les applications développées de nos jours sont gourmandes en puissance et en stockage. Ce qui entraîne un problème de dimensionnement des ressources. Aussi ces applications utilisées par une communauté géographiquement distribuée permet le travail collaboratif. D’où le partage des données et des applicatifs posant ainsi le problème d’accès partagé aux ressources. Pour les chercheurs, il fallait trouver des possibilités pour accéder aux ressources, interagir avec des collègues, analyser d’énormes volumes de données et de partager des résultats. Ensuite incorporer des ressources existantes qui sont hétérogènes et dynamiques. L’accès aux services informatiques devrait être comparable en coût et facilité au branchement d’appareils sur le réseau électrique. Cet accès devrait être aisé et transparent quels que soient la puissance nécessaire, la complexité des équipements matériels et logiciels mis en oeuvre, les fournisseurs du service. Raisons des grilles de calcul Il est important de savoir quels avantages une grille de calcul est en mesure d’offrir que les infrastructures et les technologies actuelles ne sont pas capables d’assurer. Nous exposons dans la suite quelques unes des raisons pouvant amener à déployer une grille de calcul.
• Exploiter les ressources sous utilisées : les études montrent que les ordinateurs personnels et les stations de travail sont inactifs la plupart du temps. Le taux d’utilisation varie entre 30% (milieux académiques et industriels) et 5% (machines grand public). Les grilles de calcul permettront ainsi d’utiliser les cycles processeurs durant lesquels les machines sont inactives afin de faire tourner une application nécessitant une puissance de calcul importante et que les machines qui lui sont dédiées n’arrivent pas à assurer. Les cycles processeur ne sont pas la seule ressource sous utilisée ; souvent les capacités de stockage le sont aussi. Ainsi il est possible qu’une grille agrège toutes ces ressources afin de les partager entre les différents utilisateurs importante capacité de calcul parallèle constitue une caractéristique importante des grilles de calcul. En plus du domaine académique, le milieu industriel bénéficiera énormément d’une telle capacité : bioinformatique, exploration pétrolière, industrie cinématographique etc. en effet les applications sont écrites d’une façon à pouvoir exploiter parallèlement des ressources (clusters, machines multiprocesseur …). Les grilles de calcul peuvent de la même manière fournir des ressources dont l’utilisation pourra se faire en parallèle.