Réunion Dev@LAL 49

Europe/Paris
129 (LAL)

129

LAL

Participants
  • Antoine Pérus
  • Christian Arnault
  • David Chamont
  • François TOUZE
  • Hadrien Grasland
  • Jean-Noël Albert
  • Marc Nicolas
  • Mohamed Zayed
  • Monique Taurigna
  • Oleg Lodygensky

Evénement Intel

Antoine et David Chamont se sont rendu à la conférence Intel du 12 octobre sur la modernisation de code HPC[1], dont les transparents sont actuellement disponibles ici, et ont essayé de nous en faire un petit compte rendu.

Matériel

On ne peut pas aller à un événement organisé par un constructeur de matériel informatique, fût-il orienté développement logiciel, sans avoir droit à une petite page de publicité sur ledit matériel. Comme sujets abordés, il y a eu...

  • Nouvelle version du coprocesseur Xeon Phi ("Knights Landing" ou KNL)
  • Projet de mémore non-volative 3D-XPoint

Nous n'avons pas trop discuté de KNL, qui est une nouvelle tentative d'Intel d'offrir un produit de performance comparable aux GPGPUs[2] avec des arguments un peu plus convaincants que la première fois (mémoire locale rapide, absence d'offloading...).

Concernant 3D-XPoint, le produit a initialement été dévelopé dans l'optique produire une mémoire non-volatile de performances comparables à la DRAM, mais s'est finalement réorienté vers une plus modeste concurrence à la mémoire flash après que ses objectifs de performance aient dû être grandement revus à la baisse. Intel annoncent maintenant une latence 10x plus faible que la latence de la mémoire flash actuelle, une endurance en écriture 3x plus grande et des vitesses 3-4x plus rapides. Il reste cependant à voir si, d'ici la sortie du produit actuellement prévue pour 2017, ces chiffres resteront aussi impressionnants...

Il y a eu quelques discussions sur les difficultés que représenterait le remplacement d'une mémoire vive volatile par une mémoire non-volatile: nécessité de revoir en profondeur l'optimisation de performances des OSs[3], difficulté accrue de conserver les informations confidentielles en sécurité, risque accru de problèmes non solubles par un redémarrage de la machine...

Distribution Python Intel

Intel ont aussi présenté une distribution Python fortement optimisée pour leurs processeurs, par une refonte en profondeur des points chauds du code, et par l'intégration des bibliothèques Intel pour la résolution de problèmes mathématiques classiques (MKL[4]) et le parallélisme multi-coeur (TBB[5]).

Cette distribution est conçue pour avoir une interface compatible avec l'environnement Python usuel (Interpréteur CPython, NumPy, Matplotlib, etc). Elle peut dont être utilisée à la place de l'implémentation Python officielle de façon transparente. Le prix à payer est qu'on conserve aussi les défauts de l'implémentation Python officielle. Ainsi, le code Python ne peut pas tourner de façon parallèle avec des threads, seules les bibliothèques externes peuvent en utiliser en interne.

Parallèlement à cela, Intel ont aussi amélioré le support du Python dans leurs outils d'analyse de performance, comme le profileur VTune. L'idée générale étant de mieux supporter cet environnement, récemment devenu populaire dans la communauté scientifique.

Antoine et David ont rapidement testé l'installation de cette distribution lors d'un café LoOPS, mais ne sont actuellemnt pas allés assez loin pour en tirer des conclusions claires.

Démonstrations d'optimisation

Il y a eu quelques belles démonstrations d'optimisation par François Fayard, un consultant en calcul numérique et mathématiques appliquées.

Ayant manifestement une sensibilité plus scientifique et moins commerciale que les autres orateurs, il a présenté le processus d'optimisation de deux codes, l'un parlant d'intégration par méthode de Newton et l'autre parlant de classification.

Parmi les points d'optimisation abordés, quelques sujets classiques:

  • Usage superflu de fonctions lentes et non optimisables comme std::pow(x, 2)
  • Les problèmes des entiers non signés en vectorisation
  • Le placement des données en mémoire

