s
19 708 Pages

en informatique le terme High Performance Computing (HPC) (calcul haute performance) Fait référence aux technologies utilisées par ordinateurs de cluster pour créer des systèmes traitement en mesure de fournir des performances très élevées dans l'ordre de PétaFLOPS, le recours à généralement calcul parallèle. Le terme est largement utilisé principalement pour les systèmes de traitement utilisés dans le domaine scientifique.

Les systèmes actuels d'ordinateur les plus utilisés, que les technologies HPC de levier sont des installations qui nécessitent des investissements importants et dont la gestion nécessite l'utilisation d'un personnel spécialisé de haut niveau. La complexité inhérente et de l'évolution technologique rapide de ces instruments exige aussi que ce personnel interagit fortement avec les utilisateurs finaux (experts de divers domaines scientifiques dans lesquels ces systèmes sont utilisés), afin de leur permettre une utilisation efficace des outils [1].

Il est important de souligner la différence subtile entre calcul haute performance (HPC) et "super-ordinateur. HPC « est un terme parfois utilisé comme synonyme super-ordinateur, qui a surgi après le terme « calcul intensif » (calcul intensif). Dans d'autres contextes, « super-ordinateur » est utilisé pour désigner un sous-ensemble de « ordinateur haute performance », tandis que le terme « calcul intensif » fait référence à une partie de « calcul haute performance » (HPC). La confusion sur l'utilisation de ces termes est évidente.

Histoire et évolution

L'année 1990 a vu la naissance du premier modèle de programmation parallèle standard pour le HPC. Au début de la décennie, les systèmes de vecteurs de supercalculateurs tels que ceux vendus par Cray Research, Fujitsu et NEC, Ils ont été largement utilisés dans l'exécution des applications à grande échelle. Ils ont été combinés avec deux à quatre processeurs vectoriels qui a formé des systèmes particulièrement puissants avec une seule mémoire partagée. la multiprocesseurs symétriques (SMP), ils ont été constitués d'un petit nombre de processeurs RISC qui a partagé la mémoire, mais des problèmes a surgi quand il est devenu évident qu'il serait difficile d'étendre cette technologie à un grand nombre de CPU. Ainsi sont nés les nouvelles plates-formes parallèles à mémoire distribuée (DMP) produites par des sociétés comme Intel, Meiko et nCube: ordinateurs SIMD (Single Instruction Multiple Data) Cela pourrait exécuter une seule instruction d'un ensemble de données simultanément, par exemple sur les éléments d'un tableau. Ces nouveaux systèmes, bien que coûteux à acheter et entretenir, pourraient être construits dans différentes tailles afin que vous puissiez créer des machines de coûts différents en fonction des besoins et du budget des entreprises clientes.

Peu à peu, les entreprises ont commencé la production du DMP se composent de posséder un certain nombre d'ordinateurs individuels connectés à un réseau à grande vitesse avec un système qui garantirait un transport de rapide des données entre les différentes mémoires. De même postes de travail relié à la commune LAN Ils ont commencé à être utilisés ensemble pour la réalisation d'une œuvre unique, fournissant ainsi les systèmes parallèles à faible coût. Ces systèmes sont devenus connus comme « grappes de postes de travail » (GC). Bien que les réseaux Ethernet Utilisé par VACHE ont été lents par rapport à ceux du DMP vrai, ceux-ci étaient cependant beaucoup moins cher à construire. Dans la seconde moitié des années nonante, la plupart des fabricants américains ont commencé à produire SMP. Contrairement à celles construites dans les années quatre-vingt, ces relativement bon marché, ils étaient destinés à une utilisation plus large, tels que les ordinateurs de bureau.

La dernière décennie de XX siècle l 'matériel Il a considérablement développé. La fréquence de horloge des processeurs, il est passé de quelques dizaines, jusqu'à des milliers de mégahertz et la taille de la mémoire principale et la masse sont augmentés de plusieurs ordres de grandeur. Certaines applications, qui jusqu'alors aurait requis le matériel pour le HPC, pourraient être réalisées avec seulement SMP. Pour la première fois les ordinateurs parallèles sont devenus accessibles à un large éventail d'utilisateurs. Enfin, parmi d'autres alternatives existent plates-formes HPC exécutant le code sur un CPU directement accéder aux données stockées sur un autre système SMP, en utilisant par exemple un adressage global et un système de soutien du réseau reliant les différents SMP. De tels systèmes sont dits ccNUMA (Cache cohérent accès mémoire non uniforme). Ce dernier peut être considéré comme le grand SMP virtuel, même si le code est exécuté plus lentement si les données sur lesquelles elle exerce ses activités sont stockées sur une autre SMP (D'où le coût de l'accès non uniforme).

