dimanche 30 juin 2013

Teratec 2013 : l'architecture des accélérateurs dans une impasse ?

A lire sur:  http://www.lemondeinformatique.fr/actualites/lire-teratec-2013-l-architecture-des-accelerateurs-dans-une-impasse-54169.html

Comme tous les ans, la manifestation Teratec a rassemblé la communauté HPC à l'École Polytechnique à Palaiseau.
Juste après le salon International SuperComputing 2013, du 16 au 20 juin à Leipzig cette année, la manifestation Teratec est l'occasion de discuter avec les principaux acteurs du marché de la simulation numérique et du calcul intensif en France.

Claude Halk, directeur marketing serveurs chez IBM est revenu sur l'offre de Big Blue architecturé sur la plate-forme System X iDataplex. Une solution particulièrement dense, 84 serveurs dans une armoire, avec des Intel Xeon E5-2600 (huit coeurs) et épaulés suivant les besoins par des accélérateurs de type GPU ou Xeon Phi. « Les développements sur Xeon Phi sont plus simples que sur Cuda mais si les compilateurs x86 sont les mêmes, il faut entrer dans le code pour l'optimiser et exploiter le parallélisme. » Rappelons que les Xeon Phi sont basées sur l'architecture x86, mais accueillent plusieurs dizaines de coeurs sur une carte PCIe contre « seulement » une dizaine pour les puces Xeon. IBM, qui a encore placé quatre de ses machines dans le Top10 des supercalculateurs, constate une grosse demande sur les systèmes combinant CPU et GPU dans le Top500, mais ne retrouve pas cet engouement en réel usage applicatif. « On ne vend pas tant que ça de GPU, on fournit généralement de gros clusters CPU et quelques noeuds GPU, en tout cas en France », nous a indiqué M. Halk. « Tout le monde n'en a pas l'usage, mais il y a toujours quelques machines avec du GPU. »

Xeon Phi contre GPU

Le marché des accélérateurs est toutefois en attente de solutions mieux adaptées au marché du HPC. Intel, qui est venu bousculer ce créneau avec son Xeon Phi l'année dernière, prépare une évolution majeure avec Knights Landing, attendue en 2015. Il s'agit en effet de rendre la plate-forme bootable en intégrant les coeurs Phi dans une puce Xeon pour éliminer le goulot d'étranglement des I/O sur le bus PCIe. Nvidia de son côté travaille sur une plate-forme ARM Tegra5 intégrant les coeurs Kepler utilisés dans ses GPU. Un projet connu sous le nom de code Logan. Une version 64 bits de ce programme est également annoncée, il s'agit du projet Parker (Tegra6 en fait) sur base Cortex-A57. Un premier pas dans ce sens a déjà été réalisé par Nvidia avec la livraison de la version 5.5 de l'outil de programmation parallèle Cuda 5.5 qui supporte désormais les puces ARM. Pour asseoir le développement de cette plate-forme combinant puces ARM et GPU Kepler, Nvidia propose déjà un kit de développement - Seco MITX GPU Devkit - associant une carte mère équipée d'un processeur Tegra3 épaulée par une carte Quadro K2000 compatible Cuda (voir illustration), nous a expliqué Stéphane Quentin, responsable de la communication chez Nvidia.

Retravailler le code est toujours nécessaire

Jean-Pierre Panziera, CTO Extreme Computing chez Bull, ne dit pas autre chose en nous indiquant que l'architecture des accélérateurs est dans une impasse. « L'approche de Nvidia est très intéressante [l'association ARM/coeurs Kepler], mais le prochain Xeon Phi reposera sûr une architecture mieux intégrée. Les applications vont tourner de façon primaire sur les accélérateurs et le CPU prendra en charge les I/O. Le véhicule du calcul sera le GPU ou le Phi. On reprend les applications et les algorithmes, mais on change complètement les choses. Bull collabore d'ailleurs sur ces sujets à Reims avec Nvidia et à Grenoble avec Intel pour résoudre les problèmes posés par le passage de quelques dizaines à plusieurs centaines coeurs. « On oublie souvent la réalité du calcul intensif en France [...], les processeurs n'accélèrent plus et les coeurs se sont multipliés. Aujourd'hui, les applications ont beaucoup de mal à exploiter les possibilités offertes par le matériel, et ce même avec des applications potentiellement parallèles. Et le travail n'est pas plus simple sur Xeon Phi que sur Xeon, avec 60 coeurs au lieu de 12. Il faut de plus travailler 3 niveaux de parallélisme avec l'hyperthreading (2 à 4 threads par cycle), les coeurs et les processeurs. On retrouve la même chose avec la plate-forme Cuda : unités de calcul vectoriel, coeurs et cartes, même si Nvidia joue depuis longtemps sur la confusion entre unité vectorielle et core dans la présentation de ses cartes.

Nous reviendrons demain sur le sujet pour rendre-compte de nos autres rendez-vous sur le salon avec notamment des détails sur le serveur HP Moonshot capable d'accueillir des cartouches avec des puces Intel x86 et/ou ARM.

Article de Serge Leblal

Aucun commentaire:

Publier un commentaire