L’avenir du HPC passe par les FPGA
By   |  February 25, 2013

Cantonnés aujourd’hui à des usages verticaux, les FPGAs (circuits logiques programmables) recèlent un formidable potentiel de performances en environnement HPC. Extensibles, peu onéreux, ils sont les compléments naturels des accélérateurs GPU et x86.

Frédéric Milliot
Directeur de la rédaction, HPC Today.

Le buzz que font depuis quelques temps les serveurs ATOM 64 bits a au moins un avantage : il montre que le modèle du CPU roi, autour duquel tout est architecturé pour ne pas dire asservi, touche à sa fin. Déjà, le recours aux accélérateurs x86 ou GP-GPU trace la voie. Pour satisfaire les besoins de la communauté HPC, on déporte, on répartit, on dispatche intelligemment l’exécution logique, en spécialisant l’électronique pour certaines tâches bien identifiées et si possible itératives.

Ces solutions, dont les point communs sont plus nombreux que les différences, répondent à des problématiques bien connues. D’un côté, la demande en puissance croît exponentiellement – et universellement. De l’autre, on a atteint la limite non seulement des fréquences des processeurs, mais sans doute aussi de la bande passante entre les sous-systèmes qui composent une architecture HPC orientée données.

Le souci, c’est qu’à terme, ce qui limite les CPU d’aujourd’hui limitera les accélérateurs. D’où l’intérêt des FPGAs (Field-Programmable Gate Arrays), qu’on connaît depuis longtemps pour des usages ponctuels ou métiers, mais dont on n’entrevoit qu’aujourd’hui le potentiel en matière d’accélération d’applications HPC. Les FPGAs étant par nature programmables, pourquoi ne pas envisager qu’une partie de la logique des traitements y soit câblée directement ? C’est une petite révolution psychologique – le hard devient support actif du soft, en one-shot ou directement à l’exécution – mais ce changement de regard prend rapidement tout son sens.

Les FPGAs lo-cost tel que le ProASIC3 de MicroSemi offrent plusieurs millions de portes logiques – prêtes à être programmées à la volée.

Imaginons un instant que le coeur d’une application réside au coeur d’un processeur dédié, câblé uniquement pour lui. On voit déjà le potentiel de gain de performance dans les échanges avec des accélérateurs standards, qu’il pourra commander. Imaginons maintenant, pour pousser le raisonnement à son terme, qu’on dédie un FPGA à chaque grosse opération logique requise par l’application. Au lieu d’avoir à restructurer le code pour tirer avantage des spécificités de l’environnement d’accélération choisi, on n’a plus qu’à charger l’application une fois, en hard, sans réellement en modifier la logique. Les accélérateurs que nous utilisons gardent l’essentiel de leur intérêt, notamment dans leurs capacités d’optimisation native des itérations simples, mais ils s’allègent d’une partie de leurs contraintes de programmation métier.

Elégante, cette approche technique se double d’un avantage non-négligeable. On approche de la barrière des 20 nanomètres pour la gravure des accélérateurs CPU et GPU. Or, on sait que cette limite sera difficile à dépasser. Autrement dit, la loi de Moore va à terme se heurter aux lois plus fondamentales de la physique. Les FPGAs d’aujourd’hui ont à cet égard une belle marge de progression, surtout si on les utilise de façon granulaire. Quant à leur coût, il se rapproche de celui d’une commodité électronique, et ne pourra que descendre si l’industrie (du HPC d’abord, de l’IT standard ensuite) les adopte en masse.

Admettons que cette vision prospective voit le jour sous une forme ou sous une autre. L’esprit de Gordon Moore sera finalement respecté. On restera dans un rapport pérenne entre l’augmentation de la densité logique et la performance servie à l’utilisateur, mais à des niveaux de TDP et de TCO compatibles avec les exigences d’agilité qui touchent aussi la majorité des utilisateurs de technologies HPC…

© HPC Today 2024 - All rights reserved.

Thank you for reading HPC Today.

Express poll

Do you use multi-screen
visualization technologies?

Industry news

Brands / Products index