aujourd'hui super-ordinateur vecteur continuer à offrir les plus hauts niveaux de performance pour certaines applications, mais restent chers. la SMP Ils sont largement commercialisés, avec un certain nombre de processeurs qui va de deux à plus d'une centaine, comme le Sun Modular Datacenter le Soleil La plupart des quincailliers, combine désormais les technologies et DMP SMP pour répondre à la demande de solutions pour le calcul à grande échelle. La vache sont devenus communs et des groupes, composé de milliers de processeurs, sont utilisés aussi bien dans les laboratoires, ainsi que dans l'industrie (par exemple pour le traitement sismique). Le coût des réseaux a diminué et les services fournis ont augmenté rapidement, de sorte que les problèmes liés aux réseaux lents VACHE a considérablement réduit [2]. la technologie InfiniBand est l'interconnexion la plus utilisée pour les systèmes HPC, bien que la technologie 10 Gigabit Ethernet avec l'ajout de technologies sans perte Ethernet Il peut être tendance à la solution de référence[3].

Quant à l'avenir, la Semiconductor Industry Association a décrit l'évolution possible de la technologie des semi-conducteurs jusqu'en 2014. L'avenir du calcul intensif sera conditionnée à la fois par l'évolution de la technologie de circuit est de la conception du système qui, à son tour, ne il ne sera pas influencée par la technologie disponible [4].

Pour rendre le scénario de l'industrie HPC encore plus complexe il y a une tendance, au cours des 10 dernières années, la création de systèmes hybrides, non seulement entraîné par le nombre croissant de présents cpu, mais aussi d'autres coprocesseurs (comme les cartes GPU ou processeurs FPGA) Cela, va soutenir le cpu, ils ont ouvert nouveau calcul potentiel.

Chaque semestre, certains chercheurs universitaires établissent une liste des systèmes HPC les plus performants basés sur une série de tests, TOP500, dont il existe également une version dans laquelle la puissance délivrée est calculée en fonction de la consommation d'énergie, le TOP500 vert.

description

La mise en œuvre sur les systèmes informatiques

Comme les systèmes informatiques, chaque jour, sont de plus en plus sophistiqués et rapides, les développeurs d'applications HPC doivent souvent travailler ensemble pour ingénieurs et concepteurs d'identifier et de corriger divers bogues et instabilités qui se posent. Ils doivent constamment adapter à écrire code pour les nouveaux types d'architectures et sont souvent les premiers à utiliser la nouvelle langages de programmation, la bibliothèques, la compilateurs, ainsi que les plus récents outils de développement d'applications. Cependant, la reprogrammation continue est inefficace, car il prend trop de main-d'œuvre et des experts applications HPC ne sont pas nombreux, sont donc essentiels pour les modèles standards programmation de haut niveau pour réduire l'effort humain dans la reprogrammation de la nouvelle plates-formes.

Malheureusement livrer standard de haut niveau pour les applications HPC est pas facile car né chaque jour de nouvelles architectures pour le calcul haute performance, chacune ayant des caractéristiques spécifiques différentes des autres et à exploiter de manière adéquate pour atteindre le haut niveau de performance requis .

Les programmeurs HPC sont peu disposés à sacrifier la performance en échange d'une plus grande facilité de programmation, il est donc nécessaire d'un modèle standard qui permet de tirer le meilleur parti de tous les types de plate-forme. Il y a aussi d'autres contraintes: le modèle de programmation doit être facile à comprendre pour faciliter l'identification des bogues et leur correction. Il doit être évolutive, pour faire face à la complexité croissante du problème et la puissance de l'appareil. Enfin, comme le HPC est un marché relativement faible, les producteurs ne seraient pas en mesure de faire face à une grande quantité de modèles de programmation différents et en conséquence, la norme doit être compatible avec la plupart des codes et des plates-formes pour le HPC [2].

questions

la programmeurs l'habitude de penser de manière séquentielle a dû acquérir un nouvel état d'esprit et, bien que la conversion de logiciel L'application séquentielle en parallèle peut être réalisée de manière automatique, encore il reste à réaliser d'autres activités de manuel « parallélisation » qui pourrait nécessiter une restructuration algorithmes qui avait été conçu de manière essentiellement série. Également au cours de l'évolution de l'informatique haute performance, il est devenu un facteur technologique qui, peu à peu, est devenu l'un des principaux obstacles à la croissance de la puissance efficace de calcul des supercalculateurs. Cette contrainte est représentée par le déséquilibre entre la technologie progressive processeurs et celle de mémoire de super-ordinateur -à-dire la vitesse de exécution l'instruction a augmenté beaucoup plus rapidement que la vitesse d'accès mémoire centrale. [4].

algorithmes