Nous avons eu quelques discussions sur les entiers non signés. En gros, le problème est que leur sémantique en cas de débordement (retour à zéro) est très précise, ce qui empêche les compilateurs d'effectuer un certain nombre d'optimisations comme du réordonnancement d'opérations.

Réunion ORAP "High Performance Data Analytics (HPDA)"

David s'est rendu à une réunion de ORAP (ORganisation Associative du Parallélisme), groupe réunissant les grands acteurs du calcul intensif en France. Le sujet principal de cette réunion était la montée en puissance du Big Data, qui inquiète un peu ce milieu.

Pour faire simple, le problème est que l'Etat et l'UE n'ont aucune envie de fournir des financements séparés à deux activités qui semblent très similaires, et désire un regroupement de ces deux activités. Mais en pratique, il n'est pas si simple de mettre en commun deux communautés (supercalculateurs et statistiques) qui ont historiquement eu des pratiques très différentes. Chacun se demande également si il ne serait pas possible de phagocyter l'autre... actuellement, la situation politique demeure donc très mouvante.

Une idée qui semble être bien acceptée est de regrouper les problématiques de calcul intensif et de stockage durable de données, qui ont historiquement été beaucoup séparées. Le GENCI approuve cette idée sur le papier, mais demande que soient mis en oeuvre les moyens financiers nécessaires. A la tête de ce dernier, on trouve Philippe Lavocat, un ancien directeur technique de l'IN2P3. Apparemment, le CCIN2P3[6] serait passé de mésocentre à centre de calcul national du GENCI...

Parmi les autres sujets abordés, on trouve en vrac:

  • La montée en puissance dans le TOP500 de la Chine, et ses choix technologiques originaux, comme par exemple le développement de l'architecture Sunway.
  • Le traitement de données massif chez Facebook.
  • Le passage des infrastructures financières rapides au FPGA[7].

Autres sujets évoqués

Antoine aurait voulu se rendre au OVH Summit, la grand-messe annuelle du célèbre hébergeur, mais n'a finalement pas pu. Il nous a dit que l'ouverture de cette conférence aurait été faite par un ministre souhaitant célébrer cette réussite française.

Oleg a contesté les chiffres présentés aux JI selon lesquelles les radiateurs calculateurs disponibles aujourd'hui ne seraient pas pertinents d'un point de vue économique. Il a notamment évoqué deux entreprises qui lui semblaient intéressantes:

  • Carnot Computing, dont on a parlé aux JI, dont le modèle est d'installer gratuitement les radiateurs si la puissance de calcul leur revient (comme dans le cas des HLM), ou de les faire payer si l'on souhaite disposer de cette puissance.
  • Stimergy, une spin-off de l'INRIA Grenoble qui essaye de coupler un cluster de calcul à une chaudière centralisée. Cela permettrait notamment de simplifier la maintenance et de mieux gérer les pannes et arrêts du cluster.

Par ailleurs, Microsoft ont libéré le source de l'implémentation du langage P, un langage de programmation spécialisé dans l'écriture de programmes asynchrones pilotés par des événements. Ce langage a notamment été utilisé pour implémenter la pile USB de Windows 8.

Glossaire et acronymes

  1. High Performance Computing, ou calcul hautes performances. Expression couramment utilisée pour désigner le calcul sur supercalculateurs.
  2. General Purpose Graphic Processing Units. Terme désignant les générations récentes de cartes graphiques, dont l'architecture plus programmable est plus facilement utilisable pour des applications non graphiques comme le calcul scientifique.
  3. Operating Systems, ou systèmes d'exploitation.
  4. Intel Math Kernel Libray.
  5. Intel Threading Building Blocks.
  6. Centre de calcul de l'IN2P3, à Lyon.
  7. Field Programmable Gate Array. Un très grand circuit électronique configurable pour une application précise. Moins simple à programmer qu'un CPU ou un GPU, mais plus simple et moins coûteux que de développer un circuit électronique dédié.
Il y a un compte-rendu associé à cet événement. Les afficher.
L'ordre du jour de cette réunion est vide