Répondre aux grandes questions du monde actuel avec le HPC

Le calcul de haute performance constitue un secteur de pointe caractérisé par la puissance et le potentiel incroyables des processeurs et systèmes de conception actuels. Les défis à relever sont nombreux et dépassent le cadre informatique.

Peu sont ceux, parmi nous, qui utilisent véritablement le HPC. Pourtant, nous pourrions tous tirer parti de ces systèmes qui relèvent les défis les plus complexes auxquels nos sociétés sont aujourd’hui confrontées. De la prévision de la houle océanique et des cyclones à la simulation de l’impact d’une pandémie ou d’un déversement de produits chimiques dans l’environnement, en passant par l’analyse des étoiles et des galaxies les plus anciennes de l’univers, ou encore la découverte des causes d’une pathologie ou d’une maladie mentale, les systèmes HPC sont à la pointe de la recherche scientifique et universitaire. En regroupant des ordinateurs en grappes (clusters), les concepteurs de systèmes peuvent ainsi concentrer une puissance de calcul considérable, apte à produire les connaissances qui sauveront des vies et aideront les chercheurs à comprendre les mystères de l’univers.

Les systèmes devenant de plus en plus rapides, la capacité à relever ces défis s'en est trouvée renforcée. Cependant, la problématique est bien plus complexe que le simple fait de tirer profit de l'augmentation régulière du nombre d'instructions élémentaires que traitent les processeurs. La conception de systèmes HPC est un défi plus vaste, qui nécessite la création d'un système équilibré dans lequel les cycles de traitement sont supportés par la mémoire vive, les entrées/sorties, le stockage, les sous-systèmes graphiques etc.

Ces derniers temps, le développement des systèmes HPC a gagné en complexité du fait d'une autre préoccupation : la puissance absorbée. Depuis plusieurs années, en effet, l'électricité s'est avérée être l'un des principaux postes de coût d'exploitation des centres de données¹ (ou datacenters). Le prix du baril ayant de nouveau atteint la barre des 100 dollars au début de 2011, ce problème ne semble pas en voie de règlement². Conscients du défi énergétique, les fabricants de processeurs se devaient donc de créer de nouvelles générations de puces qui conservent la même « enveloppe » énergétique. La puissance de traitement augmente, mais la consommation électrique reste la même : on obtient ainsi des performances supérieures pour un surcoût minime.

Cependant, il ne faut pas perdre de vue que l'un des défis du HPC est d'apporter une solution à des problèmes plus importants grâce à une capacité de calcul croissante. Il existe plusieurs méthodes pour cela, certaines évidentes, d'autres moins. Parmi les plus évidentes figurent des méthodes communément appliquées par les concepteurs de microprocesseurs pour améliorer la performance. Sans doute le phénomène le plus notable est-il l'intégration poussée : les concepteurs de puces ajoutent des coeurs de calcul de sorte que les processeurs d'aujourd'hui sont en fait plusieurs processeurs réunis au sein d'une seule et même puce. Nous pouvons également souligner le multithreading, selon lequel des threads (unités de traitement) sont exécutés en parallèle pour offrir une meilleure utilisation des ressources, ou encore une augmentation de la mémoire cache directement sur la puce.

Mais il nous faut aussi plus de créativité. Avec la nouvelle catégorie de puces que représentent les APUs (Accelerated Processing Unit), les concepteurs de circuits combinent les fonctions traditionnellement supportées par les processeurs de calculs (CPUs) avec celles supportées par les processeurs graphiques (GPU) afin de répondre aux besoins d'un monde de plus en plus gourmand en graphismes dans lequel la compréhension passe par la visualisation. Nous devons aussi nous pencher sur les travaux de certains développeurs qui ne font certes que rarement les gros titres, mais qui n'en restent pas moins de puissants facteurs de performance. Les évolutions des jeux d'instructions, telles les extensions AVX sur certains processeurs, ou le travail d'optimisation des compilateurs et des outils de développement seront aussi importants que certaines évolutions bien plus médiatisées.

Dans les déploiements grandeur nature, l'alliance du matériel, du logiciel et des hommes est seule garante des meilleurs résultats. Par exemple, le directeur du centre de calcul de haute performance PDC de Stockholm (PDC Center for High Performance Computing) - qui dépend du Royal Institute of Technolgy suédois - préside une installation visant à fournir des outils pour une large palette de projets scientifiques et universitaires en Suède, parmi lesquels des projets de recherche sur la dynamique moléculaire, des simulations de fusion qui pourraient conduire un jour à de nouvelles sources d'énergies, ou encore des moyens de contrer les turbulences en vol. Le système actuel Cray XE6 du PDC regroupe un ensemble de 1 516 processeurs, totalisant 36 384 coeurs pour fournir une puissance de traitement de plus de 300 teraflops, ce qui en fait l'un des systèmes les plus puissants d'Europe. Avec ce formidable arsenal, le centre de calcul doit pouvoir répondre à toutes les parties prenantes et à leurs différentes applications logicielles. Entre autres défis, il doit fournir les connaissances qui permettront de s'assurer que les logiciels tireront parti des améliorations matérielles, en étudiant les caractéristiques de performance des programmes et en assurant le retour d'information aux différentes parties prenantes. En outre, tout en s'efforçant de réduire les factures d'électricité, il cherche à recycler la chaleur dégagée par le datacenter pour chauffer d'autres bâtiments.

Quel futur pour le HPC ? Dans un premier temps, les progrès constants de la technologie augmenteront notre capacité à examiner le monde et à l'améliorer. Il se pourrait qu'à l'avenir, les outils HPC ne soient plus le domaine réservé des spécialistes. Il suffit de regarder du côté de Microsoft, qui vante les mérites de son système d'exploitation Windows HPC Server comme un moyen de mettre le HPC à la portée, sinon du grand public, du moins de petits groupes de travail qui ont besoin d'accéder à des systèmes ultra-rapides pour résoudre des tests de scénarios prédictifs d'entreprise ou encore créer des effets vidéo complexes. Avec le cloud computing, un nombre croissant d'entre nous pourrons accéder à ce niveau de puissance sans dépenser des sommes astronomiques. Les questions posées aux systèmes d'information d'aujourd'hui figurent parmi les plus complexes que l'humanité ait jamais eu à résoudre. Mais, avec le HPC, nous disposons peut-être des moyens d'y répondre.
 
¹Jonathan G. Koomey, Présentation du Laboratoire national Lawrence Berkeley et de l'Université de Stanford, mars 2009 (slide 19)
www.slideshare.net/gigaom/jonathan-koomey-the-environmental-cost-of-cloud-computing

A voir également :
« Au prix actuel, les frais d'exploitation (à savoir l'énergie) d'un serveur x86 dépasseront en trois ans le coût de ce serveur. » - Gartner research, Novembre 2010
www.gartner.com/it/page.jsp?id=1472714

² « D'ici à 2012, les coûts de l'électricité des systèmes d'un datacenter  sur la totalité de leur durée de vie utile excéderont le coût d'investissement initial de ces systèmes ». - Administration des services généraux des États-Unis et Guide du Département américain de l'Énergie
http://www1.eere.energy.gov/femp/pdfs/data_center_qsguide.pdf