Vous devez considérer l'importance de algorithmes. Ceci est un aspect souvent négligé. En fait, pour le meilleur usage d'un ordinateur qui fonctionnent simultanément sur plusieurs circuits complexes de plusieurs groupes d'instructions nécessaires pour résoudre deux problèmes. Vous devez d'abord développer logiciel un algorithme qui se prête à être divisée en plusieurs parties, à savoir dans les différentes séquences de instructions, à exécuter en parallèle. En second lieu, une disposition devrait être langue et compilateur, qui sait comment optimiser dans les séquences droit d'être distribué en parallèle aux instructions écrites par programmeur [4]. Parmi ces langues, nous avons par exemple le 'Occam.

la conception un algorithme efficace est souvent plus efficace qu'un matériel sophistiqué. Malheureusement, il est difficile de trouver la bonne solution. Avec la disponibilité de l'informatique parallèle, le chercheur qui a besoin de développer une nouvelle application serait encouragé à rechercher des algorithmes de démarrage intrinsèquement parallélisables. Il est plus difficile, bien sûr, la tâche de savoir qui devrait se réadapter logiciel application existante aux nouvelles possibilités technologiques.

Il faut aussi tenir compte des limites de traitement parallèle. A titre d'exemple, supposons que vous avez 52 cartes dans le même groupe distribués au hasard et que vous voulez mettre en ordre. S'il y avait quatre joueurs à vouloir répartir les tâches en fonction de la couleur (cœur, carreau, trèfle, pique), il serait certainement faire avant que si vous deviez effectuer les mêmes activités seul. Mais ils étaient 52 joueurs tout autour de la même table, de vouloir commander la plate-forme que vous auriez probablement faire juste un gâchis. Cet exemple trivial peut comprendre comment il y a une limite au-delà duquel ils ne seront pas d'accord pour pousser le parallélisme des agents, mais plutôt sur la vitesse unique [4].

La mise en place de l'infrastructure informatique hétérogène, comme par exemple les technologies GPGPU, Il a soulevé encore plus le niveau de complexité dans la conception et la création d'algorithmes qui sont capables de les exploiter correctement.

Exemples d'application et d'utilisation

bien que modèles mathématiques abstraction appliquée et la modélisation de systèmes et les phénomènes ont été traités dans certains cas, depuis des décennies, que récemment, grâce à l'avènement des plates-formes de calcul haute performance, ont obtenu de montrer leur énorme capacité explicative et prédictive dans de nombreux domaines scientifiques. La technologie informatique moderne a, en fait, a permis un grand développement de techniques modélisation numérique en apportant une contribution extraordinaire au cours des dernières décennies, il est l'avancement des connaissances et à la construction des produits et procédés technologiquement avancés.

Celles-ci ont permis de concevoir, étudier, lire et afficher des phénomènes naturels complexes et des systèmes d'ingénierie avec une précision de quelques années auparavant impensable. Il a développé au fil du temps une nouvelle catégorie de spécialistes en modélisation informatique; ce sont généralement des experts dans différents domaines d'application avec une forte avancée dans les compétences informatiques qui permettent d'utiliser ces outils au sein des groupes de recherche des différents domaines d'application [1].

Le calcul haute performance est utilisé dans divers domaines, et aux fins les plus variées entre ceux-ci, nous avons par exemple:

  • L'étude de climat mondial climatologie;
  • la les équations de dynamique des fluides de physique;
  • L'étude de matière niveau atomique (équation de Schrödinger) Dans le domaine de chimie;
  • La recherche de méthodes de conservation des textes et écritures anciennes pour 'archéologie;
  • Le développement de nouvelles médicaments en pharmacologie;
  • L'étude de protéine en médecine, Ceci est très important pour l'avenir un remède pour les maladies dégénératives;

Ceux-ci sont cependant quelques-unes des applications possibles de HPC[1][2][4].

Solutions HPC

notes

  1. ^ à b c Vincenzo Artale, Massimo Celino, Analyse numérique haute performance (PDF) afs.enea.it, 2008.
  2. ^ à b c (FR) Laurence Tianruo Yang, Guo Minyi, Le défi de fournir de haut niveau modèle de programmation pour le calcul haute performance, en paradigme de l'informatique de haute performance et de l'infrastructure, Wiley Interscienze 2006 ISBN 978-0-471-65471-1. Récupéré le 23 Février, 2010.
  3. ^ (FR) Silvano Gai, I / O Consolidation dans le Data Center, en Data Center Networks et Fibre Channel over Ethernet (FCoE), Californie (Etats-Unis), Lulu.com, avril 2008 ISBN 978-1-4357-1424-3. Récupéré 18 Juin, 2009.
  4. ^ à b c et Ernesto Hoffman, Evolution et perspectives Performance Computing (PDF) mondodigitale.net, 2003.

bibliographie

Articles connexes

  • Grille de calcul
  • cloud computing
  • superordinateur
  • TOP500
  • GPGPU
  • Informatique floue haute performance

liens externes