cloud computing et High Performance Computing : un oxymoron ? (1/2)

Le Cloud Computing apporte la flexibilité et rend possible un grand nombre de nouveaux services. Est-il également adapté à la fourniture de services de calcul scientifique, et quel type de Cloud semble le mieux adapté pour cette tâche ? Je vous propose un point rapide sur la question en 2 posts.

le Calcul Hautes Performances ou "High Performance Computing" aujourd'hui

Issu d'une longue tradition d'amélioration des performances, le Calcul Hautes Performances (voir ORAP) est basé sur l'utilisation des composantes les plus performantes sur le marché en termes de processeurs, réseaux et stockage. En effet, l'une des conséquences de la loi d'Amdhal implique d'optimiser toutes les briques intervenant dans un process.

A l'instar de ce qu'est la Formule 1 pour l'automobile, les supercalculateurs ont toujours représenté l'état de l'art en matière de performances, et ont évolué vers la mise en commun de composants standard du commerce travaillant en parallèle plutôt que vers des machines dédiées, essentiellement pour des raisons de coûts de fabrication et de maintenance. Pour les applications parallélisables, c'est la meilleure solution en terme de ratio performance/prix.

Les solutions HPC actuelles étant constituées de briques quasi-standard bien qu’optimisées (CPUs, GPUs, stockage, réseaux d'interconnexion), il est légitime de se poser la question de la validité des ressources de Cloud Computing dans ce domaine.

le Cloud Computing et la performance

Les infrastructures dédiées au Cloud Computing reposent également sur des briques standard, mais s'appuyent également sur la virtualisation des couches matérielles pour ajouter généralité et flexibilité. Sans cette technologie, l'implémentation de l'informatique à la demande ne serait pas réalisable.

Malheureusement, et même si celà s'améliore progressivement, le recours à la virtualisation diminue les performances brutes d’un système. Il peut donc paraître curieux de vouloir construire des solutions HPC basées sur des ressources de Cloud Computing.

Pourtant, de nombreux cas existent, que ce soit dans la communauté scientifique (CERN, Météorologie, Océanographie, Génome), gros utilisateurs de HPC et d'environnement collaboratif, ou dans les implémentations en cours sur la base de MapReduce et d’Hadoop par exemple, dans des domaines tels que le Big Data, le Datamining ou la Business Intelligence.

quel type de Cloud pour quel environnement ?

Il n'est pas adéquat ici de rentrer dans le détail des types d'applicatifs nécessitant de la puissance de calcul, parallèle ou non, mais l'on peut tenter de classifier l'aptitude du Cloud Computing à adresser les problèmes par grands types d'utilisations.

Nous noterons que le réseau, sur lequel repose par nature le Cloud, pourra être différent dans les différents cas en termes de bande passante et de latence, et donc public, partagé, dédié ou privé.

Bref, je vous explique ma classification dans mon prochain post.

Gilles

credit photo : © Rob Bouwman - Fotolia.com

Gilles Deghilage

Passionné de physique, et spécialisé en simulation numérique, j’ai démarré mon expérience par des simulations de fluide turbulent 3D et de trajectographie spatiale. Pour comprendre les architectures nécessaires au calcul scientifique, toujours plus parallèles,  j’ai rejoint des constructeurs aux Etats Unis et en Europe, et ai suivi les évolutions vers le Grid Computing puis le Cloud Computing. Expert technique et commercial des solutions du domaine,  je me concentre aujourd’hui au « Business Development » Cloud en m’appuyant sur mon réseau dans l’écosystème IT.