Simulation Analyse de risque Automobile Informatique haut débit Ingénierie CAO IAO Modélisation de prix High Aérospatiale Performance Computing 2012/13 GUIDE TECHNOLOGIQUE Analyse de données grand volume Sciences de la vie
GUIDE TECHNOLOGIQUE TABLE DES MATIÈRES ET INTRODUCTION INTEL CLUSTER READY...62 Standard de qualité pour clusters HPC... 64 Intel Cluster Ready donne de l élan au HPC... 69 transtec Benchmarking Center... 73 HIGH PERFORMANCE COMPUTING... 4 Quand la performance devient productivité...6 Déploiement flexible avec xcat...8 LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ...12 Bright Cluster Manager... 14 GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC...28 Moab HPC Suite Enterprise Edition... 30 Nouveautés de Moab 7.0... 34 Moab HPC Suite Basic Edition... 37 Moab HPC Suite - Grid Option... 43 WINDOWS HPC SERVER 2008 R2...74 Composantes de la solution HPC Microsoft... 76 Déploiement, gestion de système et suivi... 78 Planification des tâches... 80 Une architecture orientée service... 82 Réseau et MPI... 85 Compatibilité Microsoft Office Excel... 88 NFS EN PARALLÈLE...90 Le nouveau standard de stockage HPC... 92 Quelles sont les nouveautés de NFS 4.1?... 94 Le stockage HPC Panasas... 99 NICE ENGINFRAME...50 Portail technique de visualisation à distance... 52 Points forts de l application... 54 Virtualisation desktop sur Cloud... 57 Visualisation à distance... 58 INFORMATIQUE GPU AVEC NVIDIA...110 L architecture CUDA... 112 Nom de code «Fermi»... 116 Introduction à NVIDIA Parallel Nsight... 122 InfiniBand et GPU QLogic TrueScale... 126 INFINIBAND...130 Interconnexions haut débit... 132 Le Top 10 des arguments pour QLogic TrueScale... 136 La performance Intel MPI Library 4.0... 139 InfiniBand Fabric Suite (IFS) Les nouveautés de la version 6.0... 141 PARSTREAM...144 Analyse de données grand volume... 146 GLOSSAIRE...156 2
PLUS DE 30 ANS D EXPÉRIENCE EN INFORMATIQUE SCIENTIFIQUE 1980 a marqué le début d une décennie qui a vu la création de nombreuses start-ups dont certaines sont devenues plus tard des grands noms du marché informatique. Des innovations technologiques ont entraîné des changements radicaux sur le marché naissant des ordinateurs. Et, à Tübingen, près de l une des meilleures et des plus anciennes universités du pays, transtec voit le jour. Les premiers temps, transtec se concentrait sur la revente d ordinateurs et périphériques DEC et de postes de travail haute-performance aux instituts universitaires et centres de recherche. En 1987, les solutions SUN/Sparc et stockage sont venues enrichir la gamme proposée, complétée en 1991 par les produits IBM/RS 6000. Ces postes de travail et systèmes de serveurs étaient alors typiques en informatique haute performance et utilisés par la majorité des chercheurs dans le monde entier. À la fin des années 90, transtec fût l une des premières entreprises à proposer des solutions HPC très personnalisées et basées sur des serveurs à architecture Intel standard et dont certaines sont entrées dans le TOP 500 des systèmes informatiques les plus rapides au monde. À la lumière de ce passé, on peut dire sans mentir que transtec a plus de trente ans d expérience en informatique scientifique avec plus de 500 installations HPC. Forts de cette expérience, nous connaissons parfaitement les exigences du client et savons comment y répondre. Haute performance et gestion simple : c est ce qu exige le client aujourd hui. Comme leur nom l indique, les systèmes HPC doivent fonctionner à haut niveau, mais cela ne suffit pas : ils doivent aussi être simples à gérer. Les concepts inextricables et la complexité opérationnelle sont à éviter ou du moins à rendre invisibles pour les administrateurs et surtout pour les utilisateurs HPC. Les solutions HPC de transtec sont synonymes de simplicité de gestion qu il s agisse d environnements Linux ou Windows ou même lorsque l environnement client est particulièrement hétérogène. Même l allocation dynamique des ressources HPC en fonction des besoins ne pose aucune difficulté, participant ainsi à l exploitation maximale du cluster. Les solutions HPC transtec utilisent la technologie la plus récente et la plus innovante. Leurs performances supérieures vont de pair avec une grande efficience énergétique, comme on l attend de toute solution informatique de pointe. Nous tenons à ces qualités fondamentales. Cette brochure met l accent sur ce que les solutions HPC transtec font de mieux. Par exemple : Bright Cluster Manager, leader technologique en matière de gestion unifiée de clusters HPC, Moab HPC Suite à la pointe du développement pour la gestion de tâches et de flux applicatifs, certification Intel Cluster Ready, standard indépendant garant de la qualité de nos systèmes, systèmes de stockage HPC Panasas pour les performances les plus hautes et l excellente évolutivité exigée du stockage HPC. Avec ces composants, nous répondons aux questions centrales que sont l utilisabilité et la simplicité de gestion. NVIDIA Tesla Preferred Provider, transtec propose à ces clients des solutions d informatique GPU Tesla bien conçues et très puissantes. InfiniBand Fabric Suite de QLogic rend la gestion de vastes matrices InfiniBand plus simple que jamais auparavant. transtec combine de façon experte les excellents composants soigneusement sélectionnés déjà présents à une solution HPC profondément réfléchie, parfaitement calibrée et sur mesure pour le client. Enfin, se décider pour une solution HPC transtec, c est choisir un suivi client et un service HPC des plus complets. Nos experts seront heureux de partager leur savoir et de vous assister à toutes les étapes, de la conception HPC aux tâches cluster quotidiennes en passant par les services cloud HPC. Bonne lecture avec le guide HPC transtec 2012/13! 3
HIGH PERFORMANCE COMPUTING QUAND LA PERFOR- MANCE DEVIENT PRODUCTIVITÉ
L informatique haute performance (HPC) s est présentée à nous dès le début de l ère informatique. Des ordinateurs haute performance ont été conçus pour résoudre les nombreux problèmes dont les ordinateurs «humains» ne pouvaient venir à bout. Simplement, cela ne s appelait pas encore HPC. Plus importants que le nom, certains principes des premiers temps ont été radicalement transformés. Les premiers systèmes HPC étaient bien différents de ceux d aujourd hui. D une part, on trouvait d énormes mainframes de grands constructeurs incluant systèmes d exploitation propriétaires et de gestion des tâches. D autre part, les stations de travail faisaient quelques incursions dans les universités et centres de recherches et les scientifiques faisaient leurs calculs sur des stations de travail Unix ou VMS dédiées. Dans les deux cas, si vous aviez besoin de plus de capacité de calcul, soit vous augmentiez le potentiel, soit vous achetiez une machine plus grosse. De nos jours, le terme Informatique Haute Performance a pris une signification radicalement nouvelle. Aujourd hui, le HPC est perçu comme un moyen de faire face aux problèmes mathématiques, scientifiques ou d ingénierie complexes. L intégration de matériel serveur commercial standard aux clusters HPC facilite la construction de réseaux d ordinateurs d une puissance telle qu un système seul ne pourrait jamais atteindre. Le nouveau paradigme de la parallèlisation est en pleine expansion. 5
HIGH PERFORMANCE COMPUTING QUAND LA PERFORMANCE DEVIENT PRODUCTIVITÉ La simulation informatique de process réels (également appelée IAO, ingénierie assistée par ordinateur) s est établie comme troisième pilier de la science et de la recherche aux côtés de la théorie et de l expérimentation. À ce jour, on peut plus concevoir qu un constructeur d avions ou une équipe de Formule 1 travaille sans logiciel de simulation. À l avenir, le calcul scientifique en astrophysique, médecine, pharmaceutique ou encore bioinformatique sera dépendant des superordinateurs. Les développeurs de logiciel ont découvert, il y a déjà longtemps, les bénéfices des ordinateurs haute performance basés sur de puissants serveurs standard et leur ont donc confié leurs programmes. «Les solutions HPC transtec sont conçues pour fournir à nos clients une simplicité inégalée de gestion et d utilisation. En outre, se décider pour une solution HPC transtec, c est choisir un suivi client des plus complets et le meilleur service imaginable.» Les avantages principaux des superordinateurs scale-out, c est justement ça : leur évolutivité est infinie, du moins en théorie. En effet, lorsque la capacité de calcul ne suffit plus, il est facile d augmenter la puissance d un superordinateur en ajoutant simplement de nouveaux nœuds du même type puisqu il repose sur des composants matériels standard. Il est possible d éviter un lourd changement de technologie dans la plupart des cas. L idée première des clusters HPC est de pouvoir s étendre et améliorer la capacité de calcul autant que nécessaire. Pour atteindre cet objectif et rentabiliser l investissement, il faut nourrir constamment le cluster HPC de problèmes de calcul. Dr. Oliver Tennert directeur Technology Management & HPC Solutions La seconde raison pour la conception de superordinateurs scale-out est de maximiser l exploitation du système. 6
Lorsqu un process particulier exige une communication intensive, le temps de réponse du réseau (latence) devient déterminant. En règle générale, la latence d un réseau Gigabit Ethernet ou 10GE se situe autour de 10 µs. Les interconnexions haut-débit comme InfiniBand divisent la latence par 10 jusqu à 1 µs. Les interconnexions haut-débit peuvent donc accélérer l ensemble du traitement. VARIATIONS SUR THÈME : MPP ET SMP Il existe aujourd hui deux variantes importantes en matière d informatique parallèle. Les applications qui opèrent en parallèle sur plusieurs nœuds sont souvent appelées «applications MPP» (Massively Parallel Processing). MPP signifie que les différents process utilisent chacun des zones de mémoire exclusives. Cela veut dire également dire que ces tâches sont prédestinées à être traitées en parallèle et distribuées parmi les nœuds dans un cluster. Les process peuvent donc chacun utiliser des unités séparées du nœud respectif, en particulier la RAM, la puissance CPU et les I/O disques. La communication entre les différents process est assurée de façon standardisée par l interface logicielle MPI (Message Passing Interface) qui fait abstraction pour les process des connexions réseau sous-jacentes entre les nœuds. Néanmoins, le standard MPI (actuellement 2.0) ne requiert qu une compatibilité de codes sources et non pas une compatibilité binaire si bien que les applications commerciales exigent en général des versions précises de bibliothèques MPI pour fonctionner. Parmi les implémentations MPI, on trouve par exemple OpenMPI, MPICH2, MVAPICH2, Intel MPI ou encore MS-MPI pour les clusters Windows. L autre variante fréquemment utilisée, ce sont les applications SMP. Dans le contexte HPC, SMP signifie Shared Memory Processing. Cela inclut l utilisation de zones mémoires partagées dont l implémentation spécifique dépend du système d exploitation choisi en arrière-plan. En conséquence, les tâches SMP sont en général conduites sur un seul nœud où elles peuvent être traitées en multithread et donc en parallèle sur le nombre de CPU par nœud. Il est possible de choisir MPP ou SMP pour de nombreuses applications HPC. Beaucoup d applications ne sont pas, par elles-mêmes, adaptées à une exécution parallèle. Dans de tels cas, il n y a aucune communication entre les nœuds de calcul individuels et donc pas besoin d un réseau haut-débit entre eux. Néanmoins, les tâches de calcul multiples peuvent être traitées simultanément et en séquence sur chaque nœud individuel en fonction du nombre de CPU. Pour garantir une performance de calcul optimale pour ces applications, il convient d examiner combien de CPU et de cœurs sont nécessaires pour un résultat optimum. On trouve ces applications de type séquentiel typiquement dans les domaines de l analyse de données ou des simulations de Monte-Carlo. 7
HIGH PERFORMANCE COMPUTING DÉPLOIEMENT FLEXIBLE AVEC XCAT xcat, outil de déploiement puissant et flexible xcat (Extreme Cluster Administration Tool) est un kit outils open source pour le déploiement et l administration de base des environnements de clusters HPC, quelle que soit leur taille. xcat propose des commandes simples pour le contrôle du matériel, le repérage de nœud, la collecte d adresses MAC et le déploiement de nœud avec (diskful) ou sans (diskless) installation locale. La configuration cluster est sauvegardée dans une base de données relationnelle. Il est possible de définir des groupes de nœuds pour différentes images de systèmes d exploitation. En outre, les scripts utilisateurs peuvent être exécutés de façon automatique à l installation. xcat offre les fonctionnalités administratives de base suivantes Prise en charge de la console à distance Commandes remote shell et remote copy parallèles Plugins pour le suivi de différents outils tels que Ganglia ou Nagios 8
Commandes matériel pour la détection de nœud, la collecte d adresses MAC, la mise en marche/l arrêt à distance et la réinitialisation de nœuds Configuration automatique de syslog, remote shell, DNS, DHCP et ntp au sein du cluster Riche documentation et pages de man Pour le suivi de cluster, nous installons et configurons l outil open source Ganglia ou la solution open source encore plus puissante Nagios, selon les préférences et les exigences du client. Installation locale ou diskless Nous proposons une installation diskful ou diskless des nœuds de cluster. Une installation diskless signifie que le système d exploitation est partiellement hébergé sur la mémoire principale, les composants plus volumineux pouvant être inclus ou non via NFS ou d autres moyens. Cette approche permet de déployer efficacement un grand nombre de nœuds et de rendre le cluster opérationnel en très peu de temps. En outre, il possible de réaliser des mises à jour de façon très efficace. En effet, seule l image de boot doit être mise à jour et il suffit de réinitialiser les nœuds. Ensuite, les nœuds opèrent avec un nouveau noyau ou même un nouveau système d exploitation. De plus, avec cette approche, la partition de cluster peut être effectuée de façon très efficace, soit pour des tests soit pour attribuer différentes partitions à différents utilisateurs ou applications. Outils de développement, intergiciels et applications En fonction de l application, de la stratégie d optimisation ou de l architecture sous-jacente, des compilateurs différents peuvent conduire à des codes de performances très différentes. En outre, différentes applications, pour la plupart commerciales, exigent des implémentations MPI différentes. Et même lorsqu ils développent le code eux-mêmes, les développeurs préfèrent souvent une implémentation MPI à une autre. En fonction des attentes du client, nous installons différents compilateurs, intergiciels MPI et gestionnaires de tâches tels que Parastation, Grid Engine, Torque/Maui ou le très puissant Moab HPC Suite pour une gestion cluster de haut niveau. 9
Benchmarking de HIGH systèmes PERFORMANCE variés COMPUTING QUAND LA PERFORMANCE DEVIENT PRODUCTIVITÉ client, site) Installation des applications Amélioration continue Maintenance, assistance et services externalisés Formation client Intégration à l'environnement client Montage matériel sur site SERVICE ET ASSISTANCE CLIENT DE A À Z Conseil avant-projet individuel Benchmarking de systèmes variés Calibrage spécifique de la solution HPC (application, client, site) Tests burn-in des systèmes Installation logiciels et SE Installation des applications Amélioration continue Maintenance, assistance et services externalisés Formation client Intégration à l'environnement client Montage matériel sur site 10
HPC CHEZ TRANSTEC : SERVICE ET ASSISTANCE CLIENT DE A À Z transtec AG a plus de trente ans d expérience en matière d informatique scientifique et fût l un des premiers constructeurs de clusters HPC. Depuis près de dix ans, transtec livre des clusters haute-performance hautement personnalisés à base de composants standard à ses clients des secteurs scientifiques et industriels à travers toute l Europe. transtec est connu pour son niveau élevé de qualité et sa philosophie centrée sur les besoins du client. Une solution HPC transtec, c est bien plus qu une étagère de matériel informatique bien remplie : c est une solution complète qui répond parfaitement aux besoins de l utilisateur, du propriétaire et de l opérateur. Dès les premiers stades de chaque projet HPC, les experts transtec conseillent leurs clients de façon intensive et détaillée et leur font pleinement profiter de leur expertise et de leur expérience. Cette activité de conseil est suivie par une évaluation comparative de différents systèmes basée soit sur des codes créés par le client soit sur des routines de benchmarking d utilisation généralisée pour aider le client à définir la taille et la configuration HPC précise optimale. Aucune pièce de matériel ne quitte notre usine sans avoir subi une procédure de burn-in de 24 heures, voire plus si nécessaire. Nous mettons tout en œuvre pour que les pièces expédiées correspondent à nos propres exigences de qualité et à celles de nos clients. Par défaut, un cluster HPC transtec dispose déjà d une installation et d une configuration complètes : matériel, système d exploitation, composants middleware importants tels que gestionnaire de clusters, outils de développement et même les applications productives du client. Livraison sur site signifie intégration sur site à l environnement de production du client, qu il s agisse de connecter le système au réseau de l entreprise ou d installer les logiciels et réaliser les configurations. Les clusters HPC transtec sont des systèmes prêts-à-fonctionner : on livre, vous tournez la clé et le système haute performance fonctionne. Tout projet HPC comprend un transfert au productif : les processus d opérations informatiques et les règlements s appliquent au nouveau système HPC. En clair, nous formons le personnel informatique de façon pratique et leur présentons les composants matériels et logiciels et tous les aspects opérationnels de la gestion de configuration. Les services transtec ne prennent pas fin avec l implémentation du projet. transtec reste présent à vos côtés au delà de la mise en service et offre toute une série d options d assistance et de service taillées sur mesure pour les besoins du client. Si vous avez besoin d une nouvelle installation, d une importante reconfiguration ou d une mise à jour de votre solution, transtec vient en aide à votre personnel et assure la maintenance de votre solution HPC si les ressources vous font défaut. Services professionnels, services externalisés pour les tâches quotidiennes ou niveaux de service exigés : transtec sera votre fournisseur de solutions et services HPC complets. Le haut niveau de performance et de fiabilité de transtec sont garants de votre productivité et de votre satisfaction totale. HPC Managed Services par transtec offre aux clients la possibilité de disposer d une gestion complète et de clusters HPC par des spécialistes transtec et conforme à ITIL. De plus, les services HPC on Demand proposent un accès à des ressources HPC au besoin, par exemple, lorsque les clients n ont pas la possibilité de posséder et de gérer leurs propres clusters en raison d un manque d infrastructure, de savoir-faire ou de personnel d administration. 11
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ
Bright Cluster Manager met fin à la complexité de l installation, la gestion et l exploitation des clusters HPC sans compromettre la performance ni les capacités. Avec Bright Cluster Manager, l administrateur peut installer, exploiter et gérer simultanément plusieurs clusters en toute simplicité sans être un expert Linux ou HPC. 13
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ BRIGHT CLUSTER MANAGER L INSTALLATEUR DE CLUSTER GUIDE L ADMINISTRATEUR TOUT AU LONG DE L INSTALLATION ET PROPOSE DES OPTIONS POUSSÉES TELS QUE «EXPRESS» OU «REMOTE». EN SÉLECTIONNANT UN NŒUD DANS L ARBORESCENCE À GAUCHE ET L ONGLET DE TÂCHES À DROITE, L ADMINISTRATEUR PEUT EXÉCUTER UN CERTAIN NOMBRE DE TÂCHES PUISSANTES SUR CE NŒUD PAR UN SIMPLE CLIC DE SOURIS.. UNE APPROCHE UNIFIÉE Les autres solutions de gestion de cluster suivent l approche «toolkit» dans laquelle une distribution Linux est combinée à un certain nombre d outils third-party pour le provisioning, l observation, les alertes, etc. Cette approche présente des limitations graves. En effet, ces outils distincts n ont été conçus ni pour opérer ensemble, ni pour être exploités pour du HPC, ni pour être extensibles. De plus, chacun de ces outils a sa propre interface (dans la plupart des cas, en ligne de commande) ainsi que ses propres démons et bases de données. Un temps considérable doit être investi par du personnel hautement qualifié en configuration de scripts et en test afin de rendre ces outils fonctionnels sur un cluster donné. De plus, ce travail est souvent mal documenté. Bright Cluster Manager suit une approche beaucoup plus fondamentale, intégrée et unifiée. Il a été conçu et rédigé dès le départ pour une gestion de cluster sans détour, efficace et exhaustive. Il dispose d un démon lightweight unique, d une base de données centrale pour toutes les données d observation et de configuration et d une seule CLI et GUI pour toutes les fonctionnalités de gestion. Grâce à cette approche, Bright Cluster Manager est extrêmement convivial, extensible, sûr, fiable, complet, flexible et simple à entretenir et prendre en charge. SIMPLICITÉ DE L INSTALLATION Bright Cluster Manager est simple à installer. Généralement, les administrateurs système sont en mesure d installer et tester un cluster pleinement opérationnel à partir du «métal brut» en moins d une heure. Les choix de configuration effectués durant l installation peuvent être modifiés par la suite. Plusieurs modes d installation sont disponibles, y compris les modes automatisé et à distance. Les nœuds du cluster peuvent être identifiés automatiquement à partir des ports de commutateurs plutôt 14
que des adresses MAC. Cela permet d accroître la vitesse et la fiabilité de l installation ainsi que la maintenance ultérieure. SIMPLICITÉ D UTILISATION Bright Cluster Manager est simple à utiliser. Les administrateurs systèmes disposent de deux interfaces de gestion : l interface graphique Cluster Management Graphical User Interface (CMGUI) particulièrement intuitive ou l interface en ligne de commande Cluster Management Shell (CMSH), plus sophistiquée. CMGUI est une application desktop à part entière qui donne une vue complète du système et rassemble la gestion de tous les aspects matériels et logiciels en un seul point. Les tâches d administration s en trouvent rationalisées puisqu elles peuvent toutes être exécutées depuis une unique interface claire et intuitive. Plusieurs clusters peuvent être gérés simultanément. CMGUI supporte Linux, Windows et MacOS (prochainement) et peut être étendu à l aide de plug-ins. CMSH propose les mêmes fonctionnalités que CMGUI mais via une interface en ligne de commande. CMSH peut être utilisé aussi bien en mode interactif qu en mode console à l aide de scripts. Dans les deux LES STATISTIQUES CLUSTER TELLES QUE TEMPÉRATURE GPU ET CPU, VITESSE DES VENTILATEURS ET STATS RÉSEAU PEUVENT ÊTRE VISUALISÉES PAR UN SIMPLE GLISSER-DÉ- POSER DE LA LISTE À GAUCHE VERS LA FENÊTRE DE GRAPHIQUES À DROITE. IL EST POSSIBLE DE COMBINER PLUSIEURS STATISTIQUES DANS UN GRAPHIQUE ET D AGRANDIR LA VUE. VOUS POUVEZ ADAPTER LA MISE EN PAGE ET LES COULEURS DES GRAPHIQUES À VOS EXIGENCES. 15
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ BRIGHT CLUSTER MANAGER cas, les administrateurs systèmes disposent désormais d une flexibilité et d un contrôle sans précédent sur leurs clusters. Bright Cluster Manager est simple à utiliser. Les administrateurs système disposent de deux options : l intuitive CMGUI (Cluster LE STATUT DES NŒUDS, DES COMMUTATEURS ET AUTRE MATÉRIEL AINSI QUE DE JUSQU À SIX STATS SONT VISIBLES DANS L APERÇU RACK. UNE OPTION ZOOM-OUT EST DISPONIBLE POUR LES CLUSTERS AVEC PLUSIEURS RACKS. L ONGLET APERÇU OFFRE UNE VUE IMMÉDIATE ET DÉTAILLÉE DU STATUT DU CLUSTER. Management Graphical User Interface) ou le puissant CMSH (Cluster Management Shell). La CMGUI est une application desktop autonome offrant une vue système unique pour la gestion matérielle et logicielle du cluster à partir d un seul point de contrôle. Les fonctions administratives sont rationalisées puisque les tâches sont effectuées à partir d une seule interface visuelle et intuitive. Il est possible de gérer simultanément plusieurs clusters. La CMGUI fonctionne sous Linux, Windows et Mac OS (prochainement) et peut être étendue par des plug-ins. Le CMSH propose pratiquement les mêmes fonctions que Bright CMGUI, mais par une interface en ligne de commande. Il peut être utilisé de façon interactive ou en mode batch par scripts. Dans les deux cas, les administrateurs disposent d une flexibilité et d un contrôle sans précédent sur leurs clusters. Bright Cluster Manager est basé sur Linux. Il est disponible avec un choix de distributions Linux pré-intégrées, préconfigurées 16
et optimisées incluant SUSE Linux Entreprise Server, Red Hat Entreprise Linux, CentOS et Scientific Linux. Les installations dual boot avec Windows HPC Server sont également prises en charge, permettant aux nœuds de démarrer à partir du nœud principal Linux géré par Bright ou celui géré par Windows. LE SHELL PARALLÈLE PERMET L EXÉCUTION SIMULTANÉE DE COMMANDES OU SCRIPTS PARMI DES GROUPES DE NŒUDS OU SUR L ENSEMBLE DU CLUSTER. RICHE ENVIRONNEMENT DE DÉVELOPPEMENT Bright Cluster Manager offre un riche environnement de développement HPC pour les applications série et parallèle, incluant (en option pour certaines) : compilateurs, y compris les suites intégrales GNU, Intel, AMD, et Portland Group débuggeurs et profileurs, y compris débuggeurs et profileurs GNU, TAU, TotalView, Allinea DDT et Allinea OPT bibliothèques GPU, y compris CUDA et OpenCL bibliothèques MPI, y compris OpenMPI, MPICH, MPICH2, MPICHMX, MPICH2-MX, MVAPICH et MVAPICH2, toutes compilées en croisement avec les compilateurs installés sur le Bright Cluster Manager et optimisées pour les interconnexions haut débit telles que InfiniBand et Myrinet bibliothèques mathématiques, y compris ACML, FFTW, GMP, GotoBLAS, MKL et ScaLAPACK, autres bibliothèques, y compris Global Arrays, HDF5, IIPP, TBB, Net CDF et PETSc Bright Cluster Manager propose également des modules d environnement pour faciliter la maintenance de nombreuses versions de compilateurs, bibliothèques et applications pour différents utilisateurs sans provoquer de conflit de compatibilité. Chaque module d environnement contient les informations requises pour configurer le shell d une application et paramètre automatiquement ces variables pour une application donnée lors de son chargement. Bright Cluster Manager comprend de nombreux fichiers de modules préconfigurés pour de nombreux scénarios tels que des combinaisons de compilateurs et des bibliothèques mathématiques ou MPI. PUISSANCE DE GESTION D IMAGE ET DE PROVISIONING Bright Cluster Manager dispose de fonctionnalités avancées pour la gestion d image logicielle et le provisioning. Un nombre virtuellement illimité d images peut être créé et assigné à autant de catégories de nœuds que nécessaire. Il est également possible d assigner des noyaux Linux par défaut ou individualisés à des images individuelles. Les mises à jour incrémentielles d images peuvent être déployées sur des nœuds en ligne sans redémarrage ou réinstallation. Le système de provisioning ne transmet que les modifications des images, minimisant ainsi le temps et l impact sur la performance et la disponibilité du système. Les capacités de provisioning peuvent être assignées à la volée à n importe quel nombre de nœuds pour un maximum de flexibilité et d évolutivité. Bright Cluster Manager peut aussi réaliser le provisioning via InfiniBand et vers un RAM-disk. SURVEILLANCE EXHAUSTIVE Avec Bright Cluster Manager, les administrateurs systèmes peuvent rassembler, suivre, visualiser et analyser un ensemble important de paramètres. On retrouve pratiquement tous les paramètres logiciels et matériels disponibles sur le 17
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ BRIGHT CLUSTER MANAGER HAUTE PERFORMANCE RENCONTRE EFFICIENCE Au premier abord, les systèmes massivement parallèles sont un vrai défi pour les administrateurs et les utilisateurs. Ce sont des monstres de complexité. Toute personne mettant en place des clusters HPC doit apprivoiser le monstre, maîtriser la complexité et présenter aux utilisateurs un environnement simple à utiliser et à gérer. Les fournisseurs leaders de solutions HPC tels que transtec remplissent cet objectif. Ils cachent la complexité du HPC sous le capot et unissent haute performance, efficience et simplicité d utilisation pour les utilisateurs comme pour les administrateurs. Le «P» de HPC prend alors une double signification : performance et productivité. Les logiciels de gestion de clusters et de flux applicatifs comme Moab HPC Suite, Bright Cluster Manager ou QLogic IFS permettent de maîtriser et de dissimuler la complexité inhérente des systèmes HPC. Pour les administrateurs et les utilisateurs, les clusters HPC se présentent comme une grosse machine unique avec de nombreux paramètres de configuration. Le logiciel autorise également une vue unifiée des clusters existants dans les cas où le client exige une gestion unifiée même après l installation initiale. Ainsi, il est facile de traiter à l aide d outils graphiques ou web les tâches de routine quotidiennes telles que la gestion de tâches ou d utilisateurs ou encore la partition et la gestion de files d attente sans grande connaissance d encodage ou expertise technique de la part de l administrateur ou de l utilisateur. 18
Maintenance simple : mise à jour automatique de votre cluster depuis les référentiels Linux et Bright Computing Portail utilisateur web L AVANTAGE BRIGHT Bright Cluster Manager offre de nombreux avantages conduisant à une productivité, une disponibilité, une évolutivité, une performance et une sécurité accrues tout en réduisant le coût total de possession. Disponibilité maximale Failover de nœud principal autonome et résistant pour ménager le nœud principal Puissante fonctionnalité d automatisation du cluster pour permettre des actions préemptives basées sur des seuils d observation Riche trame d observation et de contrôle d état du cluster incluant la mise à l écart automatique des nœuds défectueux pour prévenir l échec des tâches Gains de productivité rapides Simple à apprendre et à utiliser grâce à une GUI intuitive Installation rapide : du métal brut au cluster prêt à l emploi en moins d une heure Provisioning rapide et flexible : incrémentiel, live, diskful, diskless, provisioning via InfiniBand, détection de nœuds automatique Surveillance complète : graphiques on-the-fly, aperçu rack, clusters multiples, statistiques individualisées Automatisation poussée : seuils, alertes, actions Prise en charge GPU complète : NVIDIA, AMD ATI, CUDA, OpenCL SMP on-demand : déploiement SMP virtuel ScaleMP immédiat Shell d administration de cluster et API SOAP puissants pour l automatisation de tâches et la création de fonctionnalités individualisées Intégration parfaite avec les gestionnaires de tâches les plus importants : PBS Pro, Moab, Maui, SLURM, GridEngine, Torque, LSF Environnement de développement d application (parallèle) intégré Évolutivité du deskside au TOP 500 Provisioning off-load pour une extensibilité maximale Éprouvé sur quelques-uns des plus grands clusters du monde Coûts minimum - Performance maximum Démon lightweight unique pilotant toutes les fonctionnalités Démon largement optimisé pour réduire les effets sur le système d exploitation et les applications Base de données unique stockant toutes les statistiques et les données de configuration Excellente sécurité Sécurité automatisée et mises à jour depuis des référentiels authentifiés Communications externes et internes cryptées (en option) Authentification à identifiant public sur certificat X509v3 Contrôle des accès en fonction des utilisateurs et piste d audit complète Firewalls et LDAP sécurisé Bright Computing 19
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ BRIGHT CLUSTER MANAGER noyau Linux et tous les paramètres d interface de gestion de matériel (IPMI, ilo etc.). Par exemple, températures CPU et GPU, vitesse des ventilateurs, commutateurs, info SMART de disque dur, charge système, exploitation de mémoire, statistiques réseau, paramètres de stockage, statistiques des systèmes d alimentation et de gestion de flux applicatifs. Il est en outre possible de définir facilement des paramètres individuels. L observation des paramètres est très efficace en un seul process ou out-of-band si possible. Les administrateurs disposent d une flexibilité totale quant au moment où et à la manière dont L ASSISTANT DE CONFIGURATION D AUTOMATISATION DIRIGE L ADMINISTRATEUR SYSTÈME À TRAVERS LES ÉTAPES DE LA DÉFINITION D UNE RÈGLE : SÉLECTION DES PARAMÈTRES, DÉFINITION DES SEUILS ET DES ACTIONS. les résultats sont obtenus. De plus, il est possible de fusionner les historiques pour économiser de la place sur les disques. AUTOMATISATION DE LA GESTION DE CLUSTER L automatisation de la gestion de cluster permet de déclencher des mesures préemptives lorsque des seuils système sont dépassés afin d économiser du temps et prévenir des dommages matériels. Ces seuils peuvent être déterminés pour tous les paramètres disponibles. L assistant de configuration 20
intégré guide l administrateur système lors de la définition d une règle : sélection des paramètres, définition des seuils et des actions spécifiques. Par exemple, il est possible de définir un seuil de température pour les GPU provoquant l arrêt automatique d une unité GPU en surchauffe et l envoi d un SMS sur le portable de l administrateur système. Plusieurs actions prédéfinies sont disponibles, mais il est possible de définir comme action toute commande ou tout script Linux. EXEMPLE DE GRAPHIQUE DE PARAMÈTRES CLUSTER GPU GESTION DE GPU EXHAUSTIVE Bright Cluster Manager réduit de façon radicale le temps et le travail nécessaires à la gestion des GPU et les intègre à un aperçu unique du système complet. Bright comprend des fonctionnalités puissantes de gestion et d observation de GPU permettant d exploiter au maximum les capacités des GPU NVIDIA Tesla. Les administrateurs systèmes n ont aucune difficulté à prendre le contrôle complet des GPU et à obtenir des informations instantanées et continues sur l état du système. En plus des fonctionnalités standard de gestion de cluster, Bright Cluster Manager contrôle tous les paramètres GPU : température GPU, vitesse ventilateur, exploitation, modes exclusivité GPU, compute, display, persistance, statistiques exploitation mémoire GPU, ECC, vitesse ventilateur d unité, numéro de série, température, consommation électrique, voltage et courant, LED de statut, firmware série carte, version pilote, info PCI. Au-delà de ces paramètres, Bright Cluster Manager offre une prise en charge intégrée de l informatique GPU avec des bibliothèques CUDA et OpenCL. Le basculement entre les versions en vigueur ou précédentes de CUDA et OpenCL a aussi été simplifié. MULTITASKING AVEC SHELL PARALLÈLE Le shell parallèle permet l exécution simultanée de multiples commandes et scripts sur l ensemble du cluster ou sur des groupes de nœuds pouvant être définis très simplement. Les résultats des commandes exécutées sont affichés de façon lisible et avec plus ou moins de détails. En cas de besoin, l annulation de commandes et scripts en cours est également très simple. Le shell parallèle est disponible via CMGUI et CMSH. GESTION DE FLUX APPLICATIFS INTÉGRÉE Bright Cluster Manager intègre une riche sélection de gestionnaires de tâches gratuits et commerciaux. Cette intégration offre un certain nombre d avantages : le gestionnaire de flux applicatifs sélectionné est installé et configuré de façon automatique, il est possible de surveiller de nombreux paramètres du gestionnaire de flux, la GUI propose une interface conviviale pour la configura- 21
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ BRIGHT CLUSTER MANAGER tion, la surveillance et la gestion du gestionnaire de flux sélectionné, le CMSH et l API SOAP offrent un accès direct et puissant à un grand nombre de commandes et de paramètres du gestionnaire de flux, le failover fiable du gestionnaire de flux est configuré correctement, le gestionnaire de flux est informé en continu de l état des nœuds (voir la section sur le contrôle d état). Les gestionnaires de tâches suivants sont parfaitement intégrés LES FILES D ATTENTE DE GESTION DE FLUX PEUVENT ÊTRE CONSULTÉES ET CONFIGURÉES DEPUIS LA GUI SANS AUCUNE CONNAISSANCE EXPERTE. IL SUFFIT DE QUELQUES CLICS SUR LA GUI OU D UNE SIMPLE COMMANDE SUR LE SHELL DE GESTION DE CLUSTER POUR CRÉER OU DÉMANTELER UN NŒUD SMP VIRTUEL. 22
à Bright Cluster Manager et peuvent être sélectionnés par les utilisateurs : PBS Pro, Moab, Maui, LSF SLURM, GridEngine, Torque Lava, LoadLeveler ou d autres gestionnaires de tâches peuvent être installés de façon alternative sur Bright Cluster Manager. PRISE EN CHARGE SMP INTÉGRÉE Bright Cluster Manager Advanced Edition combine de façon dynamique plusieurs nœuds de cluster en un seul nœud SMP virtuel sous l architecture Versatile SMP (VSMP) de ScaleMP. Il suffit de quelques clics sur la CMGUI pour créer ou démanteler un nœud SMP virtuel. Il est également possible de démarrer ou démanteler automatiquement des nœuds SMP virtuels en utilisant des scripts CMSH. Dans Bright Cluster Manager, un nœud SMP virtuel se comporte comme n importe quel autre nœud, permettant un provisioning on-the-fly, une configuration, une observation et une gestion transparents des nœuds SMP virtuels en tant que composants de la gestion générale du système. DISPONIBILITÉ MAXIMALE AVEC FAILOVER DE NŒUD PRINCIPAL Bright Cluster Manager Advanced Edition permet de configurer deux nœuds principaux en mode failover actif/actif. Les deux nœuds principaux sont actifs ; en cas de défaillance de l un d eux, l autre reprend toutes les tâches sans interruption. DISPONIBILITÉ MAXIMALE AVEC CONTRÔLE D ÉTAT cluster maximisant la disponibilité du système. Elle observe continuellement les indicateurs d état de tous les composants matériels et logiciels et déclenche de façon proactive des actions correctives. Elle peut aussi exécuter une série de tests standard ou individualisés avant de lancer une nouvelle tâche afin de garantir une exécution réussie. Les actions correctives comprennent entre autres le contournement autonome des nœuds défaillants, le redéploiement des files d attente des tâches pour éviter le flush des files et le jailing de process pour assigner, suivre, retracer et flusher les process utilisateurs terminés. La trame de contrôle de l état garantit le débit de tâches le plus rapide, la performance générale du cluster la plus élevée et les coûts de gestion les plus bas. PORTAIL UTILISATEUR WEB Le portail utilisateur web offre un accès protégé (lecture seule) aux informations cluster essentielles comprenant une vue générale de l état du cluster, des propriétés matérielles et logicielles des nœuds, des statistiques du gestionnaire de tâches et des graphiques individualisables. Il est possible d individualiser et d étendre simplement le portail utilisateur en utilisant PHP et l API SOAP. GESTIONS DES UTILISATEURS ET DES GROUPES De nouveaux utilisateurs peuvent être ajoutés au cluster par CMGUI ou CMSH. Bright Cluster Manager est livré avec une base de données LDAP préconfigurée. Il est cependant possible d utiliser un service LDAP externe ou un autre système d authentification. CONTRÔLE D ACCÈS PAR IDENTIFICATION ET AUDIT Le mécanisme de contrôle d accès par identification de Bright Cluster Manager permet de définir les droits d administrateur en fonction des rôles attribués. EXCELLENTE SÉCURITÉ CLUSTER Bright Cluster Manager offre un niveau de sécurité inégalé pouvant être facilement adapté aux exigences locales. Les fonctionnalités de sécurité comprennent : 23
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ BRIGHT CLUSTER MANAGER mises à jour de sécurité et autres automatiques depuis des référentiels authentifiés Linux et Bright Computing, communications internes et externes cryptées, authentification à clé publique certifiée x.509v3 sur l infrastructure de gestion cluster, Contrôle des accès en fonction des utilisateurs et piste d audit complète Firewalls et LDAP sécurisé accès shell sécurisé CAPACITÉ MULTI-CLUSTER Bright Cluster Manager est idéal pour les organisations qui doivent COMPRENANT UNE VUE GÉNÉRALE DE L ÉTAT DU CLUSTER, DES PROPRIÉTÉS MATÉ- RIELLES ET LOGICIELLES DES NŒUDS, DES STATISTIQUES DU GESTIONNAIRE DE FLUX ET DES GRAPHIQUES INDIVIDUALISABLES. «Les éléments composant les solutions HPC transtec doivent être choisis en fonction de nos objectifs de convivialité en matière de gestion et d utilisation. Grâce à Bright Cluster Manager, nous sommes heureux de disposer de la technologie leader permettant d atteindre ces objectifs. Nos clients l apprécient.» Armin Jäger HPC Solution Engineer 24
gérer plusieurs clusters sur un ou plusieurs sites. Ses fonctionnalités comprennent : disponibilité de toutes les fonctions de gestion et d observation pour tous les clusters via une seule GUI, sélection et export de n importe quel paramètre de configuration d un cluster vers tous les autres ou certains d entre eux en quelques clics, mise à disposition des images de nœuds pour d autres clusters. pouvez passer aisément de l édition «Standard» à «Advanced». DOCUMENTATION ET SERVICES Un manuel administrateur système complet et un manuel utilisateur au format PDF sont inclus. Une offre de formation individualisée et des services professionnels sont disponibles. Ces services comprennent plusieurs niveaux d assistance ainsi que des services d installation et de conseil. ÉDITIONS STANDARD ET ADVANCED Bright Cluster Manager existe en deux versions : «Standard» et «Advanced». Le tableau sur cette page indique les différences. Si votre cluster évolue en taille ou complexité au cours du temps, vous BRIGHT CLUSTER MANAGER PEUT GÉRER PLUSIEURS CLUSTERS SIMULTANÉMENT. L APERÇU MONTRE DES CLUSTERS INSTALLÉS À OSLO, ABU DHABI ET HOUSTON GÉRÉS VIA UNE SEULE GUI. LES CONTRÔLES D ÉTAT DE CLUSTER PEUVENT ÊTRE CONSULTÉS DANS L APERÇU RACK. CETTE CAPTURE D ÉCRAN MONTRE QUE LE CONTRÔLE D ÉTAT «ALLFANSRUN- NING» (TOUS VENTILATEURS EN MARCHE) A DONNÉ UN RÉSULTAT NÉGATIF POUR L UNITÉ GPU 41. 25
LA GESTION DE CLUSTERS EN TOUTE SIMPLICITÉ BRIGHT CLUSTER MANAGER FONCTIONNALITÉ STANDARD ADVANCED Choix des distributions Linux x x Intel Cluster Ready x x GUI gestion cluster x x Shell gestion cluster x x Portail utilisateur web x x SOAP API x x Provisioning nœud x x Identification nœud x x Observation cluster x x Automatisation cluster x x Gestion des utilisateurs x x Shell parallèle x x Intégration gestionnaire de tâches x x Sécurité cluster x x Compilateurs x x Débuggeurs et profileurs x x bibliothèques MPI x x bibliothèques mathématiques x x Modules d environnement x x NVIDIA CUDA & OpenCL x x Gestion et observation GPU x x Gestion et observation ScaleMP - x Nœuds principaux failover redondants - x Contrôle état du cluster - x Provisioning off-load - x Nombre de nœuds conseillés 4 128 129 10,000+ Gestion multi-cluster - x Assistance Standard x x Assistance Premium En option En option 26
27
GESTION INTELLIGENTE DE FLUX D APPLICATIONS HPC
Tandis que tous les systèmes HPC se trouvent confrontés à de grands challenges en matière de complexité, d évolutivité et d exigences des flux applicatifs et des ressources, les systèmes HPC des entreprises font face aux défis et attentes les plus exigeants. Les systèmes HPC d entreprises doivent satisfaire aux exigences critiques et prioritaires des flux d applications pour les entreprises commerciales et les organisations de recherche et académiques à orientation commerciale. Ils doivent trouver un équilibre entre des SLA et des priorités complexes. En effet, leurs flux HPC ont un impact direct sur leurs revenus, la livraison de leurs produits et leurs objectifs. 29
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE ENTERPRISE EDITION MOAB HPC SUITE Moab est le moteur intelligent le plus puissant pour la gestion prédictive et réglementée des flux d applications et des ressources. Moab HPC Suite accélère l obtention des résultats et maximise l exploitation tout en simplifiant la gestion des flux d applications dans des environnements clusters hétérogènes et complexes. Les produits Moab HPC Suite exploitent les règlements multidimensionnels de Moab pour structurer et suivre les flux applicatifs, les ressources, les SLA et les priorités afin d optimiser optimiser le rendement des flux. À leur tour, ces règles d utilisation se servent de la couche d abstraction de gestion de Moab, unique en son genre, intégrant les données au sein de ressources et gestionnaires de ressources hétérogènes pour vous offrir un contrôle maximal lors de l automatisation des flux d applications. «Avec Moab HPC Suite, nous pouvons faire face aux exigences élevées de nos clients en matière de gestion unifiée d environnements de clusters hétérogènes et de gestion de grille et leur offrir des options de configuration et de rapport à la fois flexibles et puissantes. Nos clients l apprécient grandement.» Thomas Gebert HPC Solution Architect Gérant les plus grands systèmes du monde, prêt à gérer le vôtre Moab gère les environnements HPC les plus étendus et les plus complexes au monde : 40 % du TOP 10 des superordinateurs, près de 40 % du TOP 25 des systèmes et 36 % des cœurs de calcul dans les systèmes du TOP 100 selon le classement de www.top500.org. Ainsi, vous pouvez être sûr qu il a fait ses preuves et qu il est prêt à gérer de façon efficiente et intelligente votre environnement dans toute sa complexité. MOAB HPC SUITE ENTERPRISE EDITION Moab HPC Suite Enterprise Edition offre une gestion professionnelle des flux d applications HPC qui optimise d elle-même la productivité, l uptime des flux, la conformité aux SLA et aux priorités des entreprises en matière de HPC et de cloud HPC. Il exploite le moteur intelligent breveté et éprouvé Moab pour automatiser la priorisation des flux applicatifs critiques des systèmes HPC des entreprises. Les entreprises clientes profitent d une solution comportant non seulement les capacités-clés HPC mais aussi implémentation, formation et assistance. 24h/24 et 7j/7 pour pro- 30
fiter au plus vite des avantages de leurs systèmes HPC pour leurs activités. Moab HPC Suite Enterprise Edition offre : Accélération de la productivité Automatisation uptime Application automatique des SLA Gestion HPC compatible grille et cloud Conçu pour résoudre les défis HPC des entreprises Tandis que tous les systèmes HPC se trouvent confrontés à de grands challenges en matière de complexité, d évolutivité et d exigences des flux applicatifs et des ressources, les systèmes HPC des entreprises font face aux défis et attentes les plus exigeants. Les systèmes HPC d entreprises doivent satisfaire aux exigences critiques et prioritaires des flux d applications pour les entreprises commerciales et les organisations de recherche et académiques à orientation commerciale. Ces organisations doivent mettre en équilibre des SLA complexes et leurs priorités. En effet, leurs flux HPC ont un impact direct sur leurs revenus, la livraison de leurs produits et leurs objectifs. Les organisations HPC professionnelles doivent éliminer retards et défaillances de travaux. Elles cherchent également à améliorer l efficacité de l exploitation des ressources et de la gestion des flux d applications sur des systèmes multiples et hétérogènes. Pour maximiser leur productivité, elles sont obligées de faciliter l accès et l exploitation des ressources HPC pour les utilisateurs, voire de s étendre à d autres clusters ou au cloud HPC pour mieux faire face aux pointes de demande et aux exigences des flux applicatifs. AVANTAGES Moab HPC Suite - Enterprise Edition offre des avantages-clés synonymes de réduction des coûts, d amélioration des performances de service et d accélération de la productivité des systèmes HPC professionnels. Ces avantages participent à la réalisation des objectifs des entreprises dépendants des résultats fournis par leurs systèmes HPC. Moab HPC Suite Enterprise Edition offre : Accélération de productivité pour plus de résultats, plus rapides et à des coûts plus bas Moab HPC Suite - Enterprise Edition vous apporte des résultats plus rapides sur vos ressources HPC pour diminuer les coûts tout en accroissant la productivité générale du système, des utilisateurs et des administrateurs. Moab offre l extensibilité inégalée, une exploitation de 90 à 99 % et la soumission de tâches rapide et simple, nécessaires à la maximisation de la productivité dans les organisations HPC professionnelles. Le moteur intelligent Moab optimise la planification des flux applicatifs et orchestre l approvisionnement et le management des ressources pour maximiser la vitesse et le volume des flux. Il unifie en outre la gestion des flux entre des ressources et des gestionnaires de ressources hétérogènes et même des clusters multiples pour réduire la complexité et les coûts de gestion. Automatisation de l uptime garantissant la clôture réussie des flux d applications Les défaillances de ressources et de flux d applications dans les systèmes HPC professionnels entrainent des retards de résultats et des objectifs et des opportunités manqués. Moab HPC Suite Enterprise Edition automatise de façon intelligente l uptime des flux d applications et des ressources dans les systèmes HPC afin de garantir que les flux sont conclus avec succès et éviter de telles défaillances. Application des SLA automatique pour une conformité constante des garanties de service et des priorités commerciales Moab HPC Suite Enterprise Edition exploite le puissant moteur intelligent Moab pour planifier de manière optimale et ajuster de façon dynamique les flux d applications afin d être en conformité constante avec les «service level agreements» (SLA), les garanties et les priorités commerciales. Cela garantit automatiquement que les flux souhaités sont terminés en temps voulu, prenant en compte le nombre complexe de services, de priorités et de SLA à satisfaire. 31
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE ENTERPRISE EDITION Management HPC prêt pour la grille et le cloud pour une gestion plus efficace et une meilleure réponse aux exigences des flux applicatifs Il est possible d étendre les avantages d un environnement HPC traditionnel pour gérer plus efficacement et satisfaire aux exigences de flux applicatifs et de ressources en partageant ces flux entre plusieurs clusters grâce à la gestion sur grille et les fonctions de gestion de cloud HPC offertes par Moab HPC Suite Enterprise Edition. FONCTIONNALITÉS Moab HPC Suite Enterprise Edition réunit les plus importantes fonctionnalités HPC professionnelles en un seul produit intégré qui optimise de lui-même la productivité, l uptime des flux d applications et la conformité aux SLA et aux priorités des systèmes et du cloud HPC. Les fonctionnalités d accélération de la productivité permettent d obtenir des résultats plus rapides, de diminuer les coûts et d accroître les ressources et la productivité des utilisateurs et administrateurs. ARCHITECTURE La très grande extensibilité accélère les résultats et le débit des flux d applications et est compatible avec l informatique haut débit. Les règles d allocation et de provisioning optimisées des flux applicatifs permettent d obtenir plus de résultats des ressources hétérogènes en place afin de réduire les coûts. L unification des flux d applications entre des clusters hétérogènes maximise la disponibilité des ressources pour les flux et l efficacité de l administration en les gérant comme sur un seul cluster. La soumission et le contrôle simplifiés des flux d applications pour les utilisateurs et les administrateurs propose des tâches groupées, des modèles, un portail de soumission en self-service et un panneau de commande administrateur. Planification intelligente optimisée plaçant les flux applicatifs 32
et les travaux usuels en fonction des tâches prioritaires et des réservations tout en respectant les SLA pour exploiter de façon efficiente toutes les ressources disponibles. La planification et la gestion hautement développées des GPGPU pour les tâches maximisent leur exploitation, y compris l auto-détection, la planification basée sur les règles d utilisation et les rapports statistiques des GPGPU. La gestion automatique de l énergie en fonction des flux réduit la consommation et les coûts en énergie de 30 à 40 % grâce au regroupement des flux et à la gestion automatisée de l énergie. L automatisation de l uptime garantit la clôture réussie et fiable des flux d applications, évitant ainsi les défaillances et les opportunités et les objectifs manqués. L allocation intelligente des ressources prévient les échecs des flux d applications grâce à une structuration fine des ressources garantissant que toutes les exigences de flux d applications sont satisfaites et les ressources à risque évitées L auto-réponse aux incidents et autres évènements maximise l uptime des flux d applications et des systèmes événements grâce à des actions configurables en cas de conditions préfigurant d un incident, alertes orange ou autres statistiques et mesures de surveillance. La planification de la maintenance en fonction des flux d applications contribue à la stabilité du système HPC sans affecter leur productivité. L expertise éprouvée dans des conditions réelles garantit rapidement rendement et uptime système, y compris implémentation, formation et assistance à distance 24h/24 et 7j/7. L application automatique des SLA planifie et ajuste les flux d applications afin de satisfaire constamment aux garanties de service et aux priorités de l entreprise. Ainsi, les tâches les plus importantes sont terminées en temps voulu. L application des budgets accordés à chaque service permet de planifier les ressources en conformité avec les budgets et les accords de partage des ressources (limites et rapports d exploitation, etc.) Les règlements de SLA et de priorités garantissent que les flux applicatifs de la plus haute priorité sont traités en premier (qualité de service, pondération hiérarchique des priorités, règlements fairshare dynamiques, etc.) La planification continue et prévisionnelle assure que priorités et garanties sont remplies de façon proactive en cas de modification des conditions et des niveaux de flux d applications (réservations et priorités prévisionnelles, actions préemptives) La gestion HPC compatible grille/cloud étend les avantages de votre environnement HPC conventionnel pour une gestion plus efficace et une meilleure réponse aux exigences des flux d applications. Fonctionnalités d affichage des paiements et des remboursements calculés sur l utilisation pour le suivi de l utilisation réelle avec des options flexibles de remboursements et de rapports par utilisateur/service. Gestion et répartition des flux d applications sur plusieurs clusters à distance pour répondre aux exigences croissantes ou à des pointes de flux avec un seul portail utilisateur en self-service et le moteur intelligent fournis avec Moab HPC Suite - Grid Option ARCHITECTURE Moab HPC Suite Enterprise Edition est conçu pour s intégrer à vos gestionnaires de ressources de tâches ainsi qu aux autres types de gestionnaires de ressources de votre environnement. Il propose planification et gestion réglementées des flux applicatifs, allocation de ressources et organisation du provisioning. Le moteur intelligent Moab base ses décisions complexes de planification et de gestion sur l ensemble des données qu il reçoit des différents gestionnaires de ressources pour ensuite organiser les tâches et mesures de gestion via ces mêmes ges- 33
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC LES NOUVEAUTÉS DE MOAB 7.0 NOUVELLE MOAB HPC SUITE 7.0 Les nouvelles versions Moab HPC Suite 7.0 présentent de grandes innovations en matière d extensibilité, de fiabilité et de gestion de tâches groupées pour accroître la productivité du système et offrir une prise en charge étendue de bases de données. Voici un aperçu des nouvelles fonctionnalités et des avantages qu elles apportent aux clients : Innovations pour le gestionnaire de ressources TORQUE sur l extensibilité et la fiabilité pour le pétaflop et au-delà Partie intégrante des versions Moab HPC Suite 7.0, le gestionnaire de ressources Torque 4.0 apporte des nouveautés en matière d extensibilité et de fiabilité pour exploiter pleinement l évolutivité de Moab. Ces innovations vous permettent de maximiser l exploitation des capacités matérielles en expansion et de faire face aux besoins croissants des utilisateurs HPC. Les innovations-clés de Torque 4.0 pour Moab HPC Suite 7.0 comprennent : Le nouveau Job Radix vous permet de gérer efficacement des tâches qui s étendent sur des dizaines ou même des centaines de milliers de nœuds. Chaque démon MOM met désormais en cascade la communication sur les tâches simultanément avec de nombreux autres démons MOM pour réduire la durée du process de démarrage à une fraction du temps normalement requis sur un nombre élevé de nœuds. Le Job Radix supprime les tâches perdues et les goulots d étranglement au démarrage dus au fait que les démons MOM de tous les nœuds communiquent avec un seul nœud MOM principal. Cela permet d économiser des minutes précieuses lors du démarrage et d accélérer le débit des travaux. La nouvelle hiérarchie de communication des démons MOM augmentent le nombre de nœuds pris en charge et réduit le coût des mises à jour de statut des clusters en répartissant la communication sur de nombreux nœuds au 34
lieu d un seul nœud Torque principal. Ainsi, les mises à jour de statut sont plus efficaces, la planification plus rapide et la réactivité accrue. Le nouveau multithreading améliore les réponses et la fiabilité, permettant un retour immédiat aux demandes des utilisateurs et la poursuite des travaux même si quelques process sont toujours en cours de traitement. Communication réseau améliorée par le passage d UDP à TCP pour toutes les communications, rendant les transferts de nœud à nœud plus fiables Les règlements d auto-annulation des tâches groupées accroissent la productivité du système Grâce aux nouveaux règlements d auto-annulation de groupes de tâches, Moab HPC Suite 7.0 améliore la productivité en annulant les tâches restantes d un groupe dès que la solution est trouvée dans les résultats de groupe. Cela libère des ressources qui sinon seraient occupées par des tâches inutiles et permet de traiter plus rapidement les autres tâches dans la file d attente. Avec les règlements d auto-annulation de groupes de tâches, vous pouvez paramétrer les auto-annulations en fonction du premier résultat, de n importe quelle instance de résultats, de la réussite ou de l échec ou de codes de sorties spécifiques. La prise en charge étendue de bases de données inclut désormais PostgreSQL et Oracle, en plus de MySQL La prise en charge étendue de bases de données dans Moab HPC Suite 7.0 permet aux clients d exploiter des bases de données PostgreSQL et Oracle conformes ODBC en plus de MySQL. Ils ont ainsi la liberté d exploiter la base de données qui convient le mieux à leurs besoins ou qui correspond au standard de leur système. les plug-in de gestionnaires de ressources pour l intégration de données riches et l intégration de scripts. Les clients disposent maintenant d une interface standard entre Moab et les API REST. Portail-tableau de bord pour administrateurs et self-service simplifiés Moab HPC 7.0 comprend un portail/tableau de bord administratif en self-service et optimisé avec soumission de tâches par simple clic pour les utilisateurs finaux ainsi qu un nouvel aperçu visuel de type tableau de bord pour les nœuds, les tâches et les réservations pour une gestion plus efficace. Le nouveau tableau de bord cluster visuel proposent aux administrateurs et aux utilisateurs des vues générales propose de leurs ressources cluster pouvant être filtrées en fonction de presque tous les facteurs tels que ID, nom, adresse IP, état, alimentation, actions en cours, réservation, charge, mémoire, processeurs, etc. En outre, les utilisateurs peuvent aussi rapidement filtrer et consulter leurs tâches par nom, état, utilisateur, groupe, compte, durée réelle de traitement exigée, mémoire exigée, date/heure de démarrage, date/heure de soumission, etc. Les fonctions de recherche par simple clic fournissent des détails supplémentaires et des options de gestion. Flexibilité de l intendance d exploitation des ressources Moab HPC 7.0 propose de nouvelles options plus souples pour l intendance de l usage des ressources permettant aux administrateurs de reproduire simplement les hiérarchies individuelles de l organisation organisation, groupe, projet, unité commerciale, centre de coût, etc. au sein de la structure de budget d utilisation et de facturation de Moab Accounting Manager. Ainsi, l utilisation des ressources est budgétisée, contrôlée, rapportée ou facturée de la façon la plus utile pour les administrateurs et leurs utilisateurs/groupes clients. Les nouveaux services web Moab offrent une intégration et une individualisation plus simples Les nouveaux services web Moab offrent une intégration et une individualisation plus simples pour les environnements de nos clients, par ex. l intégration aux portails utilisateurs existants, 35
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE BASIC EDITION tionnaires de ressources. Il ne requiert pour cela aucun agent supplémentaire. C est donc le choix idéal pour l intégration à des systèmes nouveaux ou déjà en place ainsi que pour gérer votre système HPC et ses futures expansions. Moab HPC Suite Enterprise Edition comprend le moteur intelligent breveté Moab qui lui permet de s intégrer aux environnements hétérogènes existants et d en automatiser la gestion pour l optimiser et accroître l efficacité des flux applicatifs. Le moteur intelligent unique propose : Règlements multidimensionnels à la pointe de la technologie permettant d automatiser les décisions et actions en temps réel complexes pour la gestion des flux applicatifs, l allocation et l adaptation des ressources. Ces règlements multidimensionnels peuvent modéliser et prendre en compte les exigences des flux d applications, les attributs et les affinités des ressources, les SLA et priorités pour automatiser les décisions les plus complexes et efficientes. Planification environnement en temps réel et prévisionnelle permettant d obtenir des décisions et des garanties de service plus exactes et efficientes par l adaptation proactive de la planification et de l allocation des ressources grâce à la projection de l impact de changements de flux applicatifs ou conditions de ressources. Couche d abstraction de gestion ouverte et flexible permettant l intégration de données et l organisation de mesures de flux applicatifs à travers les environnements complexes de clusters hétérogènes et d intergiciels de gestion pour maximiser le contrôle, l automatisation et l optimisation des flux. COMPOSANTS Moab HPC Suite Enterprise Edition comprend les produits et technologies intégrés suivants pour former une solution com- 36
plète de gestion de flux applicatifs HPC : Moab Workload Manager : moteur intelligent multidimensionnel breveté automatisant les décisions complexes et organisant le placement et la planification réglementés des flux applicatifs ainsi que l allocation des ressources, le provisioning et la gestion de l énergie Moab Cluster Manager : application desktop graphique d administrateur pour la gestion, la configuration, le suivi et la création de rapports pour les clusters gérés par Moab Moab Viewpoint : portail web de gestion et de soumission de tâches en self-service utilisateur et portail-tableau de bord pour administrateur Moab Accounting Manager : outil d intendance et de création de budget pour l utilisation des ressources HPC faisant appliquer les accords de partage de ressources, les limites basées sur les budgets accordés aux différents services et de suivre et de facturer l exploitation des ressources Moab Services Manager : interfaces intégratives vers les gestionnaires de ressources et les utilitaires tiers Moab HPC Suite Enterprise Edition est également compatible avec Torque, disponible en téléchargement gratuit à Adaptive- Computing.com. Torque est un gestionnaire de ressources/ tâches open-source qui fournit des informations mises à jour en continu sur l état des nœuds et le statut des flux applicatifs. Adaptive Computing est le dépositaire du projet Torque et travaille activement au développement de la base code en collaboration avec la communauté Torque pour offrir une gestion de ressource à la pointe de la technologie. Chaque souscription produit Moab HPC Suite comprend l assistance pour Moab HPC Suite et Torque, si vous choisissez de l utiliser comme gestionnaire de tâches/ressources pour votre cluster. MOAB HPC SUITE BASIC EDITION Moab HPC Suite Basic Edition est un système de gestion de flux d applications multidimensionnel réglementé qui accélère et automatise la planification, le suivi et la création de rapports des flux d applications HPC sur des installations à grande échelle et à technologies multiples. Le moteur décisionnel multidimensionnel breveté Moab HPC Suite Basic Edition accélère à la fois les décisions et la gestion des flux d applications par la combinaison idéale de diverses ressources, en particulier de ressources spécialisées comme les GPGPU. La vitesse et l exactitude des décisions et de l automatisation de la planification optimisent les débits de flux applicatifs et l exploitation des ressources. Ainsi, plus de travail est accompli en moins de temps avec les ressources en place pour des coûts mieux maîtrisés et une rentabilité accrue des investissements HPC. Moab HPC Suite Basic Edition vous permet de faire face aux challenges HPC les plus pressants tels que : Retards au démarrage/à la conclusion des flux d applications ralentissant les résultats Performance irrégulière sur les garanties de service et les engagements SLA Sous-exploitation des ressources Efficacité de la gestion des flux d applications sur des systèmes hétérogènes ou hybrides de GPGPU, matériel et intergiciels Simplification de la soumission de tâches et de la gestion pour les utilisateurs et les administrateurs pour maximiser la productivité Moab HPC Suite Basic Edition joue le rôle de «cerveau» du système HPC pour accélérer et automatiser les procédures de décisions complexes. Le moteur décisionnel breveté est capable de prendre les décisions multidimensionnelles respectant les règles d utilisation fixées et requises pour la planification afin d optimiser le débit et la réussite des flux d applications et l exploitation des ressources. Moab HPC Suite Basic Edition intègre les données venant des différents gestionnaires de ressources de votre 37
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE BASIC EDITION MOAB HPC SUITE - BASIC EDITION système fondant la prise de décision et automatise les actions sur ceux-ci. Ainsi sont prises en compte toutes les dimensions des attributs détaillés et des statuts des ressources en temps réel et le planning d occupation des ressources présent et futur afin de rendre plus efficaces et adaptées la planification et les décisions d allocation. Cela simplifie significativement la gestion des flux d applications et des process sur les environnements hétérogènes complexes. Moab est compatible avec la plupart des outils professionnels de gestion et de suivi de ressources standard les plus importants pour des modèles de matériels, réseaux, stockage et licences mixtes. Les règlements Moab HPC Suite Basic Edition sont également en mesure de prendre en compte les priorités et la complexité de l entreprise lors de la planification des flux d applications et de l allocation des ressources. Moab garantit que le flux applicatif est traité conformément aux priorités et engagements de l entreprise et que les ressources sont partagées équitablement entre les utilisateurs, les groupes ou même différentes organisations. Cela permet à ces dernières de faire appliquer automatiquement les garanties de service et gérer efficacement des conditions organisationnelles complexes grâce à des paramètres simples reposant sur leurs règles d utilisation. AVANTAGES Moab HPC Suite Basic Edition, cela signifie un ROI supérieur et de meilleurs résultats de votre environnement HPC : Temps de réponse et débit des tâches améliorés grâce au moteur décisionnel accélérant les décisions complexes de planification des flux d applications pour permettre de démarrer plus rapidement les tâches et accroître le débit de calcul Exploitation des ressources optimisée à 90-99 % avec planification multidimensionnelle et prédictive des flux d applications pour plus de résultats sur vos ressources en place Application automatique des garanties de services, priorités et accords de partage de ressources pour tous les utilisateurs, groupes et projets 38
Productivité accrue grâce à la simplification de l utilisation, de l accès et du contrôle HPC pour les utilisateurs et les administrateurs avec tâches groupées, modèles, portail utilisateur en option et GUI administrateur de suivi et de gestion Rationalisation du traitement des tâches et réduction des opérations administratives par l unification et l automatisation des flux d applications et des process ressources sur des ressources et environnements mélangeant divers systèmes, y compris GPGPU Architecture de gestion de flux d applications extensible traitant des grandeurs péta et au-delà, compatible grille, compatible avec l infrastructure en place et évolutive pour gérer votre environnement quand il s étend et se développe FONCTIONNALITÉS Moab HPC Suite Basic Edition accélère le traitement des flux d applications grâce à un moteur décisionnel multidimensionnel breveté qui optimise de lui-même le placement des flux d applications, l exploitation des ressources et les sorties de résultats tout en garantissant que les priorités de l entreprises sont respectées parmi tous les utilisateurs et groupes exploitant l environnement HPC. La planification basée sur les règles d utilisation place les flux d applications de façon intelligente sur un ensemble optimal de ressources pour maximiser le débit et la réussite des tâches, l exploitation et la conformité aux priorités de flux applicatifs et de groupes. Les règlements de priorités, SLA et partage de ressources garantissent que les flux d applications prioritaires sont traités en premier et que les ressources sont partagées équitablement entre les utilisateurs et les groupes conformément aux règlements de qualité de service, de pondération de priorité hiérarchique, d objectifs de partage équitable, de limitations et pondérations. Les règlements d allocation optimisent l exploitation des ressources et préviennent l échec des tâches par la structuration et la planification détaillées des ressources et le placement basé sur la topologie des nœuds. La planification des travaux usuels accélère le débit des tâches et maximise l utilisation en planifiant les tâches moindres ou peu exigeantes autour des travaux prioritaires et des réservations pour exploiter toutes les ressources disponibles. Les règlements de sécurité contrôlent quels utilisateurs peuvent accéder à quelles ressources. Mise en place de check-points La planification en temps réel et prédictive garantit le respect proactif des priorités de flux d applications en cas de modifica- tion des conditions et des niveaux de charge de travail. Les réservations préalables garantissent l exécution des tâches en temps voulu Les réservations de maintenance bloquent les ressources pour les activités de maintenance prévues afin d éviter l interrup- tion des flux d applications productifs. La planification prédictive permet de prévoir et d ajuster le planning des flux d applications et d allocation des ressources pour faire face aux changements de conditions et aux nou- velles demandes de tâches et de réservation. Planification et gestion hautement développées des GPGPU pour une exploitation maximale par les flux d applications Détection et gestion automatiques des GPGPU de l environ- nement supprimant la configuration manuelle et les rendant immédiatement disponibles pour la planification Allocation et planification exclusives des GPGPU au cas par cas Gestion et planification réglementées reposant sur les statistiques GPGPU Accès rapide aux statistiques d exploitation et donnéesclés GPGPU pour une gestion et un diagnostic des pro- 39
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE BASIC EDITION blèmes optimum tels que décompte des erreurs, température, vitesse ventilateur et mémoire Soumission, gestion et contrôle simplifiés des tâches groupées améliorant la productivité des utilisateurs et l efficacité du traitement des flux d applications Les utilisateurs peuvent soumettre des milliers de soustâches en une seule soumission avec un index différenciant chaque sous-tâche du groupe. Les règlements limitant l usage du regroupement des tâches veillent à l application des maxima de tâches en fonction des identifiants ou des catégories. La création de rapports et la gestion de tâches groupées simplifiées pour les utilisateurs finaux filtrent les tâches pour les résumer, les suivre et les gérer au niveau du groupe. Performance évolutive des tâches pour les environnements à grande échelle, très grande échelle et à haut débit Gère de façon efficace la soumission et la planification de centaines de milliers de demandes de tâches en file d attente pour un traitement haut débit. Réponse planificateur rapide aux demandes des utilisateurs durant la planification pour fournir aux utilisateurs et aux administrateurs l information en temps réel dont ils ont besoin. Taux élevé de débit des tâches pour un démarrage et une obtention des résultats plus rapides et une exploitation maximale des ressources La couche d abstraction de gestion ouverte et flexible s intègre facilement et automatise la gestion des ressources et intergiciels hétérogènes en place pour accroître l efficacité de la gestion L intégration et l agrégation poussées de données vous permettent de mettre en place de puissants règlements multidi- 40
mensionnels reposant sur des données ressources en temps réel pouvant être suivies sans requérir d agents supplémentaires. Allocation et gestion de ressources hétérogènes pour des flux d applications sur du matériel et des ressources spéciales mixtes tels que GPGPU et gestionnaires de ressources multiples Prend en charge l intégration avec des gestionnaires de ressources-tâches tels que TORQUE et SLURM. Intégrable avec de nombreux autres types de gestionnaires comme HP Cluster Management Utility, Nagios, Ganglia, FlexLM et d autres La simplicité de l utilisation et de la gestion améliore la productivité des utilisateurs et des administrateurs L outil et portail administrateur graphique de gestion de cluster permet d unifier la gestion des flux d applications et la création de rapports sur l exploitation et le statut des ressources dans des environnements à ressources mixtes pour faciliter la gestion, le diagnostic de problèmes et l optimisation de la performance. Le portail utilisateur individualisable en option permet une soumission et une gestion visuelles des flux d applications depuis n importe où avec par ex. des formulaires de tâches, des modèles et des estimations d heure de lancement afin de réduire les besoins en formation et en administrateurs. Les modèles de tâches autorisent une soumission rapide de travaux fréquents en pré-renseignant les ressources demandées pour chaque tâche afin de réduire le travail répétitif et simplifier la soumission pour les utilisateurs. à vos gestionnaires de ressources de tâches ainsi qu aux autres types de gestionnaires de ressources de votre environnement pour vous permettre une planification et un gestion réglementées des flux applicatifs et de l allocation de ressources. Il base ses décisions complexes sur l ensemble des données qu il reçoit des différents gestionnaires de ressources pour ensuite organiser les tâches et mesures de gestion via ces mêmes gestionnaires de ressources. C est donc le choix idéal pour l intégration à des systèmes nouveaux ou déjà en place ainsi que pour gérer votre système HPC et ses futures expansions. MOAB HPC SUITE - BASIC EDITION Utilisateurs finaux Gestionnaire de stockage Stockage Gestionnaire d allocation Moab HPC Suite - Basic Edition règles d utilisation, SLA, planification prédictive, allocationrègles Gestionnaire de tâches ressources Gestionnaire d état Administratuer Gestionnaire de réseau Moab HPC Suite Basic Edition intègre un moteur intelligent breveté qui lui permet de s intégrer aux environnements hétérogènes existants et d automatiser la gestion des flux applicatifs à travers des environnements hétérogènes pour l optimiser et accroître l efficacité de ces flux. Cette architecture unique propose : ARCHITECTURE Moab HPC Suite Basic Edition est conçu pour s intégrer Règlements multidimensionnels à la pointe de la technologie automatisant les décisions et actions en temps réel 41
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE GRID OPTION complexes pour la gestion des flux applicatifs et l adaptation des ressources. Ces règlements multidimensionnels peuvent modéliser et prendre en compte les exigences des flux d applications, les attributs et les affinités des ressources, les SLA et priorités pour automatiser les décisions les plus complexes et efficientes. Planification et analyses environnement en temps réel et prévisionnelles permettant d obtenir des décisions et des garanties de service plus exactes et efficientes par l adaptation proactive de la planification et de l allocation des ressources grâce à la projection de l impact de changements de flux applicatifs ou conditions de ressources Couche d abstraction de gestion ouverte et flexible permettant l intégration de données et l organisation de mesures de flux applicatifs à travers les environnements complexes d environnements informatiques hétérogènes et d intergiciels de gestion pour maximiser le contrôle, l automatisation et l optimisation des flux. COMPOSANTS Moab HPC Suite Basic Edition comprend les produits et technologies intégrés suivants pour former une solution complète de gestion de flux applicatifs sur cluster : Moab Workload Manager : moteur intelligent breveté automatisant les décisions complexes et le placement et la planification réglementés des flux applicatifs ainsi que l allocation des ressources Moab Cluster Manager : application desktop graphique d administrateur pour la gestion, la configuration, le suivi et la création de rapports pour les clusters gérés par Moab Moab Viewpoint : portail web de gestion et de soumission de tâches en self-service utilisateur et portail-tableau de bord pour administrateur Moab Services : interfaces intégratives vers les gestionnaires de ressources et les utilitaires tiers 42
Moab HPC Suite Basic Edition est également compatible avec Torque, disponible en téléchargement gratuit à Adaptive- Computing.com. Torque est un gestionnaire de ressources/ tâches open-source qui fournit des informations mises à jour en continu sur l état des nœuds et le statut des flux applicatifs. Adaptive Computing est le dépositaire du projet Torque et travaille activement au développement de la base code en collaboration avec la communauté Torque pour offrir une gestion de ressources à la pointe de la technologie. Chaque souscription produit Moab HPC Suite Basic Edition comprend l assistance pour Moab HPC Suite Basic Edition et Torque, si vous choisissez de l utiliser comme gestionnaire de tâches/ ressources pour votre cluster. MOAB HPC SUITE GRID OPTION Moab HPC Suite Grid Option est une puissante solution de gestion de flux d applications sur grille proposant planification unifiée, gestion des règlements hautement développée et flexible, gestion des ressources intégrée, suivi et gestion harmonisés de clusters multiples. Le moteur intelligent breveté Moab HPC Suite Grid Option accélère, automatise et unifie l ensemble complexe des décisions de flux applicatifs et des mesures d automatisation nécessaires au contrôle et à l optimisation des flux et des composants de ressources sur des grilles hautement développées. Avec son moteur décisionnel, Moab HPC Suite Grid Option transforme des clusters disparates en ensemble logique en quelques minutes, donnant ainsi aux administrateurs et aux règles d utilisation de grille la maîtrise de tous les systèmes tout en préservant le contrôle de chaque cluster. Moab HPC Suite Grid Option dispose d un ensemble puissant de fonctionnalités permettant aux organisations d uniformiser la création de rapports, de synchroniser la gestion des règles d utilisation, des process et des ressources et d optimiser le partage des flux d applications et la gestion des données sur de multiples clusters. Moab HPC Suite Grid Option offre ces services de façon presque invisible : les utilisateurs ne remarquent pas qu ils utilisent des ressources sur grille. Tout ce qu ils voient, c est que leur travail est plus facile et rapide que jamais. Moab HPC Suite Grid Option répond aux challenges-clés de la gestion et de l optimisation de clusters multiples et du passage à un environnement grille plus efficace et productif : La prolifération de clusters conduit à un fardeau administratif alourdi, des coûts fixes plus élevés et une inefficacité accrue car la gestion des flux d applications et des règlements, le suivi, la création de rapports et la planification doivent être effectués séparément. L exploitation déséquilibrée des ressources entraîne le ralentissement du débit et le gaspillage de ressources les flux d applications attendent d être traités sur des clusters surchargés tandis que des ressources sous-exploitées sont oisives sur d autres clusters. Les flux d applications ne peuvent pas être partagés à cause des différences d exigences des charges, de règles d utilisation et de SLA entre des clusters de groupes et d organisations indépendants, ce qui rend les décisions de flux uniformisées complexes et leur application cohérente sur des clusters multiples difficile. Les différents gestionnaires de ressources doivent être gérés sur de multiples clusters pour planifier et allouer les ressources de façon plus efficace ; il est impossible de les retirer ou échanger pour la gestion de grille en raison des investissements sur les process et les scripts. La soumission de tâches doit être intégrée pour des utilisateurs aux identifiants et aux outils de soumission multiples. Ainsi les utilisateurs de clusters multiples restent productifs en utilisant leurs connaissances tandis que l efficacité est améliorée et le traitement des tâches accéléré. 43
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE GRID OPTION MOAB HPC SUITE GRID OPTION PEUT ÊTRE CONFIGURÉ DE FAÇON FLEXIBLE POUR LES RÈGLEMENTS ET DÉCISIONS GRILLE CENTRAUX ; CENTRAUX/LOCAUX OU POSTE-À-POSTE. IL PEUT GÉRER DES GESTION- NAIRES DE RESSOURCES DIVERS ET DE MULTIPLES INSTANCES MOAB. Moab HPC Suite - Grid Option Règles d utilisation et décisions de grille ou règles d utilisation de grille partagée règles d utilisation, SLA, planification prédictive, allocation Moab Règles d utilisation locales Option poste á poste Moab Règles d utilisation locales Moab Règles d utilisation locales GESTION DE GRILLE UNIFIÉE ET FLEXIBLE Moab HPC Suite Grid Option offre le contrôle automatisé de décisions complexes et la flexibilité de gestion exigés par les environnements grille dans la réalité pratique. Son moteur décisionnel multidimensionnel est à même d accélérer le débit des flux d applications tout en équilibrant les conditions complexes des différents clusters grille ou locaux et les priorités et règles organisationnelles. Il peut être configuré de façon flexible pour unifier les règlements de gestion de flux d applications au sein d une administration centrale, proposer des règlements de gestion centralisés et locaux ou encore intégrer les règlements de gestion poste à poste locaux. Ainsi, les garanties de niveaux de service sont respectées et les objectifs généraux de l organisation sont atteints tandis que l exploitation et le débit de résultats importants depuis l environnement grille unifié croissent. AVANTAGES Moab HPC Suite Grid Option crée un environnement grille optimisé fort d avantages-clés qui accélèrent la productivité des flux d applications et réduisent la complexité de la gestion : Mise en place rapide pour l implémentation de la grille avec gestion unifiée de clusters hétérogènes vous permettant de passer rapidement du cluster à la grille optimisée Temps de réponse et débit des flux d applications améliorés grâce au moteur décisionnel prédictif réglementé accélérant les décisions complexes de planification des flux d applications pour permettre de démarrer plus rapidement les tâches et accroître le débit de traitement Débit et exploitation optimisés à 90-99 % sur la grille et les clusters avec moteur décisionnel multidimensionnel flexible 44
optimisant le traitement des flux d applications à la fois sur la grille et sur les clusters Opérations et coûts administratifs réduits avec interface couvrant toute la grille et outils de rapports offrant un aperçu unifié des ressources grille, tableaux de statut/exploitation et tendances sur la durée pour la planification des capacités, le diagnostic et l intendance Architecture extensible pour la prise en charge de grilles locales ou à grande échelle, traitement haut débit péta et au-delà Application automatique des garanties de niveaux de service grille et cluster local, priorités et accords de partage de ressources pour tous les utilisateurs, groupes et projets partageant des ressources grille Contrôle administratif hautement développé permettant aux différentes unités de l entreprise d accéder et de consulter les ressources grille quelles que soient les limitations physiques ou organisationnelles ou, au contraire, limitant l accès aux ressources à des services ou des entités spécifiques Productivité accrue grâce à la simplification de l utilisation, de l accès et du contrôle d un ensemble étendu de ressources HPC pour utilisateurs et administrateurs avec soumission de flux d applications intégrée, regroupement de tâches sur grille, modèles, portail utilisateur en option et GUI administrateur de suivi et de gestion FONCTIONNALITÉS Moab HPC Suite Grid Option accélère le traitement des flux d applications avec un moteur décisionnel multidimensionnel breveté qui optimise de lui-même le placement grille et local des flux, l exploitation des ressources et les sorties de résultats tout en garantissant le respect des priorités organisationnelles complexes parmi tous les utilisateurs et groupes exploitant l environnement grille. La planification basée sur les règles d utilisation place les flux d applications de façon intelligente sur un ensemble optimal de ressources pour maximiser le débit et la réussite des tâches, l exploitation et la conformité aux priorités de flux applicatifs et de groupes. Les règlements de priorités, SLA et partage de ressources garantissent que les flux d applications prioritaires sont traités en premier et que les ressources sont partagées équitablement entre les utilisateurs et les groupes conformément aux règlements de qualité de service, de pondération de priorité hiérarchique, d objectifs de partage équitable, de limitations et pondérations. Les règlements de gestion de flux d applications grille respectent les configurations et les besoins des clusters locaux et, si besoin, les règles d utilisation locales, y compris les paramètres détaillés permettant de contrôler les lieux d origine et de traitement des tâches. Les règlements d allocation optimisent l exploitation des ressources et préviennent l échec des tâches par la structuration et la planification détaillées des ressources et le placement basé sur la topologie des nœuds. La planification des travaux usuels accélère le débit des tâches et maximise l utilisation en planifiant les tâches moindres ou peu exigeantes autour des travaux prioritaires et des réservations pour exploiter toutes les ressources disponibles. Les règles de sécurité déterminent quels utilisateurs et quels 45
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE GRID OPTION Les solutions HPC transtec sont conçues pour un maximum de flexibilité et de simplicité de gestion. Nous proposons à nos clients non seulement la solution de gestion de clusters la plus puissante et la plus souple du marché mais également des configurations personnalisées et l installation sur site individuelle. Que le client ait besoin d une solution dual-boot Linux/Windows dynamique, d une gestion unifiée de différents clusters sur différents sites, d un affinement de son planificateur Moab pour l implémentation d une configuration de règlements à granularité fine, transtec ne se contente pas de lui revendre le premier système disponible, mais il l aide à l adapter à ses besoins spécifiques. Cela va sans dire, transtec est aussi présent pour fournir à ces clients, aux administrateurs et utilisateurs des formations sur mesure quand ils en ont besoin. De ses nombreuses années d expérience en informatique haute performance nous ont permis de développer des concepts efficaces pour l installation et le déploiement de clusters HPC. Pour ce faire, nous exploitons les outils reconnus d autres constructeurs que nous assemblons dans une solution complète et configurons en fonction des besoins du client. Nous nous chargeons de tout, de l installation et configuration complètes du système d exploitation et des composants intergiciels nécessaires tels que les systèmes de gestion de tâches et de cluster jusqu aux applications du client. 46
groupes peuvent accéder à quelles ressources grâce à un simple mapping des identifiants et à l intégration d outils de sécurité courants implantés sur des clusters multiples. Mise en place de check-points et préemption La planification en temps réel et prévisionnelle garantit le respect proactif des priorités de tâches en cas de modification des conditions et des niveaux de flux applicatifs sur la grille. L optimisation de la plupart des flux d applications grille est possible au niveau cluster local. La préparation des données optimisée garantit que les transferts de données à distance sont synchrones avec les ressources disponibles pour minimiser l inefficacité d exploitation et obtenir les meilleurs résultats possibles des technologies de migration de données en place telles que Secure Copy (SCP) et GridFTP. Les fonctions de réservation hautement développées garantissent la disponibilité des ressources-clés au moment souhaité et le traitement des tâches en temps voulu. Les réservations de maintenance bloquent les ressources pour les activités de maintenance prévues afin d éviter l interruption des flux d applications productifs. La planification prédictive permet de prévoir et d ajuster le planning futur des flux d applications grille et d allocation des ressources pour faire face aux changements de conditions et aux nouvelles demandes de tâches et de réservation. Meilleure performance des tâches grâce à l apprentissage automatique optimisant les décisions de planification en fonction des flux d applications passées Planification et gestion hautement développées des GPGPU pour une exploitation maximale par les flux d applications Détection et gestion automatiques des GPGPU de l environnement grille supprimant la configuration manuelle et les rendant immédiatement disponibles pour la planification Allocation et planification exclusives des GPGPU au cas par cas Gestion et planification réglementées reposant sur les statistiques GPGPU Accès rapide aux statistiques d exploitation et données-clés GPGPU pour une gestion et un diagnostic des problèmes optimum tels que décompte des erreurs, température, vitesse ventilateur et mémoire Soumission, gestion et contrôle simplifiés des tâches groupées améliorant la productivité des utilisateurs et l efficacité du traitement des flux d applications Les utilisateurs peuvent soumettre des milliers de soustâches en une seule soumission avec un index différenciant chaque sous-tâche du groupe. Les règlements limitant l usage du regroupement des tâches veillent à l application des maxima de tâches en fonction des identifiants ou des catégories. La création de rapports et la gestion de tâches groupées simplifiées pour les utilisateurs finaux filtrent les tâches pour les résumer, les suivre et les gérer au niveau du groupe. Traitement des tâches accéléré grâce aux options avancées de placement sur grille des groupes de tâches ; placement optimal ou par cluster individuel Passage à l échelle pour les grands et très grands environnements de calcul à haut débit Gère de façon efficace la soumission et la planification de centaines de milliers de demandes de tâches en file d attente pour un traitement haut débit. Réponse rapide aux utilisateurs durant la planification pour fournir aux utilisateurs et aux administrateurs l information en temps réel dont ils ont besoin. 47
GESTION INTELLIGENTE DES FLUX D APPLICATIONS HPC MOAB HPC SUITE GRID OPTION Taux élevé de débit des tâches pour un démarrage et une obtention des résultats plus rapides et une exploitation maximale des ressources Extensible pour la gestion de jusqu à 30 clusters lorsque configuré pour la gestion et les décisions grille centralisées ou centralisées/locales Utilisateurs finaux MOAB HPC SUITE - GRID OPTION MOAB HPC SUITE - GRID OPTION Moab HPC Suite - Grid Option Règles d utilisation et décisions de grille ou règles d utilisation de grille partagée règles d utilisation, SLA, planification prédictive, allocation Moab Règles d utilisation locales Utilisateurs finaux Gestionnaire de stockage Moab Règles d utilisation locales Gestionnaire d allocation Moab règles d utilisation, SLA, planification prédictive, allocationrègles Gestionnaire de tâches Gestionnaire d état Moab Règles d utilisation locales Administratuers Administratuer Gestionnaire de réseau La structure du moteur décisionnel ouverte et flexible s intègre facilement et automatise la gestion des ressources et intergiciels hétérogènes en place pour accroître l efficacité de la gestion L intégration et l agrégation poussées de données vous permettent de mettre en place de puissants règlements multidimensionnels reposant sur des données ressources en temps réel pouvant être suivies sans requérir d agents supplémentaires. Gestion unifiée des clusters internes, externes ou partenaires même s ils disposent de gestionnaires de ressources, bases de données, systèmes d exploitation et matériels différents Prend en charge l intégration avec des gestionnaires de ressources-tâches tels que TORQUE et SLURM. Intégrable avec de nombreux autres types de gestionnaires comme HP Cluster Management Utility, Nagios, Ganglia, FlexLM et d autres Gestion de grille poste-à-poste avec Moab Grid Suite Règles d utilisation locales Règles d utilisation locales ARCHITECTURE Moab HPC Suite Grid Option est conçu pour s intégrer aux multiples gestionnaires de ressources de tâches ainsi qu aux autres types de gestionnaires de ressources de votre environnement grille pour vous offrir une planification réglementée et unifiée des flux applicatifs et de l allocation de ressources. Il base ses décisions complexes de flux sur l ensemble des données qu il reçoit des différents gestionnaires de ressources pour ensuite organiser les tâches et mesures de gestion via ces mêmes gestionnaires de ressources en fonction des règlements en place. C est donc le choix idéal pour l intégration à des systèmes ou des clusters 48
nouveaux ou déjà en place ainsi que pour gérer votre grille et ses futures expansions. Moab HPC Suite Grid Option peut être structuré selon trois configurations flexibles de gestion : règlements et décisions grille centralisés, centralisés/locaux ou poste-à-poste. Cette flexibilité est rendue possible par sa capacité exclusive à gérer différents gestionnaires de ressources et instances Moab. Moab HPC Suite Grid Option intègre un moteur intelligent breveté qui lui permet de s intégrer aux environnements hétérogènes existants et d automatiser la gestion des flux applicatifs, à travers des environnements hétérogènes et des priorités complexes et multiples au niveau des organisations, pour l optimiser et accroître l efficacité de ces flux. Cette architecture unique propose : COMPATIBILITÉ SYSTÈME Moab fonctionne sur de nombreuses plates-formes. La plupart des gestionnaires de ressources, systèmes d exploitation et architectures couramment utilisés sont pris en charge. Systèmes d exploitation pris en charge : pour Linux (Debian, Fedora, FreeBSD, RedHat, SUSE), Unix (AIX, Solaris) Gestionnaires de ressources pris en charge : gestionnaires de ressources-tâches tels que TORQUE et SLURM. Intégration avec de nombreux autres types de gestionnaires comme HP Cluster Management Utility, Nagios, Ganglia, FlexLM et d autres Matériel pris en charge : AMD x86, AMD Opteron, HP, Intel x86, Intel IA-32, Intel IA-64, IBM i-series, IBM p-series, IBM x-series Règlements multidimensionnels à la pointe de la technologie automatisant les décisions et actions en temps réel complexes pour la planification des flux applicatifs et l adaptation des ressources. Ces règlements multidimensionnels peuvent modéliser et prendre en compte les exigences des flux d applications, les attributs et les affinités des ressources, les SLA et priorités pour automatiser les décisions les plus complexes et efficientes. Planification et analyses environnement en temps réel permettant d obtenir des décisions et des garanties de service plus exactes et efficientes par l adaptation proactive de la planification et de l allocation des ressources grâce à la projection de l impact de changements de flux applicatifs ou conditions de ressources Couche d abstraction de gestion ouverte et flexible permettant l intégration de données et l organisation de mesures de flux applicatifs à travers les environnements complexes d environnements informatiques hétérogènes et d intergiciels de gestion pour maximiser le contrôle, l automatisation et l optimisation des flux 49
NICE ENGINFRAME PORTAIL INFORMATIQUE TECHNIQUE
Les systèmes HPC et les grilles professionnelles offrent des avantages time-to-market et de performances sans précédent à de nombreux utilisateurs scientifiques ou commerciaux qui font chaque jour face à des process de calcul et de données denses. Ils génèrent ou transforment souvent un grand nombre de tâches qui doivent être traitées et archivées de manière efficiente pour fournir les informations souhaitées en temps voulu à des utilisateurs à des endroits différents et avec des besoins de sécurité différents. Le manque de convivialité de systèmes aussi complexes a souvent un effet négatif sur la productivité des utilisateurs et la gestion ad hoc des données entraîne souvent entropie des données et dissémination du savoir et de la propriété intellectuelle. 51
NICE ENGINFRAME PORTAIL TECHNIQUE POUR VISUALISATION À DISTANCE FIGURE 1 Habitués à résoudre les problèmes de distribution informatique de nos clients, nous comprenons facilement qu une interface web moderne et conviviale vers le HPC et les grilles peut améliorer significativement la productivité des ingénieurs lorsqu elle est adaptée aux besoins spécifiques du marché de l informatique technique. Nice EnginFrame surmonte nombre des problèmes courants de convivialité, de gestion des données, de sécurité et d intégration et ouvre la voie à une exploitation plus large et plus productive des ressources informatiques techniques. Utilisateurs internes Admin. syst., chargés de projet Outils d optimisation et automatisation Protocoles standard Passerelle Les composants-clés de nos solutions sont : un noyau Java flexible et modulaire, avec une séparation claire des individualisations et des services principaux, de puissantes fonctionnalités de gestion des données correspondant aux besoins typiques des applications d ingénierie, des options de sécurité exhaustives et un système d autori- Filiales, partenaires externes Stockage et données sation très détaillé, une couche d abstraction planificateur pour l adaptation aux différents flux d applications et gestionnaires de ressources, des services d assistance réactifs et compétents. Les utilisateurs profitent le plus souvent des améliorations suivantes : accès convivial et intuitif aux ressources informatiques via un navigateur web standard, soumission des tâches orientée application, accès organisé aux informations et données de tâche, mobilité accrue et exigences clients réduites. À l autre bout, le portail informatique technique apporte une valeur ajoutée significative aux administrateurs systèmes et services informatiques : 52
Réduction des besoins en formation des utilisateurs pour l accès aux ressources Configuration centralisée et déploiement immédiat des services Système exhaustif d autorisation d accès aux services et informations Réduction des tickets assistance et erreurs de soumission Avec en plus nos solutions de visualisation à distance, nos clients déploient rapidement leurs process d ingénierie bout-àbout sur leur Intranet, Extranet ou l Internet. POINTS FORTS ENGINFRAME Accès universel et flexible à votre infrastructure grille EnginFrame propose un accès simple via Intranet ou Internet avec des langages et protocoles Internet standard sécurisés. les phases de conception en collaborant avec les services concernés ou des partenaires externes et facilite la communication via une infrastructure sécurisée. Gestion des données distribuée Les riches fonctions de gestion à distance des fichiers intégrées à EnginFrame évite les transferts de fichiers superflus et permet le traitement sur serveur des données ainsi que la transmission des fichiers de ou vers le poste de l utilisateur. Assistance application interactive Grâce à l intégration des solutions de virtualisation GUI les plus importantes (y compris Desktop Cloud Visualisation (DCV), VNC, virtualgl et NX), EnginFrame vous permet de faire face à toutes les étapes des process de développement, à la fois en batch et de façon interactive. Interface entre la grille et votre organisation EnginFrame offre des services XML raccordables sur serveur pour permettre une intégration simple des plus importants planificateurs de flux applicatifs sur le marché. Les modules plug-in pour toutes les solutions grille majeures comprennent Platform Computing LSF et OCS, Microsoft Windows HPC Server 2008, Sun GridEngine, UnivaUD UniCluster, IBM LoadLeveler, Altair PBS/Pro et OpenPBS, Torque, Condor et les outils Globus EDG/gLite et proposent une interface simple vers l infrastructure informatique en place Contrôles sécurité et accès Vous pouvez accorder aux utilisateurs à distance un accès crypté et contrôlable et améliorer la collaboration avec vos partenaires tout en protégeant votre infrastructure et votre propriété intellectuelle. Cela vous permet d accélérer Compatibilité SOA pour vos applications et ressources EnginFrame peut publier automatiquement vos applications via des services web standard (testé pour être interopérable pour Java et.net), permettant ainsi une intégration immédiate avec les autres applications de l entreprise. AVANTAGES POUR L ENTREPRISE Catégorie Avantages pour l entreprise Portail web et cloud Simplification de l accès utilisateur, réduction des besoins en formation des utilisateurs HPC, élargissement de la communauté d utilisateurs Possibilité d accès via Intranet, Internet ou Extranet 53
NICE ENGINFRAME POINTS FORTS DE L APPLICATION AÉROSPATIAL, AUTOMOBILE ET FABRICATION Les exigences complexes de l IAO vont de l analyse de données de calcul intenses à la collaboration mondiale entre des designers, des ingénieurs, des OEM et des fournisseurs. Pour répondre à ces exigences, les solutions cloud (internes et externes) et grille sont de plus en plus perçues comme une étape logique permettant d optimiser les infrastructures informatiques pour l IAO. Il n est donc pas surprenant que les constructeurs automobiles et aérospatiaux aient été parmi les premiers à adopter des portails cloud interne et grille. Les constructeurs peuvent désormais développer plus de «produits virtuels» et simuler tout type de design, d écoulementet de crash. Ces produits virtualisés et des environnements de collaboration rationalisés sont en train de révolutionner les procédés de fabrications. Avec NICE EnginFrame dans leurs environnements IAO, les ingénieurs peuvent faire évoluer leurs process en connectant des groupes de design et de simulations dans des «environnements collaboratifs» pour obtenir des avantages encore plus importants des «produits virtuels». Grâce à EnginFrame, les ingénieurs IAO disposent d un environnement collaboratif intuitif 54
permettant de répondre aux questions de : Accès et sécurité Pour les organisations qui doivent fournir un accès aux entités internes et externes tels que designers, ingénieurs et fournisseurs Collaboration distribuée Connexion simple et sûre des groupes de design et simulation partout dans le monde Temps investi pour les tâches informatiques Grâce à la réduction du temps et des ressources investis pour l utilisation de commandes obscures de soumissions de tâches ou la formation sur les infrastructures informatiques sous-jacentes, les ingénieurs peuvent passer plus de temps à se concentrer sur leurs tâches primaires de design. L interface web EnginFrame peut être utilisée pour accéder aux ressources informatiques requises pour les process IAO. Cela comprend l accès aux fonctions de soumission et de suivi des tâches ainsi qu aux données d entrée et de sortie des applications industrielles IAO/ CFD standard pour la dynamique des fluides, l analyse des structures,le design collaboratif et la CAO (comme Abaqus, Ansys, Fluent, MSC Nastran, PAMCrash, LS-Dyna, Radioss) sans commande obscure de soumission de tâches ou connaissance des infrastructures sous-jacentes. EnginFrame est depuis longtemps en place dans quelques unes des plus prestigieuses organisations mondiales, y compris des entreprises aérospatiales, telles que AIRBUS, Alenia Space, CIRA, Galileo Avionica, Hamilton Sunstrand, Magellan Aerospace, MTU, des constructeurs automobiles tels que Audi, ARRK, Brawn GP, Bridgestone, Bosch, Delphi, Elasis, Ferrari, FIAT, GDX Automotive, Jaguar-Landrover, Lear, Magneti Marelli, McLaren, P+Z, RedBull, Swagelok, Suzuki, Toyota, TRW. SCIENCES DE LA VIE ET SANTÉ Les solutions NICE sont aussi déployées dans le secteur des sciences de la vie dans des entreprises comme Biolab, Partners Healthcare, Pharsight et le M.D. Anderson Cancer Center et dans des projets de recherche de pointe comme DEISA ou LitBio pour assurer une exploitation simple et transparente des ressources informatiques sans connaissance des infrastructures HPC. Les secteurs des sciences de la vie et de la santé sont confrontés à des exigences strictes quand il s agit de choisir une solution informatique comme EnginFrame, par exemple Sécurité Pour remplir les exigences strictes de sécurité et de protection des données imposées à l industrie biomédicale et pharmaceutique, toutes les solutions doivent prendre en compte des couches multiples de sécurité et d identification. Logiciels spécifiques Du plus simple outil individualisé aux intergiciels gratuits et ouverts les plus généraux L architecture modulaire EnginFrame permet l exploitation de différents intergiciels et logiciels grille y compris les applications leaders des sciences de la vie telles que Schroedinger Glide, EPFL RAxML, BLAST, Taverna et R; les utilisateurs R peuvent transformer des services élémentaires en applications complexes et «expériences virtuelles», exploiter, contrôler et développer des process via un navigateur web standard. EnginFrame dispose également de fonctions individualisables de partage des ressources et d un contrôle d accès détaillé dans lequel des systèmes d identification multiples (comme Active Directory, Krb5 ou LDAP) peuvent être exploités simultanément. 55
NICE ENGINFRAME VIRTUALISATION DESKTOP SUR CLOUD «Le volume de données résultant par exemple des simulations IAO ou autres environnements d ingénierie peuvent atteindre le gigaoctet. Manifestement, le post-traitement à distance est l un des sujets les plus urgents à aborder. NICE EnginFrame y répond parfaitement et nos clients sont impressionnés par les avancées que font leurs procédures grâce à cette formidable technologie.» Robin Kienecker Spécialiste Ventes HPC Portail web et cloud Continuité des entreprises «One-stop-shop» Le portail est le point de départ pour le savoir et les ressources. Possibilité de collaboration et de partage via le portail en tant que point de rassemblement virtuel (employés, partenaires et filiales) Sign-on individuel Intégration de nombreuses applications de calcul commerciales et open source ainsi que de composants infrastructure. Virtualisation des serveurs et des emplacements serveurs, lieux de stockage des données, applications et licences Migration vers des clients légers des applications graphiques pour stations de travail par le transfert du traitement des graphismes vers le centre de données (accroissant ainsi l exploitation et la réutilisation des licences) Possibilité de services et positions géographiques multiples et mondiaux Sauvegarde des données sur stockage réseau pas de stockage sur portable/desktop Cloud et ASP créez ou profitez des services Cloud et ASP (fournisseurs d applications en ligne) pour faire croître votre entreprise, augmenter votre chiffre d affaires et contrôler vos coûts. 56
Conformité Services web Assurance d un accès et d une exploitation des ressources sécurisés et documentés en vue d audits (applications, données, infrastructure et licences) Possibilité pour les services informatiques d offrir aux utilisateurs une meilleure disponibilité et de meilleurs niveaux de service Possibilité de collaboration avec des partenaires tout en protégeant la propriété intellectuelle et les ressources Restriction des accès selon le type d utilisateur, de service, d application et de ressource Applications wrapper legacy (ligne de commande, API/SDK) avec interface SOAP/.neT/ Java de services web pour l accès à l environnement SOA Rationalisation des procédés d entreprises humains et automatisés et de la chaîne logistique Intégration aux politiques d entreprise en matière de portail ou de gestion de procédés (compatible SharePoint, WebLogic, WebSphere, etc.) immédiatement de tous les avantages des cartes graphiques haut de gamme, d une performance E/S rapide et de nœuds de mémoire grand volume hébergés dans un cloud 3D public ou privé plutôt que de devoir attendre la prochaine mise à niveaux des stations de travail. Le protocole DCV s adapte aux infrastructures réseau hétérogènes telles que LAN, WAN et VPN pour faire face aux contraintes de bande passante et de latence. Toutes les applications opèrent de façon native sur des systèmes à distance pouvant être virtualisés et partager la même GPU physique. Dans un scénario typique de visualisation, une application logicielle envoie un flux continu de commandes graphiques à un adaptateur graphique via une interface entrée/sortie (E/S). L adaptateur graphique traduit les données en pixels et les transmet en signal vidéo à un écran local. Avec NICE DCV, le rendu de la géométrie de scène et des états des graphismes est réalisé sur un serveur central et les pixels sont transmis à un ou plusieurs écrans à distance. Dans cette approche, le serveur doit être équipé d une ou plusieurs GPU utilisées pour le rendu opengl tandis que le logiciel client opère sur des systèmes «légers». L architecture NICE DCV comprend : un serveur DCV, équipé d une ou plusieurs GPU, utilisées pour le rendu opengl un ou plusieurs terminaux DCV, sur des «clients légers», utilisés uniquement pour la visualisation des structures réseau hétérogènes (comme LAN, WAN et VPN), équilibrage optimisé qualité/débit d image VIRTUALISATION DESKTOP SUR CLOUD NICE Desktop Cloud Visualization (DCV) est une technologie hautement développée permettant aux utilisateurs d informatique technique d accéder à distance à des applications 2D/3D interactives via un réseau standard. Ingénieurs et scientifiques disposent 57
NICE ENGINFRAME VISUALISATION À DISTANCE FIGURE 2 VISUALISATION À DISTANCE Il est humain de vouloir «voir» les résultats de simulations, tests et autres analyses. Jusqu à récemment, cela exigeait des stations de travail «obèses» sur de nombreux desktops. Cette approche fournit la puissance CPU requise quand l utilisateur en a besoin, mais, lorsque le volume de données augmente, le téléchargement des résultats peut subir des retards. Ainsi, le partage des résultats avec les collègues signifie se rassembler autour d une station de travail, ce qui n est pas toujours possible sur nos lieux de travail globalisés et collaboratifs. La complexité croissante des données (millions de polygones, composants inter-agissants, overlays MRI/PET) signifie qu à chaque mise à niveau et remplacement de station de travail, la nouvelle génération de matériel a besoin de plus de mémoire, de plus de processeurs graphiques, de plus de disques et de plus de cœurs CPU. Cela rend les stations de travail chères, exigeantes en refroidissement et bruyantes. L innovation dans le traitement 3D permet maintenant aux entreprises de faire face à ces problèmes en transférant ces applications des desktops vers des centres de données. Au lieu de déplacer les données vers l application, c est l application qu on installe à proximité des données. Contrairement aux mises à niveau de masse des stations de travail, la visualisation à distance permet un provisioning incrémentiel, une allocation à la demande, une meilleure gestion et une distribution efficace des 58
sessions interactives et des licences. Les stations de travail ou les lames sur rack exigent en général un entretien, un refroidissement et des coûts de remplacements moindres et ils peuvent étendre la vie des stations de travail (ou des portables) en tant que «clients légers». LA SOLUTION S appuyant sur son expertise en matière d informatique distribuée et de portails applicatifs web, NICE offre une solution intégrée pour l accès, la gestion et l équilibrage de charges des applications et des sessions desktop opérant sur une ferme de visualisation. La ferme peut intégrer des ressources Linux et Windows exploitées sur du matériel hétérogène. Le cœur de la solution est le plug-in de visualisation Engin- Frame qui propose des services web pour accéder et gérer les applications et desktops disponibles sur la ferme. Cette solution a été intégrée à : NICE Desktop Cloud Visualization (DCV) HP Remote Graphics Software (RGS) RealVNC TurboVNC et virtualgl Nomachine NX Identification unique pour les lots et les applications interactives Traitement par EnginFrame de tous les transferts de données de/vers la ferme de visualisation Collaboration intégrée pour le partage de sessions avec d autres Contrôle via navigateur du chargement et de l exploitation du cluster de visualisation La solution offre aussi des avantages significatifs aux administrateurs système : Aucun SSH/SCP/FTP requis sur le système client Intégration simple aux services d identification, single signon (SSO), portails d entreprise Gestion du cycle de vie des données automatisée Partage de session utilisateur intégré pour faciliter la prise en charge Équilibrage des charges des sessions interactives par un planificateur (LSF, SGE ou Torque) pour une exploitation et une performance optimales des ressources Meilleurs contrôle et utilisation des licences d applications Suivi, contrôle et gestion des sessions inactives des utilisateurs Associé avec ces moteurs de visualisation third party (spécialisés dans le haut débit d image 3D), la solution NICE pour la visualisation à distance résout les problèmes d identification des utilisateurs, d allocation dynamique et de gestion de session et de transfert de données. transtec dispose d une longue expérience des environnements d ingénierie, particulièrement dans le secteur de la CAO/IAO. Cela nous permet de proposer à nos clients de cette branche des solutions optimisant leurs process et réduisant le temps d attente des résultats. Les utilisateurs finaux profitent des améliorations suivantes : Interface web orientée application et intuitive pour lancer, contrôler et reconnecter une session Ainsi, avec la large palette de services transtec, nos clients peuvent se concentrer sur leurs tâches productives tandis que nous nous occupons de l optimisation de leurs environnements. 59
NICE ENGINFRAME DESKTOP CLOUD VIRTUALISATION FIGURE 3 Terminal DCV Terminal DCV Serveur DCV Points forts NICE DCV Accès à distance haute performance aux applications logicielles 2D/3D sur faible largeur de bande/haute latence Prise en charge de multiples SE hétérogènes (Windows, Linux) Partage de GPU Prise en charge de l accélération 3D pour les applications opengl opérant sur des machines virtuelles Prise en charge de collaborations multi-utilisateurs par partage de session ROI convaincant grâce au partage des ressources et à la rationalisation des centres de données (GPU, mémoires, CPU...) Sécurité des données dans les centres, réduction des chargements de données et gain de temps Dosage exact de l allocation système basé sur les besoins dynamiques des utilisateurs Déploiement des applications facilité : toutes les applications, les mises à jour et les patches sont disponibles pour tous de façon instantanée sans aucune modification du code d origine AVANTAGES POUR L ENTREPRISE Les avantages offerts par NICE DCV peuvent être répartis en quatre catégories : Catégorie Avantages pour l entreprise Productivité Élève la productivité. Améliore la performance des équipes en garantissant une collaboration en temps réel avec les collègues ou des partenaires où qu ils soient. Réduit les coûts informatiques en regroupant les ressources en stations de travail en un seul point de gestion Permet des économies d argent et de temps sur le déploiement des applications Permet aux utilisateurs de travailler depuis n importe où avec une connexion Internet 60
Continuité des opérations Sécurité des données Transfère le traitement des graphismes et les données au centre de données, et non pas sur un portable/desktop. Prend en charge les plates-formes Cloud pour permettre d étendre «à la demande» les solutions de visualisation afin de faire grandir l entreprise, créer de nouveaux revenus et gérer les coûts. Garantit une exploitation sûre et contrôlable des ressources à distance (applications, données, infrastructure, licences). Permet la collaboration en temps réel avec des partenaires tout en protégeant la propriété intellectuelle et les ressources. Restreint l accès par type d utilisateur, de service, d application et de ressource. Permet à des utilisateurs multiples de suivre en temps réel les procédures d application en même temps que l instructeur. Permet la collaboration et le partage de session entre des utilisateurs à distance (employés, partenaires et filiales). Windows Microsoft Windows 7-32/64 bit Microsoft Windows Vista - 32/64 bit Microsoft Windows XP - 32/64 bit 2012 by NICE Linux RedHat Enterprise 4, 5, 5.5, 6-32/64 bit SUSE Enterprise Server 11-32/64 bit Succès de la formation NICE DCV est parfaitement intégré aux aperçus EnginFrame, optimisant l exploitation des capacités 2D/3D via web, y compris la possibilité de partager une session interactive avec d autres utilisateurs pour un travail en équipe. 61
INTEL CLUSTER READY STANDARD DE QUALITÉ POUR CLUSTERS HPC
Intel Cluster Ready est conçu pour permettre de faire des pronostics pour les utilisateurs et des fournisseurs de clusters HPC et s adresse en particulier aux clients des secteurs commercial et industriel. Il ne s agit pas de clusters test-bed expérimentaux pour la science et la recherche en ingénierie informatique ni de clusters aux capacités haut-de-gamme ciblant étroitement les exigences informatiques spécifiques de la physique poussée des laboratoires nationaux ou d autres organisations de recherche spécialisées. Intel Cluster a pour but de pousser les clusters HPC utilisés comme ressources de calcul dans les environnements productifs en offrant aux propriétaires la certitude que les clusters qu ils déploient prendront en charge les applications sur lesquelles leurs scientifiques et ingénieurs comptent pour remplir leurs missions. Pour ce faire, il propose aux fournisseurs de matériel cluster, logiciel et systèmes une base bien définie pour leurs produits afin de répondre aux exigences de production cluster de leurs clients. 63
INTEL CLUSTER READY STANDARD DE QUALITÉ POUR CLUSTERS HPC «Intel Cluster Checker nous permet de garantir que les clusters HPC transtec sont conformes à un standard de qualité indépendant élevé. Nos clients peuvent être sûrs que leurs applications fonctionnent comme ils l exigent.» QUELS SONT LES OBJECTIFS D ICR? L objectif primaire d Intel Cluster Ready est de faciliter la sélection, l achat et le déploiement des clusters et le développement des applications qu ils reçoivent. Une des fonctions-clés d ICR, c est le concept de «mobilité d application», c est à dire la possibilité pour les applications certifiées Intel Cluster Ready (plus exactement, le même binaire) de fonctionner sans problème sur tous les clusters Intel Cluster Ready. En effet, la mobilité est importante pour les utilisateurs, les fournisseurs de logiciels et les constructeurs de matériel et de systèmes. Les utilisateurs veulent être certains que les clusters qu ils choisissent seront en mesure de prendre en charge de façon fiable les applications sur lesquelles ils comptent aujourd hui et compteront demain. Les fournisseurs d application veulent répondre aux besoins de leurs clients en proposant des applications qui tournent sans problème sur leur matériel cluster et leurs piles de clusters. Les fournisseurs de piles de clusters veulent répondre aux besoins de leurs clients en proposant des piles qui prennent en charge leurs applications et leur matériel cluster Les constructeurs de matériel veulent répondre aux besoins de leurs clients en proposant des composants qui prennent en charge les applications et les piles de clusters de leurs clients Les fournisseurs de systèmes veulent répondre aux besoins de leurs clients en proposant des implémentations cluster complètes qui prennent en charge leurs applications de façon fiable. Marcus Wiedemann HPC Solution Engineer Sans mobilité d application, les groupes se voient dans l obligation de tenter de prendre en charge toutes les combinaisons (alors qu ils n en ont ni le temps ni les moyens) ou de se décider pour une «combinaison gagnante» correspondant à 64
leurs besoins et risquer de faire un mauvais choix. La définition Intel Cluster Ready de la portabilité d application remplit toutes ces attentes en allant au-delà de la simple portabilité (recompiler et relier un binaire unique pour chaque plateforme) vers la mobilité d application binaire (fonctionnement d un même binaire sur de multiples plateformes) en définissant plus précisément le système de destination. Un autre aspect de la mobilité d application est l assurance que les applications certifiées Intel Cluster Ready n ont besoin d aucune programmation spéciale ou de binaires alternatifs pour les différentes matrices de messages. Intel Cluster Ready y parvient en fournissant une implémentation MPI prenant en charge plusieurs matrices sur runtime. De cette façon, les applications certifiées Intel Cluster Ready applications se conforment à la propriété d indépendance des couches de messages. En bref, le concept d unification d Intel Cluster Ready, c est «un vers tous» : une application fonctionne sur plusieurs clusters un cluster prend en charge plusieurs applications «Un vers tous», ça marche comment? Observez la figure 1, vous verrez les composants de pile Intel Cluster Ready abstraits que l on trouve dans tous les clusters, à savoir une ou plusieurs applications, une pile logicielle de cluster, une ou plusieurs matrices et finalement, en arrière-plan, le matériel cluster. Le reste du schéma (à droite) indique les composants plus en détail. Au sommet de la pile, les applications se reposent sur les différentes API, les utilitaires et la structure du système de fichiers présentés par la pile logicielle sous-jacente. Les applications certifiées Intel Cluster Ready sont toujours compatibles avec les API, les utilitaires et les structures de systèmes de fichiers indiqués par la spécification Intel Cluster Ready. Si une application a besoin de logiciel extérieur à cet ensemble, Intel Cluster Ready exige de l application qu elle fournisse ce logiciel comme composante de son installation. Afin de garantir que ces logiciels ne causent pas de conflits avec la pile de cluster ou les autres applications, Intel Cluster Ready exige de plus que ces logiciels supplémentaires soient installés dans des arborescences privées de l application. Ainsi l application sait où trouver le logiciel sans interférer avec les autres applications. Certes, cela peut entraîner des doublons de logiciels, cependant la fiabilité offerte par cette duplication dédommage largement des coûts dus aux fichiers doubles. Un excellent exemple en ce sens est le danger de la suppression d un fichier commun (bibliothèque, utilitaire ou autre) en ignorant que d autres applications en ont également besoin. Ce genre d erreur peut s avérer difficile à réparer même s il cause une défaillance complète de l application. Au pied de la pile, les plateformes cluster fournissent les API, utilitaires et structure de système de fichiers dont les appli- FIGURE 1 PILE ICR Applications certifiées Plateforme à solution unique Matrices Plateformes cluster certifiées Pile de logiciels Matrice CFD Crash Climate QCD Intel MPI Library (run-time) Intel MKL Cluster Edition (run-time) Gigabit Ethernet Outils cluster Linux (Intel Selected) InfiniBand (OFED) Système Intel OEM1 OEM2 PI1 PI2... Bio Plateforme à processeur Intel Xeon... 10Gbit Ethernet En option Outils de développement (C++, Intel Trace Analyzer et Collector, MKL, etc.) Intégrateur de plateforme individuel pour plus de valeur ajoutée 65
INTEL CLUSTER READY STANDARD DE QUALITÉ POUR CLUSTERS HPC cations certifiées ont besoin. Les plateformes certifiées Intel Cluster Ready garantissent que ces API, utilitaires et structures de systèmes de fichiers sont conformes aux spécifications Intel Cluster Ready. En outre, les clusters certifiés peuvent décider entre plusieurs méthodes de mise à disposition en fonction des besoins. Grâce aux responsabilités clairement définies garantissant la disponibilité de tous les logiciels requis par les applications certifiées, les fournisseurs de systèmes peuvent être sûrs que les clusters certifiés qu ils développent seront en mesure d accueillir les applications certifiées dont leurs clients ont besoin. Au-delà de la conformité aux critères Intel Cluster Ready, les clusters offrent leur propre valeur ajoutée, ou plus exactement des fonctionnalités qui accroissent la valeur de leurs produits. COMMENT INTEL CLUSTER READY ATTEINT-IL SES OBJECTIFS? D une part, Intel Cluster Ready est une définition de cluster en tant que plateforme pour applications parallèles. D autre part, il s agit d un outil de certification de cluster par rapport à cette définition. Observons ces deux aspects plus en détail pour comprendre leurs raisons d être et leurs avantages. Définition de cluster en tant que plateforme pour applications parallèles La spécification Intel Cluster Ready est moins un standard d implémentation qu un ensemble d exigences pour toute plateforme sur laquelle des applications parallèles (en particulier MPI) vont être installées et exploitées. Peu importe donc pour la spécification que le cluster soit diskful ou diskless, en distribution intégrale ou SSI (single system image), basé sur des distributions d entreprise ou communautaire, en open source intégrale ou non. Peut-être plus important encore : la norme ne spécifie aucun mode particulier de construction. À une exception près : les nœuds de calcul doivent être développés avec des outils automatisées afin que les nouveaux nœuds à intégrer (ou à réintégrer après réparation) soient identiques aux nœuds en place sans intervention 66
manuelle autre que le lancement de l intégration. La spécification inclut les points suivants : Capacité à exploiter des applications 32 et 64-bit, y compris les applications MPI et XCLIENT sur n importe lequel des nœuds Uniformité des configurations, des capacités et de la performance entre les nœuds Accès identique aux bibliothèques et utilitaires pour l ensemble du cluster Accès identique pour tous les nœuds au stockage permanent ou temporaire et aux données d utilisateurs Accès identique à tous les nœuds de calcul à partir du nœud principal Indépendance de matrice fournie par l implémentation MPI Prise en charge par tous les nœuds du démarrage réseau et console accessible à distance La spécification exige également l installation sur chaque cluster certifié de runtimes pour certains logiciels Intel. Intel Math Kernel Library Intel MPI Library Runtime Environment Intel Threading Building Blocks Outil de certification de cluster conforme à la définition Intel Cluster Checker (compris dans toutes les implémentations certifiées Intel Cluster Ready) est utilisé en quatre modes dans la vie d un cluster : pour certifier que le cluster prototype d un fournisseur système est une implémentation valide de la spécification, pour confirmer au propriétaire que le cluster qui vient d être livré est une «vraie copie» du prototype certifié, pour garantir que le cluster fonctionne parfaitement et réduire les demandes de service ne concernant pas les applications ou le matériel, pour permettre et aux fournisseurs de logiciel et de systèmes de diagnostiquer et corriger les problèmes de leurs codes ou de leur matériel. Bien que capitales, ces fonctionnalités sont loin de refléter toutes les capacités d Intel Cluster Checker. Cet outil ne se contente pas de vérifier le bon fonctionnement du cluster. Pour ce faire, des tests statiques et dynamiques du matériel et des logiciels sont réalisés pour chaque nœud et pour le cluster. Cette revendication a un effet double. D une part, les distributions Linux classique ne fournissent pas nécessairement une pile logicielle suffisante pour construire un cluster une telle spécialisation est au-delà de leur mission. D autre part, cette exigence garantit que les programmes développés avec ce logiciel fonctionneront toujours sur les clusters certifiés et jouiront d une installation simplifiée. Cela n entraîne aucun coût supplémentaire pour les clusters certifiés puisque les runtimes sont directement disponibles sur le web. Il est également très important de noter que cela n oblige pas les applications certifiées à utiliser ces bibliothèques, ni exclut la présence de bibliothèques alternatives, par ex. d autres implémentations MPI, sur les clusters certifiés. En clair, une application requérant, par exemple, une MPI alternative doit fournir les runtimes pour cette MPI dans son installation. FIGURE 2 INTEL CLUSTER CHECKER Définition cluster & configuration fichier XML Config Moteur Cluster Checker Sortie Résultat Module test Ops parallèle Check Nœud Nœud Nœud Nœud Config STDOUT + Logfile Résultats pass/fail et diagnostics Sortie Résultat Module test Ops parallèle Check Nœud Nœud Nœud Nœud API 67
INTEL CLUSTER READY INTEL CLUSTER READY DONNE DE L ÉLAN AU HPC Intel, XEON et certaines autres marques et logos apparaissant dans cette brochure sont des marques déposées ou des marques appartenant à Intel Corporation. Les contrôles statiques garantissent que les systèmes sont configurés de façon cohérente et adéquate. Par exemple, l outil s assure que les systèmes ont les mêmes versions BIOS et des configurations identiques des paramètres BIOS importants. Ce genre d erreurs versions et paramètres BIOS divergents peuvent être à l origine de problèmes subtils tels que des configurations de mémoires différentes se manifestant par des largeurs de bandes dissemblables et interprétées comme une performance générale inférieure aux attentes au niveau des applications. Comme on le sait, la performance d un programme parallèle est déterminée par la performance de ses composants les plus lents, pas celle des plus rapides. Un autre test statique permet à Intel Cluster Checker de vérifier que les outils, bibliothèques et fichiers requis sont présents sur chaque nœud et y sont localisés et implémentés de façon identique. Ainsi, on est sûr que chaque nœud est doté de la pile logicielle minimale requise par la spécification et que cette pile est identique pour tous les nœuds. Un test dynamique typique est le contrôle de la cohérence de la performance du système, par ex. à l aide du benchmark STREAM. Ce test s assure que la performance mémoire et processeur est uniforme entre les nœuds car cela peut être source d un ralentissement général des applications comme dans l exemple des configurations BIOS. Un test supplémentaire peut être réalisé avec STREAM si l utilisateur détermine un objectif de performance pour le benchmark ; il contrôlera alors non seulement si la performance est uniforme dans tout le cluster mais aussi si elle répond aux attentes. Au-delà de la performance processeur, les benchmarks MPI Intel servent à s assurer que la ou les matrices de réseau fonctionnent correctement et que les performances sont conformes aux attentes du fournisseur de cluster (si une telle attente 68
est spécifiée dans la configuration). Les inconsistances de réseau dues aux NIC Ethernet, HBA InfiniBand, aux switches défectueux ou aux câbles abîmés ou déconnectés peuvent être identifiées. Enfin, Intel Cluster Checker est évolutif. En effet, il est possible d ajouter de nouveaux tests pour de nouvelles fonctionnalités. Ainsi, Intel Cluster ne prend pas seulement en charge les exigences minimales de la spécification Intel Cluster Ready mais aussi l ensemble du cluster tel que livré au client. FIGURE 3 LE PROGRAMME INTEL CLUSTER READY Plateforme cluster Configuration Logiciel Interconnecteur Plateforme serveur Processeur Intel Outils logiciels Designs de référence Création de demande Spécification Compatibilité ISV Assistance & formation Conformité logicielle et matérielle Les informations ci-dessus s adressent surtout aux constructeurs de clusters certifiés et aux développeurs d applications certifiées. Pour les utilisateurs finaux qui veulent acquérir un cluster certifié pour des applications certifiées, il est capital de pouvoir reconnaître les clusters et les applications certifiés. En effet, cela permet de réduire le travail d évaluation, d acquisition et de déploiement des clusters qui recevront leurs applications et ensuite de garantir le bon fonctionnement des ressources de calcul à pleine performance et d accroître directement leur productivité. INTEL CLUSTER READY DONNE DE L ÉLAN AU HPC Avec son programme Intel Cluster Ready (ICR), Intel Corporation a créé un scénario gagnant pour les acteurs premiers du marché des clusters haute-performance (HPC). Les revendeurs de matériel et les éditeurs de logiciels indépendants (ISV) y gagnent car ils peuvent garantir aux acheteurs et utilisateurs que leurs produits fonctionneront bien ensemble tels quels. Les administrateurs systèmes y gagnent car il sont en mesure de répondre aux exigences de leurs entreprises qui leur demandent de pousser plus loin les avantages du HPC dans leurs structures tout en satisfaisant les besoins des utilisateurs en matière de cycles HPC fiables sans accroissement du personnel informatique. Les utilisateurs finaux y gagnent car ils travaillent plus rapidement avec moins d attente et d interruptions sur des plateformes cluster certifiées. Pour finir, avec ICR, Intel lui-même y gagne car il peut ainsi étendre le marché adressable total (TAM) et réduire les délais time-tomarket pour ses microprocesseurs, ses puces et ses plateformes. La pire des époques Pendant de nombreuses années, les clusters étaient largement confinés aux sites gouvernementaux et académiques où on disposait d étudiants post-maîtrise et d employés de niveau 69
INTEL CLUSTER READY INTEL CLUSTER READY DONNE DE L ÉLAN AU HPC intermédiaire pour programmer et entretenir les systèmes alors inextricables. Les entreprises n avaient pas accès à cette main d œuvre bon marché et se méfiait de Linux open source, le système d exploitation préféré pour les clusters pour la simple raison, qu en cas de problème, il était impossible de désigner un responsable précis. Aujourd hui, la présence des clusters sur le marché HPC est forte, allant des systèmes avec juste une poignée de processeurs aux plus grands superordinateurs du monde, de moins de 25 000 $ à des dizaines ou des centaines de millions de dollars. Les clusters infiltrent de plus en plus tous les marchés HPC verticaux : biosciences, IAO, ingénierie chimique, création de contenus numériques, services économiques et financiers, automatisation du design électronique, géoscience et géo-ingénierie, design mécanique, défense, laboratoires nationaux, milieux universitaires et météo/climat. Pourtant, des études IDC ont toujours montrés que les clusters restent difficiles à spécifier, déployer et gérer, surtout pour les utilisateurs HPC novices ou peu expérimentés. Cela ne surprend pas : un cluster est un ensemble d ordinateurs indépendants reliés par logiciel et par des technologies de mises en réseau de constructeurs divers. Au départ, les clusters étaient des systèmes HPC en kit. À la fin des années 90, les utilisateurs ont commencé à utiliser du matériel bon marché pour bricoler des systèmes d informatique scientifique basé sur le concept de «cluster Beowulf» développé par Thomas Sterling et Donald Becker à la NASA. Depuis leurs origines Beowulf, les clusters ont beaucoup évolués et mûris mais les difficultés de gestion des systèmes des premières années sont encore présents. 70
La demande en solutions cluster standard La complexité grandissante des clusters HPC pose un dilemme aux grands départements informatiques qui ne peuvent pas se permettre de multiplier leur personnel spécialisé HPC pour répondre aux exigences croissantes des utilisateurs finaux en ressources techniques de calcul. La gestion des clusters est encore plus problématique pour les petites organisations et entreprises qui n ont simplement aucun personnel HPC. Le programme ICR vise à répondre à la complexité croissante des clusters en offrant une solution standard (architecture de référence) pour les systèmes Intel et que les fournisseurs de matériel peuvent utiliser pour certifier leurs configurations et que les ISV et autres éditeurs de logiciel peuvent utiliser pour tester et certifier leurs applications, logiciels systèmes et logiciel de gestion HPC. L objectif premier de ce programme de conformité volontaire est d assurer une intégration et une interopérabilité logiciel-matériel fondamentales pour permettre aux administrateurs et aux utilisateurs finaux d acheter et de déployer en toute confiance des clusters HPC et d accomplir leurs tâches même en l absence de personnel HPC qualifié. Le programme ICR cherche à éviter aux utilisateurs finaux d avoir à devenir de fait leurs propres intégrateurs systèmes. Dans les petites organisations, le programme ICR est conçu pour permettre aux services informatiques surchargés avec peu ou pas d expertise HPC de répondre plus facilement aux demandes des utilisateurs HPC. Pour les organisations plus grandes disposant de personnel HPC, ICR est synonyme de confiance : les applications des utilisateurs fonctionnent, l administration système est simplifiée et les systèmes clusters peuvent être étendus sans personnel supplémentaire. ICR peut aider les ressources cluster HPC à pénétrer plus profondément dans les grandes organisations et libérer du personnel informatique qui peut alors se concentrer sur les applications classiques des entreprises (paies, ventes, RH, CRM, etc.). Ce programme est une collaboration tripartite entre fournisseurs de matériel, éditeurs de logiciels et Intel. Dans cette triple alliance, Intel fournit la spécification pour l implémentation de l architecture cluster et les autres fournisseurs certifient la conformité des configurations du matériel et des applications logicielles à cette spécification. Le programme ICR fait la promesse aux administrateurs et utilisateurs que les applications certifiées fonctionneront telles quelles sur les configurations matériel certifiées. Les solutions ICR sont conformes à l architecture de plateforme standard, à commencer par les processeurs Intel Xeon 64-bit sur plateforme matérielle cluster certifiée Intel. Reposant sur cette fondation, on trouve la matrice d interconnexion (Gigabit Ethernet, InfiniBand) et la pile logicielle : outils cluster Linux sélectionnés par Intel, bibliothèque runtime MPI Intel et Intel Math Kernel Library. Les composants runtime Intel sont disponibles et contrôlés comme faisant partie de la certification (par ex. runtimes outils Intel) mais ne doivent pas obligatoirement être utilisés par les applications. La présence de ces composants runtime Intel n exclut pas d autres composants susceptibles d être employés par les fournisseurs systèmes et les ISV. Au sommet de la pile, on trouve les applications ISV certifiées Intel. 71
INTEL CLUSTER READY TRANSTEC BENCHMARKING CENTER Au cœur du programme, on trouve Intel Cluster Checker, un outil de validation servant à vérifier que le cluster est conforme à la spécification et opérationnel avant même l installation des applications ISV. Après la mise en service du cluster, Cluster Checker peut être utilisé comme outil d isolation d erreur en mode wellness. La certification ne doit se faire qu une seule fois pour chaque plateforme matérielle distincte tandis que Cluster Checker peut procéder à une vérification (déterminant s il s agit d une copie valide de la spécification) à n importe quel moment. Cluster Checker est un outil évolutif à même d accepter de nouveaux modules tests. C est un outil intégré aux produits et que les membres ICR fournissent avec leurs systèmes. À l origine, Cluster Checker a été conçu pour des clusters homogènes mais peut maintenant être employé sur des clusters à nœuds spécialisés tel que des sous-clusters de stockage intégral. Cluster Checker peut isoler un grand nombre de problèmes, y compris des problèmes de réseau et de communication. 72
transtec propose à ses clients une nouvelle façon fascinante d évaluer ses solutions HPC dans des scénarios réels. Grâce au transtec Benchmarking Center, il est possible d examiner en détail les solutions à la lumière des applications réelles qu elles recevront plus tard. Cela est rendu possible par Intel Cluster Ready : il simplifie l entretien des systèmes et l installation de systèmes propres aussi souvent que nécessaire. Les systèmes HPC sont utilisés pour des simulations numériques. C est pourquoi, on déploie des technologies cluster de plus en plus poussées. En raison de leurs performances, de leur rapport performance-prix et de leur efficience énergétique, les clusters dominent maintenant tous les segments du marché HPC et gagnent en acceptance. Les systèmes HPC sont devenus plus présents et intégrés dans les milieux gouvernementaux, industriels et universitaires. Pourtant, le client a rarement la possibilité de tester ses applications réelles sur le système qu il envisage d acquérir. TRANSTEC BENCHMARKING CENTER Les clients utilisant les solutions HPC transtec sont très divers. Parmi eux, on trouve les plus grands consommateurs de puissance de calcul dans les universités et centres de recherche allemands et européens, des utilisateurs publics tels que le centre de calcul des armées allemandes, les secteurs à haute technologie et l automobile et d autres. Les solutions HPC transtec ont fait leurs preuves dans plus de 500 installations. La plupart des systèmes cluster transtec sont basés sur SUSE Linux Enterprise Server, Red Hat Enterprise Linux, CentOS ou Scientific Linux. Avec xcat pour le déploiement efficient des clusters et Moab HPC Suite d Adaptive Computing pour la gestion à haut niveau de clusters, transtec est en mesure de déployer et livrer des solutions cluster HPC conviviales dotées de fonctionnalités de gestion professionnelle. Moab a prouvé qu il est synonyme de convivialité de gestion des flux applicatifs et des tâches dans les petits systèmes comme dans les plus grandes installations. Néanmoins, qu il s agisse d un acheteur potentiel pour un gouvernement ou une grande entreprise, le client exige souvent de pouvoir choisir parmi un certain nombre d offres concurrentes. Fréquemment, il y a un budget fixe et les solutions en compétition sont comparées sur leurs performances sur certains benchmarks individualisés. Ainsi, transtec a décidé en 2007 d ajouter une nouvelle spécialité à ses compétences HPC déjà riches du déploiement et de la gestion de cluster aux CPU les plus modernes en passant par les technologies réseaux et les systèmes de stockage HPC. Les systèmes sont assemblés dans les laboratoires HPC transtec. transtec utilise Intel Cluster Ready pour faciliter les tests, la vérification, la documentation et les contrôles finaux tout au long de la construction. Dans son Benchmarking Center, transtec propose maintenant un ensemble de petits clusters avec la toute dernière technologie grâce à Intel Cluster Ready. Une infrastructure d installation standard offre à transtec un moyen rapide et simple de paramétrer les systèmes en fonction du système d exploitation choisi par le client, ses compilateurs, ses suites de gestion des travaux, etc. Avec Intel Cluster Ready, nous disposons de paramétrages standard dont la performance a été vérifiée sur des benchmarks standard tandis que la stabilité du système est garantie par notre propre suite de test et Intel Cluster Checker. Le programme Intel Cluster Ready est conçu pour offrir un standard commun aux clusters HPC et aider les organisations à créer et installer des configurations de clusters intégrées, compatibles et cohérentes. Intégrer les standards et les outils proposés par ce programme peut grandement aider à simplifier le déploiement et la gestion des clusters HPC. 73
WINDOWS HPC SERVER 2008 R2 SOLUTION HPC MICROSOFT
Windows HPC Server 2008 R2 est la troisième version de la solution Microsoft pour l informatique haute-performance (HPC). Basé sur la technologie 64-bit de Windows Server 2008 R2, Windows HPC Server 2008 R2 s étend efficacement jusqu à des milliers de nœuds et s intègre parfaitement aux infrastructures Windows, offrant un ensemble puissant de convivialité, performance et coûts de possession bas. Comparé à la version précédente, Windows HPC Server 2008 R2 présente des progrès significatifs dans plusieurs domaines. Grâce à ces améliorations, Windows HPC Server 2008 R2 permet aux entreprises de bénéficier de l informatique haute performance plus simplement que jamais. Les administrateurs déploient et gèrent plus simplement de puissantes solutions HPC, les développeurs conçoivent plus simplement de nouvelles applications et les utilisateurs accèdent plus simplement à ces solutions depuis leurs postes Windows. 75
Station de travail WINDOWS HPC SERVER 2008 R2 COMPOSANTES DE LA SOLUTION HPC MICROSOFT Nœud broker WCF FIGURE 1 CONFIGURATION CLUSTER HPC WINDOWS Active Directory Nœud principal Réseau privé Serveur fichier Nœud de calcul Réseau entreprise Nœud failover en option Réseau applications Nœud de calcul Serveur centre système Serveur SQL (cluster failover) Serveur SQL Nœud de calcul Serveur e-mail COMPOSANTES DE LA SOLUTION HPC MICROSOFT Windows HPC Server 2008 R2 réunit la stabilité et la sécurité de Windows Server 2008 R2 et les fonctionnalités de Microsoft HPC Pack 2008 R2 pour offrir une solution HPC solide, évolutive, efficiente sur les coûts et conviviale. Une solution Windows HPC Server 2008 R2 de base comprend un cluster de serveurs avec un seul nœud principal (ou un nœud principal primaire et un de secours pour une configuration à haute disponibilité) et un ou plusieurs nœuds de calcul (voir fig. 1). Le nœud principal contrôle et gère tous les accès aux ressources clusters. Il est le point unique de gestion, de déploiement et de planification des travaux pour le cluster. Windows HPC Server 2008 R peut s intégrer à une infrastructure de service annuaire Active Directory pour la gestion de la sécurité et des comptes et peut utiliser le SCOM Microsoft (System Center Operations Manager) pour le suivi du centre de données. Windows HPC Server 2008 R2 utilise Microsoft SQL Server 2008 comme dépôt de données pour le nœud principal. Windows HPC Server 2008 R2 profite des fonctionnalités de failover clustering fournies par Windows Server 2008 R2 Enterprise et d autres éditions de Microsoft SQL Server pour garantir une haute disponibilité par la mise en cluster failover du nœud principal. En mode clustering et en cas de défaillance du nœud principal, le planificateur de tâches bascule automatiquement (ou manuellement, si demandé) sur un second serveur. Les clients du planificateur ne remarquent aucun changement dans le nœud principal pendant le basculement et le retour assurant ainsi la continuité des opérations sur le cluster. Windows HPC Server 2008 R2 peut prendre en charge une base de données à distance pour le nœud principal permettant aux organisations d exploiter des bases de données existantes. 76
Fonctionnalité Implémentation Avantages Système d exploitation Windows Server 2008 et/ou Windows Server 2008 R2 (nœud principal uniquement Hérite de la sécurité et de la stabilité de Windows Server 2008 et Windows Server 2008 R2. R2, nœud de calcul peuvent être les deux) Type de processeur x64 (AMD64 ou Intel EM64T) Modèle de mémoire généreux et efficience processeur d une architecture x64 Déploiement des nœuds Windows Deployment Services Déploiement basé image avec prise en charge intégrale multicasting et diskless boot Redondance du nœud principal Cluster failover Windows et cluster failover serveur SQL Nœud principal et planificateur redondants (requiert Windows Server 2008 R2 Enterprise et SQL Server Standard Edition). Administration Console d administration intégrée Interface utilisateur unique pour tous les aspects de la gestion de nœud et de travaux, regroupage, suivi, diagnostic et rapports Topologie réseau Assistant de configuration réseau Assistant complètement automatisé pour la configuration de la topologie réseau souhaitée Réseau applications MS-MPI Pile de réseau applications haut débit sur NetworkDirect Implémentation de mémoire partagée pour processeurs multicœurs Grande compatibilité avec les implémentations MPICH2 existantes Planificateur Console de gestion des tâches L interface graphique est intégrée à la console d administration ou peut être utilisée de façon autonome. La CLI (command line interface) prend en charge le script PowerShell et les scripts de ligne de commande antérieurs de Windows Compute Cluster Server. Débit et évolutivité grandement améliorés. Prise en charge des applications SOA. Surveillance Intégré à la console d administration Nouvelle heat map pour un aperçu général de la performance cluster et le statut de jusqu à 1 000 nœuds Rapports Intégré à la console d administration Rapports standard pré-formatés et historiques des performances. Possibilité de créer des rapports supplémentaires avec SQL Server Analysis Services Diagnostic Intégré à la console d administration Tests de vérification et de performance inclus d origine avec possibilité de stockage, filtrage et consultation des résultats de tests et historiques. Trame de diagnostic extensible pour la création de diagnostics et de rapports individualisés Runtime parallèle Infrastructure SOA prête à l emploi pour l entreprise Windows HPC Server 2008 R2 offre un prise en charge optimisée des flux d applications SOA, aidant ainsi les organisations à développer, rendre plus robustes et gérer plus simplement les applications HPC. 77
WINDOWS HPC SERVER 2008 R2 DÉPLOIEMENT, ADMINISTRATION DE SYSTÈME ET SUIVI DÉPLOIEMENT Un des défis des solutions HPC est le déploiement de clusters volumineux. Avec son objectif de prendre en charge le déploiement de 1 000 nœuds en moins d une heure, Windows HPC Server 2008 R2 s appuie sur les capacités fournies par Windows Deployment Services pour simplifier et alléger le déploiement et la mise à jour des nœuds en utilisant des fichiers Windows Imaging Format (WIM) et multicast mutliband pour déployer rapidement les nœuds de calcul en parallèle. Des outils graphiques de déploiement sont intégrés à la console d administration et incluent des modèles de nœuds pour la configuration simple des nœuds de calcul. De nouvelles fonctions dans Windows HPC Server 2008 R2 telles que la prise en charge de clusters basés Windows Server 2008 sur versions mixtes et diskless boot accroissent la flexibilité et permettent aux organisations de déployer simplement des solutions optimisées répondant à leurs besoins. «Alliée à l utilisabilité de Windows HPC Server 2008 R2, la performance des systèmes HPC transtec offre à nos clients des solutions HPC inégalées en puissance et en facilité de gestion. Robin Kienecker Spécialiste Ventes HPC Les modèles dans Windows HPC Server 2008 R2 fournissent une méthode simple pour la définition des configurations requises pour les nœuds de calcul, chaque modèle comprenant l image de système d exploitation de base, les pilotes, les paramètres de configuration et tout logiciel supplémentaire souhaité. Un assistant de création de modèle guide l administrateur lors de la création de modèles de nœuds, y compris pour l import des pilotes dans les images. Un éditeur de modèles amélioré propose des fonctionnalités de configuration détaillées, y compris pour le déploiement automatique des applications. Windows HPC Server 2008 R2 prend en charge le déploiement des nœuds de calcul et des brokers basé sur Windows Server 2008 ou Windows Server 2008 R2, même pour les clusters à versions mixtes. 78
Le démarrage diskless des nœuds de calcul, une fonction nouvelle sur Windows HPC Server 2008 R2, est permis par le démarrage iscsi depuis un array de stockage. Ce mécanisme utilise les réservations DHCP pour le mapping vers le disque et exploite le système du fournisseur de stockage pour créer des disques de différence. La console d administration inclut des tests de diagnostics pouvant être utilisés après le déploiement pour détecter les problèmes communs, surveiller le chargement des nœuds et consulter le statut des travaux sur le cluster. De plus le nouveau «Lizard» (LINPACK Wizard) sur Windows HPC Server 2008 R2 permet aux administrateurs de charger lourdement le cluster, offrant ainsi un mécanisme efficace de détection des problèmes liés à la configuration et au déploiement, à la mise en réseau, la puissance, le refroidissement, etc. Parmi les autres fonctions de gestion de Windows HPC Server 2008 R2, on trouve des critères supplémentaires de filtrage des aperçus, le regroupement des nœuds par site, une base de données de rapports plus riche pour l individualisation des rapports et une trame de diagnostics extensible. FIGURE 2 LA CONSOLE D ADMINISTRATION ADMINISTRATION DE SYSTÈME Un autre défi majeur auquel les organisations doivent faire face est l administration des clusters HPC. Traditionnellement, il s agissait plutôt d un défi des services ou des organisations entières et la gestion et le déploiement des nœuds exigeaient un ou plusieurs spécialistes informatiques dédiés. En même temps, les utilisateurs soumettant des travaux en lot sont en compétition pour les ressources HPC limitées. Windows HPC Server 2008 R2 est conçu pour faciliter la gestion. Il comprend une interface graphique permettant à l administrateur d avoir sous la main tous les outils nécessaires à la gestion du système, y compris un drill down sur les détails des nœuds tels que mesures, rapports et statut de configuration. La prise en charge du code Windows PowerShell facilite l automatisation des tâches d administration. Une heat map détaillée livre aux administrateurs une vue générale du statut des clusters avec la possibilité de définir des onglets avec différents aperçus de l état du système et de l utilisation des ressources. SUIVI, RAPPORTS ET DIAGNOSTICS TLa fenêtre de gestion des nœuds de la console d administration sert à suivre le statut des nœuds et à initier des actions pour chaque nœud. Les nouvelles fonctionnalités de gestion des nœuds de Windows HPC Server 2008 R2 comprennent une heat map optimisée avec vue overlay, de nouveaux critères de filtrage, des onglets individualisables et une fonction de regroupement de nœuds par site. Dans Windows HPC Server 2008 R2, la heat map a été améliorée pour offrir une vue générale immédiate de l état du système et de la performance des clusters pour jusqu à 1 79
WINDOWS HPC SERVER 2008 R2 PLANIFICATION DES TÂCHES 000 nœuds. Les administrateurs système peuvent définir et prioriser jusqu à trois paramètres de mesure (ainsi que des minima/ maxima pour chacun) pour obtenir des vues individualisées du statut et de l état des clusters. FIGURE 3 LA HEAT MAP LIVRE UNE INFORMATION INSTANTANÉE SUR L ÉTAT DU CLUSTER FIGURE 4 PANNEAU DE DIAGNOSTIC Windows HPC Server 2008 R2 comprend un jeu de rapports et de tableaux prédéfinis pour aider les administrateurs à suivre le statut, l exploitation et la performance du système. Accessibles via l onglet Rapports et Tableaux de la console d administration, ces rapports couvrent quatre catégories principales : disponibilité des nœuds, exploitation des ressources par tâche, traitement des tâches et délais de traitement. Windows HPC Server 2008 R2 livre également un jeu de diagnostics pour aider les administrateurs à vérifier le fonctionnement correct des clusters et une méthode systématique de test et de stockage et de consultation des résultats. C est une aide précieuse pour les administrateurs pour la vérification du déploiement, la résolution des défaillances et la détection de pertes de performance. Les administrateurs peuvent consulter une liste de ces tests diagnostics, les exécuter, modifier les paramètres de diagnostics sur le runtime et consulter les résultats sous l onglet Diagnostics dans la console d administration ou par commande Windows PowerShell. PLANIFICATION DES TÂCHES Le planificateur crée les files d attentes pour les travaux et les tâches associées, attribue les ressources, lance les tâches sur les nœuds de calcul et surveille le statut des travaux et des tâches. Dans Windows HPC Server 2008 R2, le planificateur a été optimisé pour prendre en charge de plus grands clusters et des travaux plus nombreux et plus importants avec une planification et un traitement améliorés. Il comprend de nouveaux 80
règlements pour une plus grande flexibilité et une meilleure exploitation des ressources. Il est conçu pour traiter les travaux en lot traditionnels et les nouvelles applications orientées service. Le planificateur accepte les lignes de commande et les interfaces graphiques. L interface graphique est fournie par l onglet Planificateur de tâches dans la console d administration ou via HPC Job Manager, GUI pour la soumission et la gestion des tâches par les utilisateurs finaux. Autres interfaces compatibles : Command line (cmd.exe) Windows PowerShell 2.0 API COM et.net pour la prise en charge de nombreux langages, y compris VBScript, Perl, Fortran, C/C++, C#, et Java. HPC Basic Profile Web Services Interface de l Open Grid Forum acceptant la soumission et la gestion des tâches depuis de nombreuses plateformes et langages. réduction de tâches, travaux usuels, planification exclusive et dépendance de tâches pour la création de flux de travail. Windows HPC Server 2008 R2 introduit en outre de nouvelles tâches préparatoires et de libération, exécutées avant et après des travaux. Les tâches préparatoires sont effectuées une fois sur chaque nœud avant toute autre tâche, par exemple pour la configuration ou la validation du nœud avant l exécution des travaux. Les tâches de libération sont effectuées sur chaque nœud à l issue de travaux et après toutes les autres tâches, par exemple pour le nettoyage ou le transfert des fichiers après les travaux. Les interfaces Windows HPC Server 2008 R2 sont parfaitement compatibles descendantes, autorisant la soumission et la gestion de tâches depuis les interfaces Microsoft Compute Cluster Server et Windows HPC Server 2008. Windows HPC Server 2008 R2 propose également une nouvelle interface utilisateur pour l affichage de la progression des tâches et une API optimisée permettant aux développeurs de créer des rapports plus détaillés sur la progression des tâches pour leurs applications HPC. Les règlements de planification déterminent l attribution des ressources aux tâches. Windows HPC Server 2008 R2 permet de basculer entre la planification traditionnelle «premier arrivé, premier servi» et de nouvelles règles de planification en fonction des services conçues pour les charges de travail (grille) SOA/dynamiques avec préemption, matchmaking hétérogène (attribution de certaines tâches à certains nœuds), extension ou 81
WINDOWS HPC SERVER 2008 R2 ARCHITECTURE ORIENTÉE SERVICE ARCHITECTURE ORIENTÉE SERVICE Face au nombre et au volume toujours croissants des problèmes à traiter sur des clusters de plus en plus gros, les organisations sont confrontées à de nouveaux défis dans le développement des applications HPC. Non seulement ces applications doivent être développées rapidement, mais elles doivent aussi fonctionner avec une grande efficience et être gérées de façon à optimiser la performance, la fiabilité et l exploitation des ressources. L architecture orientée service (SOA) est l une des réponses à ces défis. Dans cette approche, on développe des applications distribuées et couplées de façon souple et dans lesquelles les fonctions sont divisées en services distincts pouvant être distribués par le réseau, combinés ou réutilisés. Windows HPC Server 2008 R2 offre une prise en charge avancée des flux d applications SOA, aidant les organisations à développer plus facilement des applications HPC interactives, à les rendre plus résilientes et à les gérer plus facilement ; autant de fonctionnalités qui ouvrent la porte à de nouveaux scénarios d applications dans des domaines tels que les transactions financières et la gestion de risques. Quand choisir SOA et comment ça marche sur un cluster? En général, les applications HPC soumises à un cluster sont 82
catégorisées comme intensives en message ou embarrassingly parallel. Les applications intensives en message comprennent des tâches consécutives tandis que les problèmes embarrasingly parallel se laissent facilement diviser en un grand nombre de tâches parallèles indépendantes et sans communication entre elles. Pour résoudre ces problèmes embarrassingly parallel sans avoir à rédiger du code basique, les développeurs doivent encapsuler les calculs centraux tel un module logiciel. L approche SOA rend l encapsulation possible et simple, dissimulant les détails de la sérialisation des données et du calcul distribué. Windows HPC Server 2008 R2 permet de traiter les tâches comme des applications SOA de façon interactive. Pour ces applications SOA interactives, le cluster dispose d un ou plusieurs nœuds broker Windows Communication Foundation en plus du nœud principal et d un ou plusieurs nœuds de calcul. Les nœuds brokers servent d intermédiaires entre l application client et les hôtes Windows Communication Foundation sur les nœuds de calcul, équilibrant les charges des requêtes de l application client et y renvoyant les résultats. Développement d applications HPC sur SOA L un des aspects intéressant des applications SOA est la possibilité de les développer rapidement sans avoir à rédiger beaucoup de code de base. Pour cela, les développeurs doivent être en mesure d encapsuler facilement les calculs centraux dans des modules logiciels pouvant être déployés et opérer sur le cluster. Ces modules logiciels identifient et policent les données requises pour chaque calcul et optimisent les performances en minimisant les mouvements de données et la communication générale. Microsoft Visual Studio propose des modèles de service Windows Communication Foundation conviviaux et des outils de référencement de service pour aider les développeurs à créer rapidement des prototypes, débugger et tester les applications SOA sur unité. Windows Communication Foundation dissimule efficacement la complexité de la sérialisation des données et du calcul distribué. Modèle de programmation Fire and Recollect : Le modèle de programmation Fire and Recollect (parfois appelé Fire and Forget) est une méthode courante de développement d applications SOA longue durée. Le runtime SOA sur Windows HPC Server 2008 R2 prend en charge la programmation Fire and Recollect permettant ainsi aux développeurs d implémenter des sessions réattribuables en désolidarisant requêtes et réponses. Sessions longue durée : Une autre nouvelle fonction Windows HPC Server 2008 R2 est la possibilité d implémenter des sessions longue durée dans lesquelles le runtime SOA retient les requêtes et les réponses correspondantes pour le client. Hooks de finalisation : Le runtime SOA de Windows HPC Server 2008 R2 prend aussi en charge les hooks de finalisation. Il permet aux utilisateurs d ajouter des ordres pour le cleanup avant la clôture d un service. Interopérabilité Java améliorée : Grâce au code échantillon Java fourni avec le Software Development Kit (SDK) Windows HPC Server 2008 R2, les développeurs peuvent rédiger plus facilement des applications client sous Java capables de communiquer avec les services.net et profiter du même niveau de fonctionnalité offert par les clients sur.net Framework et Windows Communication Foundation. 83
WINDOWS HPC SERVER 2008 R2 RÉSEAU ET MPI FIGURE 5 ARCHITECTURE NETWORKDIRECT App sur socket Réseau TCP/Ethernet Mode utilisateur TCP IP NDIS Pilote miniport App (ISV) Sockets Windows (Winsock + WSD) Pilote matériel App MPI MS-MPI Réseau RDMA Fournisseur Network Direct Couche accès mode utilisateur Matériel réseau Composant CCP Fournisseur WinSock Direct Mode kernel Composant SE Bypass kernel Composant IHV Fonctionnement des applications HPC sur SOA Au-delà de pouvoir développer rapidement des applications SOA, les organisations doivent être en mesure de les exploiter de façon efficace, sûre et fiable. Le runtime SOA de Windows HPC Server 2008 R2 aident les organisations à remplir cette exigence grâce à des fonctionnalités telles que des allersretours à basse latence pour une distribution efficiente des requêtes de calcul brèves, authentification Kerberos de bout en bout avec la sécurité de transport Windows Communication Foundation et allocation dynamique de ressources aux instances de services. Windows HPC Server 2008 R2 fournit également plusieurs nouveaux outils pour aider les organisations à exploiter leurs applications SOA plus sûrement, y compris la prise en charge du redémarrage/failover de broker et persistance de message. Résilience de message : En cas de défaillance temporaire d un broker ou d une panne majeur du cluster, les brokers SOA retiennent les requêtes de calcul et les résultats. La session peut continuer sans perte de requête ou de résultat après la remise en marche du cluster et le redémarrage des brokers. Brokers à haute disponibilité (redémarrage/failover broker) : Le runtime SOA sur Windows HPC Server 2008 R2 prend en charge le failover automatique de broker, permettant ainsi aux organisations de préserver les résultats de calcul en cas de défaillance, une exigence primordiale pour le traitement continu des applications critiques. Configuré par Microsoft Message Queuing (MSMQ) sur les brokers de stockage à distance et failover, le cluster fait basculer les sessions actives des nœuds défaillants vers des nœuds intacts assurant ainsi la continuité du traitement. 84
RÉSEAU ET MPI Windows HPC Server 2008 R2 utilise Microsoft Message Passing Interface (MS-MPI), une API indépendante des interconnexions, portable et flexible pour les messages à l intérieur et entre les nœuds HPC. MS-MPI repose sur l implémentation MPICH2 en open source de l Argonne National Laboratory. Elle est compatible avec le standard MPI2. MS-MPI opère sur Gigabit Ethernet, 10 Gigabit Ethernet et le matériel réseau haute performance tel que InfiniBand, iwarp Ethernet et Myrinet ou toute autre connexion offrant une interface Winsock Direct, NetworkDirect ou TCP/IP. MS-MPI comprend une prise en charge d applications (bindings) pour les langages de programmation C, Fortran77 et Fortran90. Avec Windows HPC Server 2008 R2, les organisations peuvent en outre profiter de nouvelles fonctions d interconnexion telle que la compatibilité RDMA sur Ethernet (iwarp) d Intel et le nouveau matériel QDR RDMA sur InfiniBand (40 Gbps). MS-MPI est optimisé pour la communication entre mémoires partagées pour les systèmes multicœurs, prévalents dans les clusters HPC actuels. MS-MPI sur Windows HPC Server 2008 R2 optimise des implémentations à mémoire partagée pour les nouveaux processeurs Intel basés sur Nehalem. Les tests internes de Microsoft ont montré une amélioration de la performance de 20 à 30 % sur un cluster commercial typique. NetworkDirect MS-MPI exploite NetworkDirect, une interface RDMA (remote direct memory access) pour de meilleurs résultats réseau et efficience CPU. Comme l indique la figure 5, NetworkDirect emprunte un chemin plus direct entre les applications MPI et le réseau matériel offrant un fonctionnement réseau rapide et efficace. Le débit et la latence sont similaires à ceux d interfaces natives custom des constructeurs de matériel. Dépannage simplifié des applications MPI MS-MPI s intègre à Event Tracing for Windows pour faciliter la gestion de la performance et offre un log synchronisé pour le debugging d événements système et applications MPI sur des ordinateurs parallèles nombreux. De plus, Microsoft Visual Studio 2008 comprend un debugger de cluster MPI compatible avec MS-MPI. Les développeurs peuvent lancer leurs applications MPI sur de multiples nœuds de calcul depuis l environnement Visual Studio, lequel connecte automatiquement les process sur chaque nœud permettant aux développeurs de figer et examiner les variables de programme individuellement sur chaque nœud. Assistant de configuration pour LINPACK («Lizard») L assistant de configuration pour LINPACK («Lizard»), nouvelle fonction de Windows HPC Server 2008 R2 est un exécutable pushbutton autonome qui permet aux administrateurs de mesurer simplement la performance et l efficience d un cluster HPC. En outre, grâce au chargement lourd du cluster, le Lizard peut être un outil de valeur pour l accès et la détection de problèmes liés à la configuration, au déploiement, au réseau, à l alimentation, au refroidissement, etc. Lizard évalue la performance et l efficience des clusters HPC en exécutant automatiquement plusieurs fois le banc d essai LINPACK, analysant les résultats de chaque tour et en ajustant automatiquement les paramètres pour le tour LINPACK suivant. Enfin, Lizard détermine quels sont les paramètres offrant une performance LINPACK optimale. Celle-ci se mesure en milliards d opérations à virgule flottante par seconde (GFLOPS) et par 85
WINDOWS HPC SERVER 2008 R2 RÉSEAU ET MPI l efficience en % atteinte en performance de pointe. Après l exécution du Lizard, les administrateurs peuvent contrôler les résultats LINPACK et sauvegarder sur fichier les résultats et les paramètres utilisés pour les atteindre. Les administrateurs peuvent exécuter Lizard en mode express ou avancé. En mode express, Lizard lance immédiatement le paramétrage en utilisant les valeurs par défaut des paramètres LINPACK. En mode avancé, les administrateurs peuvent indiquer des valeurs spécifiques à utiliser lors du lancement du paramétrage et en configurer l exécution. Microsoft, Windows, Windows Vista, Windows Server, Visual Studio, Excel, Office, Visual Basic, DirectX, Direct3D, Windows PowerShell et certaines autres marques mentionnées dans cette brochure sont des marques déposés ou des marques appartenant à Microsoft Corporation. 86
L expertise HPC de transtec englobe aussi le monde Windows. transtec peut fournir à ses clients des systèmes HPC Windows qui s intégreront parfaitement à leur environnement. Qu il s agisse de déploiement diskful ou diskless via WDM, d intégration à un environnement AD ou d installation et configuration de serveur WSUS pour une mise à jour centralisée, transtec propose à ces clients toutes les solutions Windows disponibles requises pour l informatique à haute productivité. Afin de répondre aux exigences les plus poussées, transtec, fournisseur de services HPC professionnels, peut créer des solutions de déploiement dynamique à l aide de Moab Adaptive HPC Suite pour les systèmes mixtes Linux/Windows soit par dual boot soit par virtualisation. 87
WINDOWS HPC SERVER 2008 R2 COMPATIBILITE MICROSOFT OFFICE EXCEL COMPATIBILITE MICROSOFT OFFICE EXCEL Microsoft Office Excel est une application commerciale capitale dans de nombreux secteurs. De par sa richesse en fonctions statistiques, sa capacité à exécuter des analyses complexes et son extensibilité virtuellement illimitée, Excel est de fait un outil de premier choix pour l analyse des données d entreprise. Néanmoins, les classeurs Excel deviennent de plus en plus lents à exécuter face à la croissante complexité des calculs et des modèles. Ils perdent en valeur pour les entreprises. Windows HPC Server 2008 R2 permet aux organisations d exploiter les clusters HPC pour réduire les temps de calcul des classeurs Excel de façon significative, évoluant de façon quasi linéaire avec l ajout de nœuds et de cœurs. Des délais de calcul plus rapides signifient plus d information en moins de temps pour les utilisateurs professionnels et les décideurs : analyses plus poussées, accès plus rapide aux informations importantes et décisions mieux éclairées. De plus, le traitement de classeurs Excel sur cluster HPC présente des avantages uniques en matière de fiabilité, d exploitation des ressources, d intendance et d audits. CALCUL ACCÉLÉRÉ DES CLASSEURS EXCEL Windows HPC Server 2008 R2 permet trois approches différentes pour le calcul de classeurs Excel sur cluster HPC : 88
l utilisation d Excel comme client SOA cluster, le traitement des UDF (user defined functions) Excel sur cluster ou le traitement des classeurs Excel sur cluster. L utilisation d Excel comme client SOA cluster était déjà possible avec les versions précédentes de Windows HPC Server. Le traitement des UDF et des classeurs Excel sur cluster sont de nouvelles fonctions qui requièrent Windows HPC Server 2008 R2 et Office Excel 2010. Excel comme client SOA cluster Visual Studio Tools for Office offre un environnement de programmation qui s intègre à Excel et aux autres produits Office. Avec Visual Studio for Office, les développeurs peuvent rédiger du code custom pour traiter les calculs Excel sur un cluster HPC par des ordres SOA. Visual Studio Tools for Office prend en charge les bibliothèques client pour Windows HPC Server 2008 R2, autorisant l intégration d Excel à tout service ou application opérant sur le cluster. Traitement des UDF Excel sur cluster HPC Les fonctions définies par l utilisateur (UDF) sont un mécanisme bien connu d extension d Excel permettant à des fonctions contenues dans les bibliothèques d extension Excel (XLL) d être activées depuis des cellules de tableurs comme n importe quelle fonction Excel standard. Excel 2010 étend ce modèle aux clusters HPC en permettant l exécution des UDF par un ou plusieurs nœuds sur un cluster HPC. La migration des calculs vers un cluster peut améliorer significativement la performance générale dans les cas où de longs classeurs comprennent des ordres indépendants vers des fonctions données et que ces fonctions sont un facteur de la durée générale du traitement. Pour les utilisateurs, la seule différence entre une fonction locale et une fonction sur cluster, c est une meilleure performance. Traitement des classeurs Excel sur cluster HPC De nombreux classeurs longs et complexes fonctionnent de façon itérative : ils répètent maintes fois le même calcul avec des données différentes. De tels classeurs peuvent contenir des calculs mathématiques complexes figurant dans plusieurs feuilles ou des applications VBA complexes. Lorsqu un classeur travaille en mode itératif, la meilleure solution pour mettre les calculs en parallèle peut être de traiter le classeur dans son ensemble sur un cluster. Windows HPC Server 2008 R2 prend en charge les instances Office Excel 2010 sur les nœuds de calcul des clusters HPC. Ainsi, les classeurs longs et itératifs peuvent être traités en parallèle pour obtenir une meilleure performance. De nombreux classeurs traités sur desktop peuvent être exécutés sur cluster, même ceux utilisant Visual Basic for Applications, des macros et des add-ins tiers. Les fonctionnalités cluster pour classeurs Excel comprennent aussi des fonctions conçues pour le traitement des classeurs sans interaction utilisateur offrant une plateforme solide pour le calcul des modèles Excel sans surveillance constante. Bien que cette méthode puisse être utilisée pour le calcul de nombreux classeurs sur cluster, elle exige un certain développement. Lorsque les classeurs sont traités sur desktop, les résultats des calculs sont insérés dans des cellules de tableur. Quand ils sont traités sur cluster, les process Excel sont exécutés sur les nœuds du cluster. L utilisateur ou le développeur doit donc définir quelles données doivent être calculées et comment recueillir les résultats. Une trame de macros est fournie pour la majeure partie de ce travail. Les développeurs peuvent individualiser cette trame ou rédiger leur propre code pour la gestion des calculs et des résultats, disposant ainsi d une flexibilité quasi infinie. 89
NFS EN PARALLÈLE LE NOUVEAU STANDARD DE STOCKAGE HPC
Il n est pas rare de trouver des résultats de calculs HPC dans le domaine du téraoctet. Dans ce contexte, la difficulté n est pas tant le stockage de ces données, mais plutôt la puissance requise par les copies aller-retour nécessaires dans le flux de travail du calcul et le délai de retour des tâches. Pour la gestion de résultats intermédiaires pendant l exécution du travail ou le stockage rapide des entrées et des résultats, les systèmes de fichiers parallèles se sont établis comme standard capable de faire face aux exigences croissantes de performance des systèmes de stockage HPC. NFS parallèle est en passe de devenir le mode standard des systèmes de fichiers parallèles. 91
NFS EN PARALLÈLE LE NOUVEAU STANDARD DE STOCKAGE HPC LA SOLUTION HIER : NFS POUR STOCKAGE HPC Le NFS (Network File System) original développé par Sun Microsystems à la fin des années 80 (maintenant en version 4.1) s est établi depuis longtemps comme un standard de fait pour la création d espace de nom global en informatique réseau. Une des solutions de cluster HPC très répandue comprend un nœud maître central servant simultanément de serveur NFS, son système de fichiers local stockant les données entrantes, les résultats intermédiaires et finaux et exportant le tout vers les autres nœuds du cluster. Bien sûr, cela forme immédiatement un goulot d étranglement : lorsque le réseau est fort chargé ou qu il y a un grand nombre de clusters, le serveur NFS n arrive plus à assurer la livraison ou la réception des données. Les nœuds sont interconnectés au moins FIGURE 1 UN SERVEUR NFS CLASSIQUE EST UN GOULOT D ÉTRANGLEMENT NAS Head = Serveur NFS Nœuds cluster = clients NFS une fois via Gigabit Ethernet (surtout en HPC). Le débit total est donc largement supérieur à la capacité d un serveur NFS à interface Gigabit. Même une connexion réseau puissante du serveur NFS au cluster, par exemple avec 10 Gigabit Ethernet, n est 92
qu une solution temporaire jusqu à la mise à niveau suivante du cluster. En effet, le problème fondamental subsiste : la solution n est pas extensible. De plus, NFS est un protocole difficile à mettre en cluster en termes d équilibrage de charge : vous devez soit garantir que les multiples serveurs NFS accédant aux mêmes données sont constamment synchronisés (avec pour conséquence une baisse significative de la performance) soit partitionner manuellement l espace de nom global (ce qui prend énormément de temps). NFS ne convient pas pour l équilibrage dynamique des charges de travail. En effet, en théorie, il est stateless, mais en pratique, il est stateful. LA SOLUTION AUJOURD HUI : SYSTÈMES DE FICHIERS PARALLÈLES Depuis quelques temps, on trouve des produits commerciaux puissants pour répondre aux grandes exigences des systèmes de stockage HPC. Les solutions open source FraunhoferFS (FhGFS) du Fraunhofer Competence Center for High Performance Computing ou Lustre sont largement utilisées dans les contextes HPC Linux et il existe plusieurs autres solutions de systèmes de fichiers parallèles gratuites ou commerciales. Ce qui est nouveau, c est que le vénérable NFS doit faire l objet d une mise à niveau, y compris une version parallèle, vers un standard Internet avec pour objectif l interopérabilité entre tous les systèmes d exploitation. La formulation originale du problème de l accès NFS parallèle a été donnée par Garth Gibson, professeur à l Université Carnegie Mellon et fondateur et directeur technique de Panasas. Gibson était déjà connu pour avoir été l un des auteurs de l étude originale sur l architecture RAID en 1988. La formulation originale de Gibson et Panasas se retrouve clairement dans le design de pnfs. ActiveScale Pan- FS, le puissant système de fichiers HPC développé par Gibson et Panasas, avec des OSD comme composants centraux, n est autre que le prolongement commercial du projet Network- Attached Secure Disk (NASD), également développé par Garth Gibson à Carnegie Mellon. NFS EN PARALLÈLE Le NFS en parallèle (pnfs) s impose petit à petit comme le standard à venir face aux exigences des environnements HPC. Du point de vue de la branche ou de l utilisateur, les avantages des solutions standard sont indiscutables : au-delà de la protection des investissements des utilisateurs, les standards garantissent un certain niveau d interopérabilité sans restreindre le choix de produits disponibles. En conséquence, les utilisateurs et les administrateurs ont besoin de moins de formation, le déploiement est plus simple et l acceptance accrue. Partie intégrante du standard Internet NFS 4.1, pnfs n adoptera pas seulement la sémantique NFS en termes de consistance de cache ou de sécurité, il s agit aussi d une extension simple et souple du protocole NFS 4. pnfs est en option ; en clair, les implémentations NFS 4.1 ne doivent pas inclure pnfs dans leurs fonctions. Le standard Internet NFS 4.1 est aujourd hui intitulé IETF RFC 5661. Le protocole pnfs permet la séparation des métadonnées et des données : un cluster pnfs comprend ce que l on appelle des unités de stockage pour les données du système de fichiers partagé et un serveur de métadonnées (MDS) appelé Director Blade chez Panasas, en fait, le serveur NFS 4.1 lui-même. Le serveur 93
NFS EN PARALLÈLE LES NOUVEAUTES DE NFS 4.1 LES NOUVEAUTES DE NFS 4.1 NFS 4.1 est une mise à jour mineure de NFS 4 apportant de nouvelles fonctions. Une des fonctions en option est parallel NFS (pnfs), mais il y a également d autres nouveautés. Une des améliorations techniques est l utilisation de sessions, objet serveur persistant créé dynamiquement par le client. Grâce aux sessions, le statut d une connexion NFS peut être sauvegardé, que la session soit active ou non. Les sessions survivent aux arrêts temporaires du client ou du serveur. Chaque session dispose d un «canal aller», connexion du client vers le serveur pour toutes les opérations RPC et en option d un «canal retour» pour les retours RPC du serveur pouvant désormais être réalisés à travers les barrières firewall. Les sessions peuvent être tronquées pour augmenter la largeur de bande. De plus, il est possible de tronquer des ID client pour regrouper plusieurs sessions sur une même ID client. Avec ces sessions, NFS peut être considéré comme un protocole véritablement stateful à «exactly-once semantics» (EOS). Jusqu à présent, on implémentait un cache réponse non 94
spécifique mais nécessaire dans le serveur NFS pour traiter les opérations RPC identiques transmises plusieurs fois. En pratique, cet état stateful n est cependant pas très stable et provoque parfois les fameuses «stale NFS handles». Avec NFS 4.1, le cache réponse est maintenant un composant obligatoire de l implémentation NFS, stockant sur disque de façon permanente les réponses du serveur aux requêtes RPC. Une autre nouveauté NFS 4.1 est la délégation des répertoires : il est possible d attribuer aux clients NFS un accès temporaire et exclusif aux répertoires. Auparavant, cela était possible uniquement pour les fichiers simples. Avec la publication de la version 4.2 du standard NFS, les systèmes de fichiers fédérés seront ajoutés, représentant l équivalent NFS du DFS (distributed file system) de Microsoft. 95
NFS EN PARALLÈLE LE NOUVEAU STANDARD DE STOCKAGE HPC de métadonnées enregistre le «lay-out», c est-à-dire quelles données sont stockées sur quelle unités de stockage et comment accéder aux fichiers. Au-delà de ces paramètres striping, le MDS gère également d autres métadonnées, y compris les droits d accès et similaires, normalement stockés sur l inode du fichier. FIGURE 2 SERVEUR MÉTADONNÉES Clients pnfs Serveur métadonnées NFS 4.1 Protocole d'accès stockage Protocole de contrôle Unité de stockage Les types de lay-out définissent quel protocole est utilisé par les clients pour accéder aux unités de stockage. Jusqu à maintenant, trois protocoles d accès potentiels ont été définis pour pnfs : fichier, bloc et basé objet, le premier étant décrit directement dans RC 5661, les suivants dans 5663 et 5664 respectivement. Enfin (mais pas des moindres), un protocole de contrôle est aussi utilisé par le MDS et les unités de stockage pour synchroniser les données de statut. Ce protocole n a délibérément pas été spécifié dans le standard pour laisser une certaine flexibilité aux constructeurs. Le standard NFS 4.1 spécifie néanmoins certaines conditions à remplir par le protocole de contrôle, par exemple la gestion des attributs change/modify time des fichiers. pnfs est compatible descendant avec les clients non pnfs mais compatibles NFS 4. Dans ce cas de figure, le MDS collecte lui-même les données sur les unités de stockage pour le client NFS et les lui présente via NFS 4. Le MDS se comporte comme une sorte de serveur proxy, ce que font par exemple les Directors Blades de Panasas. TYPES DE LAYOUTS PNFS Le mode fichier est utilisé lorsque les unités de stockage servent simplement de serveurs fichiers NFS 4. C est le seul protocole d accès stockage directement spécifié dans standard 96
NFS 4.1. En plus de la taille des stripes et de leur position (unité de stockage), il comprend également les file handles dont le client a besoin pour accéder aux différentes zones fichiers. Le mode fichier est compact et statique, les informations striping ne changent pas même en cas de modifications des fichiers permettant aux multiples clients pnfs de mettre simultanément le layout sur cache et éviter la synchronisation générale entre les clients et le MDS ou entre le MDS et les unités de stockage. Le mode fichier permet d implémenter les autorisations de système fichiers et les authentifications clients. Dans les cas où NFS 4 est utilisé comme protocole d accès stockage, l authentification client dépend simplement du type de sécurité utilisé. Par exemple, avec RPCSEC_GSS, l accès au client est kerberisé et le serveur contrôle les autorisations d accès par des ACL précises et des procédés cryptographiques. Par contraste, le mode bloc/ volume utilise des identifiants volume et des offsets et extensions de blocs pour spécifier un lay-out fichier. Les commandes blocs SCSI sont utilisées pour accéder aux unités de stockage. Le layout doit être mis à jour plus fréquemment que dans le mode fichier puisque la distribution des blocs peut changer lors de chaque accès en écriture. stockage devant alors faire confiance au client pnfs. C est un problème de contrôle d accès fondamental et récurrent dans l histoire du protocole NFS. Dans sa syntaxe, le mode objet est similaire au mode fichier, mais il utilise les jeux de commandes objets SCSI pour accéder aux données sur les unités de stockage objet (OSD) et repose largement sur le protocole DirectFLOW d ActiveScale PanFS signé Panasas. Dès le début, les unités de stockage objet ont été conçues pour la sécurité des authentifications et des accès. Le MDS attribue des «capacités» aux clients pnfs qui les utilisent pour l accès aux objets. La propriété de ces capacités représente un droit valable d accès à un objet. pnfs peut être mis à niveau pour intégrer d autres protocoles d accès stockage et systèmes d exploitation. Les constructeurs de stockage ont en outre la possibilité de fournir des pilotes de layout supplémentaires pour leurs implémentations pnfs. L accès par bloc aux unités de stockage n offre aucune option sécurisée d authentification pour l initiateur SCSI accédant. L autorisation SAN sécurisée est uniquement possible avec la granularité hôte, basée sur World Wide Names (WWN) avec Fibre Channel ou sur les noms de nœuds initiateurs (IQN) avec iscsi. Le serveur ne peut pas faire appliquer un contrôle d accès gouverné par le système de fichiers. Au contraire, c est au client de se plier volontairement aux droits d accès, l unité de 97
NFS EN PARALLÈLE STOCKAGE HPC PANASAS Fort de nombreuses années d expérience dans le déploiement de systèmes de fichiers parallèles, comme Lustre ou FraunhoferFS (FhGFS) allant de petites structures à des capacités de centaines de téraoctets et des débits de plusieurs gigaoctets par seconde, transtec a choisi Panasas, le leader des solutions de stockage HPC, comme partenaire pour offrir d une part haute performance et évolutivité et simplicité de gestion d autre part. Ainsi, avec le leader technologique Panasas et la riche expérience de transtec et son approche centrée sur le client, les clients sont sûrs d obtenir la meilleure solution de stockage HPC possible. 98
Le système de fichiers Panasas utilise des accès parallèles et redondants vers les systèmes de stockage d objet (OSDS), RAID par fichier, gestion de métadonnées distribuée, cache client cohérent, services de verrouillage de fichiers et gestion cluster interne pour proposer un système de fichiers haute performance distribué extensible, robuste et fiable. Le design en cluster et l exploitation de RAID piloté par client offre une performance évolutive à de nombreux clients concurrents de systèmes de fichiers grâce à un accès parallèle aux données fichiers réparties sur les nœuds de stockage OSD. La restauration RAID est effectuée en parallèle par le cluster de gestionnaires de métadonnées et le placement déclusterisé des données produit des taux de reconstruction RAID évoluant avec la taille du système de stockage. INTRODUCTION Les systèmes de stockage pour les environnements HPC doivent être conçus pour offrir des performances extensibles afin de pouvoir être configurés en fonction de la charge requise. Des techniques de clustering sont souvent utilisées pour obtenir cette évolutivité. Sur un cluster de stockage, de nombreux nœuds contrôlent chacun une partie du stockage et le système de fichiers distribué général assemble les éléments du cluster en un seul grand système de stockage cohérent. Le cluster de stockage peut être hébergé sur les mêmes ordinateurs qui traitent les données ou il peut s agir d un cluster distinct dédié exclusivement au stockage et accessible au cluster de calcul via un protocole de réseau. Le système de stockage Panasas est un cluster de stockage spécialisé et cette section présente son design et un certain nombre d indicateurs de performance illustrant son extensibilité. Le système Panasas est un système productif délivrant ses services à quelques uns des plus grands clusters de calcul au monde, dans les laboratoires scientifiques, dans le traitement de données sismiques, dans les studios d animation numérique, dans la dynamique des fluides numérique, la fabrication de semi-conducteurs et dans des environnements informatiques généralistes. Dans ces environnements, des centaines voire des milliers de clients de systèmes de fichiers partagent des données et génèrent une charge E/S agrégée très élevée sur le système de fichiers. Le système Panasas est conçu pour prendre en charge plusieurs milliers de clients et des capacités de stockage supérieures à un pétaoctet. Parmi les aspects uniques du système Panasas, on trouve l exploitation de RAID client par fichier, la restauration RAID parallèle, le traitement de différentes classes de métadonnées (bloc, fichier, système) et des serveurs lames basés sur du matériel de commodité avec onduleur intégré. Bien sûr, le système dispose de nombreuses autres fonctionnalités (stockage objet, tolérance aux erreurs, caching et cohérence cache, modèle de gestion simplifié) qui ne sont pas exclusives mais indispensables à la mise en place d un système évolutif. L ARRIÈRE-PLAN DES SYSTÈMES DE FICHIERS PANASAS Les deux thèmes majeurs du système sont le stockage objet qui concerne la gestion des données par le système de fichiers et la mise en cluster des composants qui permet au système d évoluer en matière de performance et de capacité. Stockage objet Un objet est une enveloppe contenant données et attributs, il est similaire à un inode sur une implémentation de système de fichiers UNIX traditionnel. Les nœuds de stockage spécialisés appelés «Object Storage Device» (OSD) sauvegardent les objets sur un système de fichiers OSDFS local. L interface objet adresse les objets dans un espace de nom à deux niveaux (ID partition/id objet). Le protocole OSD permet l accès orienté octet aux données, la manipulation des attributs, la création et la suppression d objets et plusieurs autres opérations spécialisées. Panasas se sert d un transport iscsi pour transmettre des 99
NFS EN PARALLÈLE STOCKAGE HPC PANASAS COMPOSANTS SYSTÈME PANASAS NŒUD DE CALCUL NFS/CIFS Client NŒUD DE GESTION RPC SysMgr PanFS NŒUD DE STOCKAGE Client iscsi/ OSD OSDFS commandes OSD très proches du standard osdv2 actuellement en vigueur sous SNIA et AnSI-T10. Le système de fichiers Panasas se place au-dessus du stockage objet. Chaque fichier est réparti sur deux objets ou plus pour assurer la redondance et un accès sur une bande passante large. La sémantique du système de fichiers est implémentée par les gestionnaires de métadonnées qui négocient l accès aux objets des clients du système de fichiers. Les clients accèdent au stockage d objet par protocole iscsi/osd pour les opérations de lecture et d écriture. Les opérations E/S continuent directement en mode parallèle vers les nœuds de stockage, contournant les gestionnaires de métadonnées. Les clients interagissent avec les gestionnaires de métadonnées hors bande via RPC pour obtenir les capacités d accès et les informations de positions des objets qui stockent les fichiers. Quant aux attributs d objets, ils sont utilisés pour sauvegarder les attributs de niveau fichier. Les répertoires sont implémentés à l aide d objets stockant la correspondance entre nom et ID d objet. Ainsi, les métadonnées du système de fichiers restent sur la mémoire objet elle-même plutôt que d être conservées dans une base de données séparée ou toute autre forme de stockage sur des nœuds de métadonnées. Composants logiciels du système Les sous-systèmes logiciels principaux sont le système de stockage objet OSDFS, le gestionnaire de métadonnées de système de fichiers Panasas, le client de système de fichiers Panasas, la passerelle NFS/CIFS et le système général de gestion de cluster. Le client Panasas est un module noyau installable qui fonctionne dans le noyau Linux. Le module noyau implémente l interface VFS standard afin que les hôtes client puissent monter le système de fichiers et utiliser une interface POSIX vers le système de stockage. Chaque nœud de cluster de stockage exploite une plateforme commune basée sur FreeBSD avec des services supplémentaires pour permettre l observation du matériel, 100
la gestion des configurations et le contrôle général. Les nœuds de stockage utilisent un système de fichiers local spécialisé (OSDFS) qui implémente les primitives de stockage d objets. Ils exécutent une cible iscsi et un jeu de commande OSD. La mémoire objet OSDFS et le processeur de commande cible iscsi/osd sont des modules noyaux. OSDFS s occupe des problèmes traditionnels de système de fichiers au niveau des blocs tels qu une utilisation efficace du bras de disque, la gestion des supports (par ex. le traitement des erreurs), le débit élevé et l interface OSD. Le gestionnaire de cluster (SysMgr) maintient la configuration globale et contrôle les autres services et nœuds du cluster de stockage. On trouve également une application liée de gestion qui offre à la fois un interface de ligne de commande (CLI) et une interface HTML (GUI). Il s agit d applications de niveau utilisateur qui opèrent sur un jeu sousjacent de nœuds du gestionnaire. Le gestionnaire de cluster gère les appartenances au cluster de stockage, la détection des erreurs, la gestion de configuration et le contrôle général des opérations comme les mises à niveau logicielles et les redémarrages système. Le gestionnaire de métadonnées Panasas (PanFS) implémente la sémantique du système de fichier et gère la répartition des données sur les OSD. Il s agit d une application de niveau utilisateur qui opère sur chaque nœud de gestion. Le gestionnaire de métadonnées se charge des questions problématiques de système de fichiers distribué telles que l accès multi-utilisateurs sécurisé, le maintien de la cohérence des métadonnées fichier/objet, la cohérence du cache client et la restauration après un crash du client, du nœud de stockage ou encore du serveur de métadonnées. La tolérance aux pannes est basée sur un log de transaction local répliqué sur une copie de secours sur un nœud de gestion différent. Les services NFS et CIFS permettent l accès au système de fichiers par des hôtes qui ne peuvent pas utiliser notre client installable de système de fichiers Linux. Le service NFS est une version retouchée du serveur NFS FreeBSD standard qui se trouve dans le noyau. Le service CIFS est basé sur Samba et fonctionne au niveau utilisateur. En retour, ces services utilisent une instance locale du client de système de fichiers qui se trouve dans le noyau FreeBSD. Ces services de passerelle opèrent sur chaque nœud de gestion pour permettre un service NFS et CIFS en cluster. Plateforme matérielle de commodité Les nœuds de cluster de stockage se présentent sous forme de lames très compactes, systèmes informatiques composés de matériel de commodité. Les lames sont mises en cluster pour offrir une plateforme extensible. Le module PSD StorageBlade et le module gestionnaire de métadonnées DirectorBlade utilise le même format de lame et s intègre dans les mêmes emplacements de châssis. Gestion de stockage Les tâches traditionnelles de gestion de stockage comprennent le partitionnement de l espace de stockage disponibles en LUN (c est-à-dire en unités logiques d un ou plusieurs disques ou sous-ensemble de matrice RAID), l octroi des LUN à différents hôtes, la configuration des paramètres RAID, la création de systèmes de fichiers ou de bases de données sur les LUN et la connexion des clients au bon serveur pour leur stockage. Cela peut exiger un travail immense. Panasas offre un modèle simplifié de gestion de stockage qui épargne tout ce genre de détails à l administrateur stockage et permet à un seul administrateur à temps partiel de gérer des centaines de téraoctets. Le système de stockage Panasas se présente comme un système de fichiers avec un interface POSIX et libère de la complexité de la gestion de stockage. Les clients disposent d un point de contact unique pour tout le système. Le fichier /etc/fstab référence le gestionnaire de cluster permettant ainsi au client de connaitre la position des instances de service de métadonnées. L administrateur peut ajouter des capacités de stockage tout en laissant le sys- 101
NFS EN PARALLÈLE STOCKAGE HPC PANASAS tème en ligne. Les nouvelles ressources sont détectées automatiquement. Pour gérer l espace de stockage disponible, Panasas présente deux concepts de stockage de base : un ensemble de stockage physique appelé BladeSet et une arborescence quota logique appelée volume. BladeSet est une série de modules StorageBlade sur une ou plusieurs étagères comprenant un domaine de défaut RAID. Panasas allège le risque causé par de grands domaines de défaut grâce à la performance extensible de restauration décrite ci-dessous. BladeSet constitue une barrière physique ferme pour les volumes qu il contient. BladeSet peut être étendu à n importe quel moment, soit en ajoutant des modules StorageBlade soit en fusionnant deux BladeSets déjà en place. 2011 Panasas Incorporated. Tous droits réservés. Panasas, le logo Panasas, Accelerating Time to Results, ActiveScale, DirectFLOW, DirectorBlade, StorageBlade, PanFS, PanActive et MyPanasas sont des marques déposées ou des marques appartenant à Panasas, Inc. aux États-Unis et d autres pays. Toutes les autres marques appartiennent à leurs propriétaires respectifs. Les informations fournies par Panasas, Inc. sont considérées comme exactes et fiables au moment de leur publication. Panasas, Inc. n est pas responsable des éventuelles erreurs pouvant apparaître dans le présent document. Panasas, Inc. se réserve le droit de modifier sans avertissement le design, les spécifications et les prix de ses produits. Les informations peuvent être modifiées sans avertissement. Le volume est une hiérarchie de répertoires limitée par un quota et assignée à un BladeSet donné. Le quota peut être modifié à tout moment et la capacité n est attribuée au volume que lorsqu elle est utilisée. Ainsi, plusieurs volumes concourent pour obtenir l espace disponible sur leur BladeSet et s étendre à la demande. Les fichiers présents dans ces volumes sont distribués sur les modules StorageBlade dans le BladeSet. Les volumes apparaissent comme des répertoires dans l espace de nom de système de fichiers. Les clients disposent d un seul point du montage pour l ensemble du système de stockage sous lequel les volumes sont de simples répertoires. Il n est pas nécessaire de mettre à jour les points de montage client lorsque l administrateur crée, supprime ou renomme des volumes. Équilibrage automatique des capacités Des déséquilibres de capacité surviennent lors de l expansion d un BladeSet (par ex. ajout de nouveaux nœuds de stockage vides), de la fusion de deux BladeSets ou encore du remplacement d un nœud de stockage suite à une défaillance. Dans ce dernier cas, le déséquilibre est dû à la restauration RAID qui utilise les espaces libres sur tous les nœuds de stockage plutôt 102
que de désigner un noeud particulier en tant que noeud hot spare. Certes, cela offre une meilleur débit lors de la restauration, cependant le système se retrouve avec un nouveau nœud de stockage vide après le remplacement du nœud défaillant. Sur un BladeSet, le système rééquilibre automatiquement les capacités des nœuds de stockage par deux mécanismes : l équilibrage passif et l équilibrage actif. L équilibrage passif modifie la probabilité qu un nœud de stockage soit utilisé pour un nouvel élément d un fichier en fonction de sa capacité disponible. C est le cas lorsque des fichiers sont créés et que leurs tailles de stripe sont étendues pour inclure plus de nœuds de stockage. Avec l équilibrage actif, un objet existant est déplacé d un nœud de stockage à un autre et le plan de classement pour le fichier concerné est mis à jour. Durant le transfert, le fichier est clairement protégé en écriture par la couche de gestion de stockage et les fichiers qui sont en train d être écrits sont ignorés par le système d équilibrage. Ainsi, la transparence de l équilibrage des capacités est assurée pour les clients du système de fichiers. RAID OBJET ET RESTAURATION Panasas protège contre la perte d objets-données ou d un nœud de stockage complet en répartissant les fichiers sur des objets stockés sur des nœuds de stockage différents et utilisant un algorithme de répartition tolérant aux pannes tel que RAID-1 ou RAID-5. Les petits fichiers sont mis en miroir sur deux objets et les fichiers plus volumineux sont répartis plus généreusement pour offrir un bande passante plus élevée et limiter les dépenses de capacité des informations de parité. La conception RAID par fichier signifie que les informations de parité de différents fichiers ne sont pas mélangées et permet facilement à différents fichiers d utiliser des schémas RAID différents les uns à côté des autres. Cette propriété et les mécanismes de sécurité du protocole OSD permettent d assurer le contrôle des accès aux fichiers même lorsque les clients accèdent directement aux nœuds de stockage. Cela permet également ce qui est sans doute l aspect le plus novateur de notre système : le RAID dirigé client. Cela veut dire que le client est responsable de la parité calcul/écriture. Les mécanismes de sécurité OSD permettent en outre à plusieurs gestionnaires de métadonnées de gérer des objets sur le même système de stockage sans surcharge ou interférence entre eux. Le RAID axé client par fichier offre quatre avantages pour les systèmes de stockage à grande échelle. Premièrement, les clients calculant eux-mêmes la parité pour leurs propres données, la puissance XOR du système s étend lorsque le nombre de clients augmente. Nous avons mesuré le traitement XOR à 7% du CPU client durant les chargements de bande passante en écriture continue, le reste des capacités CPU étant dévolu à la pile OSD/iSCSI/TCP/IP et à l overhead du système de fichiers. Déplacer le calcul XOR du système de stockage vers le client exige du travail supplémentaire pour le traitement des défaillances. Générer des données de qualité et assurer leur bonne parité est la responsabilité des clients. Le RAID étant géré fichier par fichier, un client qui commet une erreur ne pourra endommager que ses propres données. Néanmoins, si un client a une défaillance lors d une écriture, le gestionnaire de métadonnées gommera la parité pour garantir que l équation de parité soit correcte. Deuxièmement, avec RAID axé client, les clients peuvent vérifier l intégrité de leurs données de bout en bout. Les données doivent traverser le sous-système disque, l interface réseau sur les nœuds de stockage, le réseau ainsi que les routeurs et la carte réseau sur le client. Tous ces transits peuvent provoquer des erreurs à très basse probabilité. Les clients peuvent de choisir de lire la parité aussi bien que les données et vérifier la parité lors d une opération en lecture. Si des erreurs sont détectées, l opération sera répétée. Si l erreur persiste, une alerte est émise et l opération en lecture échoue. En vérifiant la parité sur l ensemble des nœuds de stockage sur le client, le système peut 103
NFS EN PARALLÈLE STOCKAGE HPC PANASAS GROUPES DE PARITÉ DÉCLUSTÉRISÉS A D e b D e h i m G i m A C D A b f G J K h j K b C f b C f h J K G i m C D e A e f G i m h J K assurer l intégrité des données de bout en bout. C est encore une nouvelle propriété innovante du RAID axé client par fichier. Troisièmement, la protection RAID par fichier permet aux gestionnaires de métadonnées de restaurer des fichiers en parallèle. Bien que la restauration en parallèle soit en théorie possible sur un RAID axé bloc, elle est rarement implémentée. Cela est dû au fait que les disques sont détenus par un seul contrôleur RAID, même dans des configuration à deux ports. Les grands systèmes de stockage sont équipés de multiples contrôleurs RAID qui ne sont pas connectés entre eux. Le jeu de commandes bloc SCSI ne fournissant pas d opérations de synchronisation poussé, les multiples contrôleurs RAID peuvent difficilement coordonner une opération compliquée telle qu une restauration en ligne sans communication externe. Et même s ils le pouvaient, les autres contrôleurs RAID seraient incapables de participer à la restauration sans connexion aux disques du groupe de parité concerné. Même dans une configuration à haute disponibilité, chaque disque est connecté typiquement à deux contrôleurs RAID différents, limitant le potentiel de l accélération au double seulement. Lorsqu un module StorageBlade est défaillant, les gestionnaires de métadonnées détenant les volumes sur ce BladeSet déterminent quels sont les fichiers affectés et sous-traitent ensuite les opérations de restauration à chacun des autres gestionnaires de métadonnées dans le système. Les gestionnaires de métadonnées restaurent d abord leurs propres fichiers, mais s ils terminent rapidement ou n ont aucun volume sur le BladeSet affecté, ils sont libres pour aider les autres gestionnaires de métadonnées. Les groupes de parité déclusterisés répartissent la charge de travail E/S sur tous les modules StorageBlade dans le BladeSet. Ainsi, les clusters de stockage volumineux peuvent restaurer des données perdues plus rapidement. Enfin, le quatrième avantage du RAID par fichier est la possibilité de limiter les erreurs irréparables à des fichiers individuels. Le scénario de défaillance double avec RAID-5 le plus fréquemment rencontré est l erreur de lecture irréparable (c.-à-d. 104
une défaillance support majeure) durant la restauration d un système de stockage défaillant. Le second système de stockage est toujours opérationnel, mais n a pas pu lire l un des secteurs, ce qui empêche la restauration du secteur perdu par le premier disque et éventuellement de toute la partition ou LUN en fonction du design du contrôleur RAID. Avec un RAID axé bloc, il est difficile voire impossible d indiquer la position des secteurs défaillants aux structures de données supérieures du système de fichiers et il faut donc réaliser une vérification du système de fichiers et un scan du support complets pour localiser et réparer les dommages. Une réponse plus courante est l échec complet de la restauration. Les contrôleurs RAID contrôlent les disques pour tenter de gommer les défaillances de support et éviter ce scénario négatif. Le système Panasas peut également réaliser ce gommage de support. Cependant, même avec des disques SATA à haute capacités, la probabilité d une défaillance support sur le disque B lors de la restauration du disque A reste élevée. Avec RAID-5 par fichier, ce type de défaillance double n entraine la perte que d un seul fichier facile à identifier et à indiquer à l administrateur. Tandis que les systèmes RAID axé bloc ont été contraints d introduire RAID-6 (c.-à-d. des systèmes de tolérance aux pannes surmontant deux défaillances), la solution Panasas est à même de déployer des systèmes RAID-5 hautement fiables au sein de grands ensembles de stockage à haute performance. Performance de restauration RAID La performance de restauration RAID détermine à quelle vitesse le système peut restaurer des données en cas de défaillance d un nœud de stockage. Des durées de restauration raccourcies réduisent la fenêtre durant laquelle une seconde défaillance peut entraîner la perte de données. Il y trois techniques pour réduire la durée des restaurations : réduire la taille des groupes de parité, déclustériser le placement des éléments du groupe de parité et restaurer les fichiers en parallèle en utilisant plusieurs moteurs RAID. La largeur de bande de restauration est la vitesse à laquelle les données restaurées sont écrites sur le système lors de la restauration d un nœud de stockage. Le système doit lire n fois plus qu il n écrit selon la taille du groupe de parité RAID. Le débit général du système de stockage est donc plusieurs fois supérieur à la vitesse de restauration. Un groupe de parité RAID plus petit exige moins d opérations XOR ou lecture pour la restauration et offre donc une bande passante de restauration plus large. Cependant, il entraîne également, plus de dépenses de capacité pour les données de parité et peut limiter la bande passante lors d E/S normales. Ainsi, le choix de la taille d un groupe de parité RAID est un compromis entre des dépenses de capacité, la performance en ligne et la performance de restauration. Le déclustering est plus simple à comprendre avec un schéma. Dans le schéma à gauche, chaque groupe de parité a quatre éléments indiqués par des lettres placées sur chaque système de stockage. Ils sont distribués entre 8 systèmes de stockage. Le rapport entre la taille du groupe de parité et les systèmes de stockage disponibles est le rapport de déclustering, dans notre exemple ½. Sur le schéma, les majuscules représentent les groupes de parité qui partagent le second nœud de stockage. Si le second système de stockage venait à tomber en panne, le système serait obligé de lire tous les membres subsistants de ses groupes de parité pour restaurer les éléments perdus. Vous pouvez voir que les autres éléments de ces groupes de parité occupent près de la moitié de chaque système de stockage. Pour cet exemple simple, estimez que tous les éléments de parité ont la même taille et que tous les systèmes sont symétriquement occupés. Dans un système réel, les objets composants auront des tailles diverses dépendantes de la taille générale du fichier bien que la taille de chaque membre du groupe de parité sera très proche. Il y aura des milliers ou des millions d objets sur chaque système et Panasas utilise l équilibrage actif pour déplacer les objets composants entre les nœuds de stockage pour équilibrer les capacités. Le déclustering signifie que la restauration exige de lire un sous- 105
NFS EN PARALLÈLE STOCKAGE HPC PANASAS CRÉER UN FICHIER 1. CRÉER 3. CRÉER Client Metadata Server OSDs 6. RÉPONDRE 2 8 4 5 7. ÉCRIRE oplog caplog Cache réponse Txn_log ensemble de chaque système, la proportion étant sensiblement égale au rapport de déclustérisation. Le volume total de données lues est le même avec ou sans déclustering, mais avec le déclustering, il est réparti sur des systèmes plus nombreux. Lors de l écriture des éléments restaurés, il est impossible de placer deux éléments d un même groupe de parité sur un même nœud de stockage. Le déclustering permet de conserver de nombreux systèmes de stockage disponibles pour les éléments de parité restaurés et le placement aléatoire du groupe de parité de chaque fichier permet au système de répartir les E/S en écriture sur l ensemble du stockage. Ainsi, le déclustering des groupes de parité RAID offre la possibilité importante de prendre un nombre donné d E/S de restauration et de le distribuer sur plus de systèmes de stockage. RAID par fichier permet au système Panasas de diviser le travail entre les modules DirectorBlade disponibles en assignant des fichiers différents à des modules DirectorBlade différents. Cette division est dynamique avec un modèle maître/exécutant simple dans lequel les services de métadonnées se mettent à disposition en tant qu exécutants et chaque service de métadonnées agit en tant que maître des volumes qu il implémente. En effectuant les restaurations en parallèle sur tous les modules DirectorBlade, le système dispose de plus de débit XOR et exploite la bande passante E/S supplémentaire obtenue grâce au déclustering. GESTION DES MÉTADONNÉES Dans le système Panasas, on trouve plusieurs types de métadonnées. Parmi elles, le plan de classement des ID objets sur des jeux d adresses de blocs, des fichiers de classement sur des jeux d objets, des attributs de système de fichiers tels que les ACL et les propriétaires, des informations d espace de nom de système de fichiers (par ex. des répertoires) et des information de configuration et de gestion du cluster de stockage lui-même. Métadonnées de niveau bloc Les métadonnées de niveau bloc sont gérées en interne par l OSDFS, système de fichier optimisé pour le stockage d objet. 106
OSDFS utilise un schéma d allocation de bloc flottant dans lequel les données, les pointeurs de blocs et des descripteurs objets sont mis en lots lors d opérations en écriture importantes. La mémoire tampon en écriture est protégée par la batterie intégrée et déposée sur disque en cas de coupure de courant ou d alarme du système. Dans les premières versions de l OSDFS qui utilisaient un allocateur allouant le premier bloc disponible de taille suffisante (first-fit), la fragmentation posait un problème, mais cela a été considérablement amélioré dans les versions suivantes qui utilisent un allocateur offrant le plus petit résidu (best fit). OSDFS sauvegarde les structures supérieures de données de systèmes de fichiers, telles que les partitions et les tableaux d objets, dans une structure de données en arbre B modifiée. Le classement en bloc pour chaque objet utilise un schéma direct/indirect/double indirect traditionnel. Les blocs libres sont suivis par une structure de données propriétaire similaire à bitmap et optimisée pour le compte de référence de copie sur écriture qui fait partie de la prise en charge intégrée par OSDFS des snapshots de copie sur écriture au niveau des partitions. La gestion des métadonnées de niveau bloc consomme la plupart des cycles dans les implémentations de systèmes de fichiers. En délégant la gestion du stockage à OSDFS, les gestionnaires de métadonnées Panasas ont amplement moins de travail que les gestionnaires de métadonnées de systèmes de fichiers SAN équivalents qui doivent suivre tous les blocs du système Métadonnées de niveau fichier Au-dessus de la couche bloc se trouvent les métadonnées des fichiers. Elles comprennent les informations visibles par l utilisateur comme le propriétaire, la taille et la date de modification ainsi que les informations internes identifiant quels objets stockent le fichier et comment les données sont réparties sur ces objets (par ex. le plan de classement de stockage du fichier). Notre système stocke ces métadonnées fichiers avec les attributs objets sur deux des n objets utilisés pour stocker les données du fichier. Le reste des objets ont des attributs de base comme leurs longueurs individuelles et dates de modification, mais les attributs de système de fichiers de niveau supérieur ne sont stockés que sur deux composants de stockage d attributs. Les noms de fichiers sont implémentés dans des répertoires similaires aux systèmes de fichiers UNIX traditionnels. Les répertoires sont des fichiers spéciaux qui stockent un ensemble d entrées de répertoires. Une entrée de répertoire identifie un fichier avec un ensemble <serviceid, partitionid, objectid> incluant deux champs <osdld> qui sont des indicateurs de la position des composants de stockage d attributs. partitionid/ objectid est le schéma de numérotation d objets à deux niveaux de l interface OSD et Panasas utilise une partition pour chaque volume. Les répertoires sont mis en miroir (RAID-1) dans deux objets pour assurer l efficacité des petites opérations en écriture dues aux mises à jour des répertoires. Les clients sont autorisés à lire, mettre en cache et analyser les répertoires ou ils peuvent utiliser une recherche RPC sur le gestionnaire de métadonnées pour transformer un nom en ensemble <serviceid, partitionid, objectid> et en indicateur de position <osdid>. serviceid est un indicateur du gestionnaire de métadonnées pour le fichier bien que les clients puissent être redirigés vers le gestionnaire de métadonnées qui contrôle le fichier au moment donné. L indicateur osdid devient obsolète si un objet est déplacé lors d une restauration ou d un équilibrage actif. Si les deux indicateurs osdid sont défaillants, le gestionnaire de métadonnées doit émettre une commande GetAttributes en multicast vers les nœuds de stockage dans le BladeSet pour localiser un objet. partitionid et objectid sont les mêmes sur tous les nœuds de stockage abritant un composant du fichier, garantissant que cette technique fonctionne à tous les coups. Une fois le fichier localisé, le gestionnaire de métadonnées met automatiquement à jour les indicateurs stockés dans le répertoire, permettant de sauter cette étape lors des accès ultérieurs. Les opérations fichiers peuvent exiger plusieurs opérations objets. Le schéma à gauche montre les étapes de la création d un 107
NFS EN PARALLÈLE STOCKAGE HPC PANASAS «Les solutions ActiveStor proposées par Panasas sont exceptionnelles dans le monde HPC et sans aucun doute les seules solutions de stockage HPC à combiner grandes évolutivité et performance à une facilité de gestion convaincante.» Thomas Gebert HPC Solution Engineer fichier. Le gestionnaire de métadonnées conserve un journal local des actions en cours. Il peut ainsi se restaurer après des défaillances objet et des crash de gestionnaires de métadonnées survenant au cours de la mise à jour de plusieurs objets. Par exemple, la création d un fichier est une tâche relativement complexe exigeant la mise à jour du répertoire parent ainsi que la création du nouveau fichier. Il y a donc deux opérations de création OSD pour créer les deux premiers composants du fichiers et deux opérations OSD en écriture, une pour chaque réplique du répertoire parent. Pour optimiser la performance, le serveur de métadonnées accorde également au client un accès au fichier en lecture et en écriture et rapporte au client les capacités appropriées dans les résultats filecreate. Le serveur réalise un enregistrement de ces capacités en écriture pour faciliter la restauration si un client crashe lors de l écriture du fichier. Il convient de noter que la mise à jour du répertoire (étape 7) se fait après la réponse permettant ainsi de mettre en lot plusieurs mises à jour de répertoire. La mise à jour différée est protégée par l oplog qui est supprimé à l étape 8 après la mise à jour réussie du répertoire. Le gestionnaire de métadonnées conserve un oplog qui enregistre les créations d objets et les mises à jour de répertoire en cours. Cette entrée du log est supprimée lorsque l opération est terminée. Si le service de métadonnées crashe et redémarre ou s il est déplacé sur un nœud de gestionnaire différent en raison d une défaillance, l oplog est analysé pour déterminer quelles opérations étaient actives au moment de la défaillance. Le gestionnaire de données réalise un retour des opération ou les fait avancer pour garantir la cohérence du stockage de l objet. Si aucune réponse à l opération n a été générée, il opère un retour (rollback). Si une réponse a été générée mais que certaines opérations sont encore ouvertes (par ex. mise à jour de répertoire), il fait avancer l opération. La capacité d écriture est stockée dans un caplog permettant au serveur de métadonnées de savoir lesquels de ses fichiers sont occupés lorsqu il démarre. En plus de la capacité en écriture renvoyée par filecreate, le client peut aussi exécuter un RPC Star- 108
twrite pour obtenir une capacité d écriture distincte. L entrée caplog est supprimée lorsque le client émet le cap d écriture via un sont effectuées au sein des transactions PTP afin qu elles selon le protocole PTP. Les mises à jour de bases de données RPC endwrite. Si le client rapporte une erreur durant ses E/S, un restent synchronisées. Enfin, le système conserve des copies enregistrement de réparation est créé et la réparation planifiée. de sauvegarde des bases de données de configuration système Les capacités de lecture et d écriture sont mises en cache par le sur plusieurs autres lames afin de se prémunir contre la perte client par plusieurs commandes système, réduisant encore plus de toutes les lames de gestionnaire système qui serait catastrophique. la circulation sur le serveur de métadonnées. La configuration des lames est extraite des gestionnaires Métadonnées de niveau système système à chaque séquence de démarrage de lame. Le contact La dernière couche de métadonnées est composée des informations sur le système général lui-même. L une des possibilités le système d exploitation local sur chaque lame extrait ensuite DHCP initial transmet les adresses des gestionnaires système et serait de stocker ces informations dans des objets et d autoamorcer (bootstrap) le système par un protocole de découverte. RPC. les informations de configuration des gestionnaires système via L aspect le plus difficile de cette approche est le modèle de L implémentation du gestionnaire de cluster se fait à deux défaillance. Le système doit être capable de démarrer et d être niveaux. La couche PTP de niveau inférieur gère les tours de contrôlable même s il n est que partiellement opérationnel. vote et s assure que les gestionnaires système partitionnés Panasas a choisi un autre modèle doté d un petit jeu répliqué de ou nouvellement ajoutés sont mis à jour avec le quorum. La gestionnaire de système dont chacun stocke une réplique des couche d application supérieure utilise l interface de vote et de métadonnées de configuration du système. Chaque gestionnaire de système tient une base de données locale en dehors du complexes peuvent requérir plusieurs étapes et le gestionnaire mise à jour pour prendre ses décisions. Les opérations système système de stockage objet. Berkeley DB est utilisé pour stocker système doit suivre leur progression afin de pouvoir surmonter les tableaux qui représentent notre modèle de système. Les un crash et une avance ou un retour. différentes instances de gestionnaire système font partie du jeu Par exemple, la création d un volume (c.-à-d. un arbre à quota) de réplication exploitant le protocole PTP (part-time parliament) comprend des opérations de système de fichiers pour créer un de Lamport pour prendre des décisions et mettre à jour les informations de configuration. Les clusters sont configurés avec une partition objet sous OSDFS sur chaque module Storage- répertoire de niveau supérieur, des opérations objet pour créer un, trois ou cinq gestionnaires de systèmes afin que le quorum Blade, des opérations service pour activer le gestionnaire de de vote soit un nombre impair et une partition de raison entraînera la désactivation automatique d une minorité de gestion- de configuration pour intégrer le nouveau volume. La restaura- métadonnées approprié et des opérations de bases de données naires de systèmes. tion est rendue possible par la présence de deux transactions Le statut de configuration système inclut le statut statique tels PTP. La transaction PTP initiale détermine si le volume doit être que l identité des lames dans le système et le statut dynamique crée et elle réalise un enregistrement du volume marqué comme incomplet. Ensuite, le gestionnaire système conduit toutes tel que le statut en ligne/hors ligne des différents services et les conditions d erreur associées aux différents composants les activations de services nécessaires et les opérations fichier système. Chaque décision de mise à jour de l état, qu il s agisse et stockage. Une fois toutes ces opérations terminées, une de mettre à jour le mot de passe administrateur ou d activer un transaction PTP finale confirme l opération. Si le gestionnaire service, comprend un tour de vote et un tour de mises à jour système crashe avant la transaction PTP finale, il détectera l opération incomplète lors du redémarrage et fera avancer ou reculer l opération. 109
INFORMATIQUE GPU AVEC NVIDIA L ARCHITECTURE CUDA
Au départ, les cartes graphiques étaient des pipelines graphiques à fonction fixe. Au fil des années, ces processeurs sont devenus de plus en plus programmables, ce qui a amené NVIDIA à développer les premiers GPU (Graphics Processing Unit). Entre 1999 et 2000, des chercheurs en imagerie médicale et en électromagnétique entre autre mais aussi et surtout des scientifiques informatiques ont commencé à utiliser les GPU pour exécuter des applications informatiques générales. Ils remarquèrent que l excellente performance des GPU en virgule flottante entraînait une explosion de la performance pour toute une série d applications scientifiques. Ce fût la naissance de la GPGPU (General Purpose computing on GPU). La difficulté était que la GPGPU exigeait une programmation des GPU en langage graphique tel qu OpenGL et Cg. Les développeurs devaient déguiser leurs applications scientifiques en applications graphiques et en faire des problèmes dessinant triangles et autres polygones. Cela limitait l accès de la science à la puissance des GPU. NVIDIA s est rendu compte qu il était possible d apporter cette puissance à une communauté scientifique plus large et a décidé d investir dans la modification des GPU afin de les rendre pleinement programmables pour les applications scientifiques et d ajouter des langages de haut-niveau comme C et C++. Cela a abouti à l architecture CUDA pour GPU. 111
NVIDIA GPU COMPUTING L ARCHITECTURE CUDA QU EST-CE QUE L INFORMATIQUE GPU? L informatique GPU, c est l utilisation d un GPU (graphics processing unit) pour l informatique scientifique et d ingénierie à caractère général. Le concept d informatique GPU utilise à la fois un CPU et un GPU dans un modèle informatique hétérogène. La partie séquentielle des applications est exécutée sur le CPU tandis que les parties à forte intensité de calcul sont traitées sur le GPU. Du point de vue de l utilisateur, l application est plus rapide puisqu elle exploite la puissance élevée du GPU pour accroître les performances. Le développeur doit modifier l application pour mapper les noyaux à calcul intensif sur le GPU. Le reste de l application demeure sur le CPU. Le mappage d une fonction sur GPU implique sa réécriture pour révéler le parallélisme dans la fonction et ajouter des mots-clefs «C» pour les allers-retours des données sur le GPU. «Nous sommes très fiers de faire partie des fournisseurs leaders de systèmes Tesla et d être capables de combiner la puissance impressionnante des systèmes NVIDIA Tesla avec le matériel transtec intensivement testé et à l ingénierie parfaite pour en faire une solution Tesla intégrale.» Norbert Zeidler Senior HPC Solution Engineer L informatique GPU est rendue possible par l architecture massivement parallèle des GPU NVIDIA, appelée architecture CUDA. L architecture CUDA consiste en centaines de cœurs de processeurs opérant ensemble pour traiter les données des applications. ARCHITECTURE PARALLÈLE CUDA ET MODÈLE DE PROGRAMMATION L architecture matérielle parallèle CUDA est accompagnée par le modèle de programmation parallèle CUDA qui fournit un jeu d abstractions permettant l expression du parallélisme à granularité fine ou grossière des données et des tâches. Le program- 112
FIGURE 1 L ARCHITECTURE PARALLÈLE CUDA C C++ Applications d'informatique GPU OpenCL DirectX Compute FORTRAN GPU NVIDIA dans l'architecture parallèle CUDA Java et Python meur peut choisir d exprimer le parallélisme par des langages de haut niveau tels que C, C++, Fortran ou des API pilotes comme OpenCL et DirectX-11 Compute. applications sur architecture CUDA peuvent profiter d une base installée de plus d une centaine de millions de GPU CUDA sur ordinateurs desktop et portables, stations de travail professionnelles et clusters de superordinateurs. Avec l architecture et les outils CUDA, les développeurs obtiennent des accélérations impressionnantes dans des domaines tels que l imagerie médicale et la prospection de ressources naturelles et créent des applications innovantes dans la reconnaissance d image et le codage et la lecture de vidéo HD en temps réel. CUDA autorise cette performance inédite via des API standards comme OpenCL et DirectX Compute (à paraître bientôt) et des langages de programmation de haut niveau comme C/ C++, Fortran, Java, Python et Microsoft.NET Framework. Le modèle de programmation parallèle CUDA guide les programmeurs dans la partition des problèmes en sous-problèmes grossiers pouvant être résolus de manière indépendante et parallèle. Le parallélisme à granularité fine dans les sous-problèmes est exprimé pour que chaque sous-problème puisse être résolu en parallèle de façon coopérative. L architecture GPU CUDA et le modèle parallèle CUDA correspondant sont maintenant largement déployés avec des centaines d applications et presque un millier de rapports d études. INFORMATIQUE GPU AVEC CUDA La technologie CUDA NVIDIA exploite la puissance de calcul massivement parallèle des GPU NVIDIA. L architecture CUDA est une architecture parallèle révolutionnaire qui met à la disposition de l informatique GPU générale la performance des processeurs graphiques NVIDIA reconnus dans le monde entier. Les CUDA : DE LA PERSPECTIVE DES DÉVELOPPEURS Le paquet CUDA comprend trois composants importants : l API pilote CUDA (aussi appelée low-level API), les outils CUDA (l environnement de développement lui-même, y compris les bibliothèques runtime) et un Software Development Kit (CUDA SDK) avec des exemples de codes. La boîte à outils CUDA est en fait un environnement de développement C et inclut le compilateur (nvcc) lui-même, une mise à jour du compilateur PathScale C, des bibliothèques FFT et BLAS optimisées, un profileur visuel (cudaprof), un debugger à base gdb (cudagdb), des bibliothèques partagées pour l environnement runtime des programmes CUDA (Runtime API) et enfin (mais pas des moindres), une documentation exhaustive (y compris un manuel développeur). Le SDK CUDA comprend des exemples de codes sources pour le calcul de matrices, des générateurs de nombres pseudo-aléatoires, la convolution d image, le calcul d ondelettes et bien plus encore. 113
INFORMATIQUE GPU AVEC NVIDIA L ARCHITECTURE CUDA L ARCHITECTURE CUDA On trouve plusieurs composants dans l architecture CUDA : Moteurs de calcul parallèles dans les GPU NVIDIA Prise en charge SE (niveau noyau) pour l initialisation du matériel, la configuration, etc. Pilote en mode utilisateur avec API d unité pour les développeurs Architecture de jeux d instructions (ISA) PTX pour les noyaux et les fonctions parallèles FIGURE 2 LE MODÈLE DE PROGRAMMATION CUDA API d'unité Intégration langage Applications sous DirectX Applications sous OpenCL Applications sous API pilote CUDA Applications sous C, C++, Fortran, Java, Python HLSL Compute Shaders Noyaux OpenCL C Noyaux C for CUDA Fonctions de calcul C for CUDA DirectX Compute Pilote OpenCL C Runtime pour CUDA Pilote CUDA PTX (ISA) 4 3 Prise en charge CUDA sur noyau SE Moteurs calcul CUDA parallèle sur GPU NVIDIA 2 1 L environnement de développement logiciel CUDA prend en charge deux types d interfaces de programmation : une interface de programmation unité dans laquelle l application utilise directement DirectX Compute, OpenCL ou l API pilote CUDA pour configurer le GPU, démarrer les noyaux de calcul et lire les résultats et une interface de programmation à intégration de langage dans laquelle l application utilise le runtime C pour CUDA et les développeurs utilisent un petit jeu d extensions pour indiquer quelles fonctions de calcul doivent être exécutées sur le GPU au lieu du CPU. 114
Quand ils utilisent les interfaces de programmation unités, les développeurs rédigent les noyaux dans des fichiers séparés en utilisant le langage noyau accepté par l API choisie. Les noyaux DirectX Compute (compute shaders) sont rédigés en HLSL. Les noyaux OpenCL sont rédigés dans un langage similaire au C et appelé OpenCL C. L API pilote CUDA accepte les noyaux rédigés en C ou assembleur PTX. Quand ils utilisent l interface de programmation à intégration de langage, les développeurs rédigent les fonctions de calcul en C et le runtime C pour CUDA se charge automatiquement du paramétrage du GPU et de l exécution des fonctions. Cette interface de programmation permet aux développeurs d exploiter la prise en charge des langages de haut-niveau comme C, C++, Fortran, Java, Python, etc. pour réduire la complexité des codes et les coûts de développement par l intégration des types et des codes : l intégration des types permets aux types standards, aux types vecteurs et aux types utilisateurs (y compris structs) d être utilisés sans interruption entre les fonctions exécutées sur le CPU et celles exécutées sur le GPU. L intégration des codes permet à une même fonction d être activée depuis des fonctions exécutées sur le CPU et des fonctions exécutées sur le GPU. Quand il est nécessaire de différencier les fonctions à exécuter sur le CPU de celles à exécuter sur le GPU, on utilise le terme C pour CUDA pour décrire le petit jeu d extensions qui permet aux développeurs de spécifier quelles fonctions seront exécutées sur le GPU, comment la mémoire GPU sera exploitée et comment les capacités de calcul parallèle du GPU seront utilisées par l application. L ARCHITECTURE G80 NVIDIA GeForce 8800 est le produit qui a donné le jour au nouveau modèle d informatique GPU. Présenté en novembre 2006, GeForce 8800 (basé sur G80) a apporté quelques innovations clés à l informatique GPU : G80 était le premier GPU à prendre en charge C, permettant aux programmeurs d exploiter la puissance GPU sans avoir à apprendre un nouveau langage de programmation. G80 était le premier GPU à remplacer les pipelines vertex et pixel séparés par un processeur unique exécutant vertex, géométrie, pixels et programmes informatiques. G80 était le premier GPU à utiliser un processeur thread scalaire, éliminant l administration manuelle des registres de vecteurs par les programmeurs. G80 a introduit le modèle d exécution SIMT (single-instruction multiple-thread) dans lequel plusieurs threads indépendants exécutent simultanément une même instruction. G80 a introduit la mémoire partagée et la synchronisation des barrières pour la communication entre les threads. En juin 2008, NVIDIA a présenté une révision majeure de l architecture G80. L architecture unifiée de seconde génération, GT200 (d abord introduite aux GPU GeForce GTX 280, Quadro FX 5800 et Tesla T10) a multiplié le nombre de cœurs de processeur de flux (plus tard appelés cœurs CUDA) de 128 à 240. Chaque registre de processeur a vu sa taille doubler, permettant à un nombre plus important de threads d être exécutés sur processeur à n importe quel moment. La coalescence d accès à la mémoire matérielle a été rajoutée pour améliorer l efficience des accès mémoire. On a ajouté également la prise en charge de la virgule flottante en 115
INFORMATIQUE GPU AVEC NVIDIA NOM DE CODE «FERMI» double précision pour répondre aux besoins des applications scientifiques et HPC. La philosophie de NVIDIA dans la conception de chaque nouvelle génération de GPU a toujours été d améliorer à la fois les performances des applications et la programmabilité des GPU. Certes des applications plus rapides apportent des avantages immédiats. Cependant, c est l avancée constante de la programmabilité des GPU qui leur a permis de devenir les processeurs parallèles les plus versatiles de notre époque. FIGURE 3 SOUS-SYSTÈME MÉMOIRE AMÉLIORÉ DRAM GigaThread Interface hôte DRAM Cache L2 DRAM DRAM DRAM DRAM NOM DE CODE «FERMI» L architecture Fermi est l avancée la plus significative en matière d architecture GPU depuis le G80 original. Ce G80, c était la première vision de ce à quoi devraient ressembler, une fois unifiés, processeur graphique et unité de calcul parallèle. GT200 a ensuite amélioré les performances et les fonctionnalités de G80. Avec Fermi, NVIDIA a exploité toutes les connaissances acquises avec les deux processeurs précédents et les applications développées pour eux ; elle a également suivi une approche radicalement nouvelle pour créer le premier GPU computationnel au monde. Quand elle a commencé à poser les fondations de Fermi, NVIDIA a rassemblé le feedback des utilisateurs en matière d informatique GPU et s est concentrée sur l amélioration des points suivants : Meilleure performance en double précision : Tandis que la performance en simple précision avec une virgule flottante était environ dix fois supérieure à celles des CPU desktop, certaines applications d informatique GPU nécessitaient aussi une meilleure performance en double précision. Prise en charge ECC : ECC permet aux utilisateurs d informatique GPU de déployer 116
un grand nombre de GPU dans des centres de données et de s assurer que les applications de données sensibles (par ex. imagerie médicale ou calculs des prix en options financières) sont protégées contre les erreurs de mémoire. Véritable hiérarchie de caches : Certains algorithmes parallèles n étaient pas en mesure d utiliser la mémoire partagée du GPU et les utilisateurs exigeaient une véritable architecture cache pour les aider. Plus de mémoire partagée : De nombreux programmeurs CUDA avaient besoin de plus que 16 Ko de mémoire partagée par SM (multiprocesseurs de flux) pour accroître la vitesse de leurs applications. Commutation de tâches plus rapide : Les utilisateurs réclamaient une commutation de tâches entre applications plus rapide ainsi qu une accélération des opérations entre processeurs graphiques et unités de calculs. Opérations atomiques plus rapides : Les utilisateurs souhaitaient des opérations atomiques plus rapides en read-modify-write pour leurs algorithmes parallèles. Guidée par ces attentes, l équipe Fermi a développé un processeur qui accroît de façon importante la puissance de calcul brute et qui offre, par ses innovations architecturales, une augmentation significative de la programmabilité et de la productivité de calcul. Les points forts de Fermi sont : Multiprocesseur de flux (SM) de troisième génération : - 32 cœurs CUDA par SM, 4x plus que GT200 - Performance de pointe virgule flottante en double précision 8 fois supérieure à GT200 - Le planificateur Dual Warp planifie et assigne les instructions à partir de deux warps indépendants. - 64 Ko de RAM avec partition de mémoire configurable et cache L1 ISA d exécution des threads en parallèle de seconde génération : - Espace d adressage unifié avec support C++ intégral - Optimisée pour OpenCL et DirectCompute - Précision IEEE 754-2008 intégrale en 32-bit et 64-bit - Chemin d entiers 32-bit intégral avec extensions 64-bit - Instructions d accès mémoire pour la transition vers l adressage 64-bit - Performance accrue grâce à la prédiction de branchement Sous-système mémoire optimisé : - Hiérarchie NVIDIA parallèle DataCache avec caches L1 configuré et L2 unifié - Premier GPU avec support mémoire ECC - Performance de mémoire d opérations atomiques fortement améliorée Moteur NVIDIA GigaThread : - Commutation de tâches entre applications 10 fois plus rapide - Exécution de noyaux simultanée - Exécution out-of order des blocs de threads - Moteurs de transfert de mémoire dual en chevauchement L ARCHITECTURE FERMI EN BREF Le premier GPU sur Fermi compte 3,0 milliards de transistors et jusqu à 512 cœurs CUDA. Un cœur CUDA exécute une instruction avec virgule flottante ou avec entier par cycle d horloge pour un thread. Les 512 cœurs sont organisés en 16 SM de 32 cœurs chacun. Le GPU dispose de six partitions de mémoire 64-bit pour une interface mémoire totale à 384-bit prenant en 117
INFORMATIQUE GPU AVEC NVIDIA NOM DE CODE «FERMI» charge jusqu à 6 Go de mémoire DRAM GDDR5. Une interface hôte connecte le GPU à la CPU via PCI-Express. Le planificateur général GigaThread distribue les blocs de threads aux planificateurs de threads SM. MULTIPROCESSEUR DE FLUX DE TROISIÈME GÉNÉRATION Le multiprocesseur de flux (SM) apporte plusieurs innovations dans l architecture qui en font non seulement le SM le plus puissant jamais construit mais aussi le plus programmable et le plus efficace. FIGURE 4 MULTIPROCESSEUR DE FLUX DE TROISIÈME GÉNÉRATION Cœur CUDA Port distribution Collecteur opérande Unité FP Unité INT File de résultats Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Planificateur warp Unité distribution Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cache instructions Fichier registre (4096 32bit) Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Cœur Planificateur warp Unité distribution LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST LD/ST Réseau interconnecteurs Mémoire partagée 69 Ko/cache L1 Cache uniforme 64 Ko SGU SGU SGU SGU 512 CŒURS CUDA HAUTE PERFORMANCE Chaque SM dispose de 32 processeurs CUDA, quatre fois plus que les SM précédents. Chaque processeur CUDA dispose d une unité arithmétique et logique (UAL) d entiers et d une unité à virgule flottante (FPU) intégralement pipelinées. Les GPU précédents utilisaient l arithmétique en virgule flottante IEEE 754-1985. L architecture Fermi implémente le nouveau standard à virgule flottante IEEE 754-2008, fournissant l opérateur FMA (fused multiply-add) à la fois pour l arithmétique en simple et double précision. Par rapport à MAD (multiply-add), FMA présente l avantage de réaliser la multiplication et l addition avec une étape finale unique d arrondi sans perte de précision dans l addition. Le mode FMA est plus précis que l exécution séparée des opérations. GT200 a implémenté FMA en double précision. Dans GT200, l UAL d entiers était limitée à la précision 24-bit pour les multiplications. C est pourquoi des séquences d émulation multi-instruction étaient nécessaires pour l arithmétique des entiers. Avec Fermi, la nouvelle UAL d entiers prend en charge la précision 32-bit pour toutes les instructions, en conformité avec les exigences standards de langages de programmation. L UAL d entiers a en outre été optimisée pour prendre en charge les opérations de précision 64-bit et étendues. Différentes instructions sont prises en charge : Boolean, shift, move, compare, convert, bit-field extract, bit-reverse 118
insert et population count. FIGURE 5 PERFORMANCE DES APPLICATIONS EN DOUBLE PRECISION 450% 16 unités de chargement/stockage Chaque SM dispose de 16 unités de chargement/stockage, permettant aux adresses d origine et de destination d être calculées à raison de 16 threads par cycle d horloge. Les unités de support chargent et stockent les données à chaque adresse sur cache ou DRAM. 400% 350% 300% 250% 200% 150% 100% 50% Architecture GT200 Architecture Fermi Quatre unités à fonction spéciale Les unités à fonction spéciale (SFU) exécutent des instructions transcendantes telles que sinus, cosinus, réciproque et racine carré. Chaque SFU exécute une instruction par thread et par cycle d horloge ; un warp exécute sur 8 cycles. Le pipeline SFU est désolidarisé de l unité de distribution permettant à cette dernière d émettre vers d autres unités d exécution lorsque la SFU est occupée. Conçu pour la double précision L arithmétique en double précision est au cœur des applications HPC comme l algèbre linéaire, la simulation numérique et la chimie quantique. L architecture Fermi a été développée spécialement pour offrir une performance inégalée en double précision : il est possible d effectuer jusqu à 16 opérations FMA en double précision par SM et par cycle, une amélioration considérable par rapport à l architecture GT200. 0% Double précision Multiplication matrices PLANIFICATEUR DUAL WARP Le SM planifie les threads par groupes de 32 threads parallèles appelés warps. Chaque SM dispose de deux planificateurs warp et deux unités de distribution permettant à deux warps d être émis et exécutés simultanément. Le planificateur dual warp de Fermi choisit deux warps et émet une instruction depuis chaque warp vers un groupe de seize cœurs, seize unités de chargement/stockage ou quatre SFU. Les warps étant indépendants, le planificateur Fermi n a pas besoin de vérifier les dépendances dans le flux d instruction. Grâce à ce modèle élégant d émission duale, Fermi atteint presque les performances de pointe du matériel. La plupart des instructions peut être émise en dual : deux instructions d entiers, deux instructions de flottantes ou un ensemble mixte d entiers et de virgule flottante, chargement, stockage et des instructions SFU peuvent être émises en même temps. Les instructions en double précision ne prennent pas en charge la distribution duale avec d autres opérations. Mémoire partagée configurable 64 Ko et cache L1 La mémoire partagée on-chip est l une des innovations architec- FIGURE 6 PLANIFICATEUR DUAL WARP Planificateur warp Double précision Solveur tridiagonal Planificateur warp temps Unité distribution des instructions Unité distribution des instructions Warp 8 Instruction 11 Warp 9 Instruction 11 Warp 2 Instruction 42 Warp 3 Instruction 33 Warp 14 Instruction 95 Warp 15 Instruction 95 Warp 8 Instruction 12 Warp 9 Instruction 12 Warp 14 Instruction 96 Warp 3 Instruction 34 Warp 2 Instruction 43 Warp 15 Instruction 96 119
INFORMATIQUE GPU AVEC NVIDIA NOM DE CODE «FERMI» Radix Sort using Shared Memory FIGURE 7 TRI PAR BASE SUR MÉMOIRE PARTAGÉE 500% 450% 400% 350% 300% 250% 200% 150% 100% 50% 0% NVIDIA, GeForce, Tesla, CUDA, PhysX, GigaThread, NVIDIA Parallel DataCache et d autres marques et logos figurant dans cette brochure sont des marques déposées ou des marques appartenant à NVIDIA Corporation. Architecture GT200 Architecture Fermi Exploitant les 48 Ko de mémoire partagée sur Fermi, le tri par base est exécuté 4,7x plus vite que sur GT200. turales majeures améliorant grandement la programmabilité et la performance des applications GPU. La mémoire partagée permet aux threads d un bloc de coopérer et facilite la réutilisation extensive des données sur processeur et réduit de façon importante la circulation off-chip. La mémoire partagée est l un des facteurs clés de la haute performance des applications CUDA. G80 et GT200 disposent de 16 Ko de mémoire partagée par SM. Dans l architecture Fermi, chaque SM dispose de 64 Ko de mémoire on-chip pouvant être configurés pour 48 Ko de mémoire partagée et 16 Ko de cache L1 ou 16 Ko de mémoire partagée et 48 Ko de cache L1. Radix Sort using Shared Memory Pour les applications grandes consommatrices de mémoire 500% 450% partagée, tripler le volume de mémoire partagée permet de 400% grandes avancées de performance, en particulier pour les 350% 300% problèmes limités par la largeur de bande. Pour les applications qui utilisent la mémoire partagée comme un cache à 250% 200% 150% gestion logicielle, le code peut être traité de façon à profiter 100% du système cache matériel tout en ayant toujours accès à au 50% moins 0% 16 Ko de mémoire partagée pour la coopération thread Architecture GT200 Architecture Fermi explicite. Encore mieux, les applications n utilisant pas de Exploitant les 48 Ko de mémoire partagée sur Fermi, le tri par base est exécuté 4,7x plus vite que sur GT200. mémoire partagée bénéficient automatiquement du cache L1 permettant aux programmes CUDA à haute performance d être conçus PhysX en un Fluid minimum Collision de for temps Convex et Shapes d effort. FIGURE 8 COLLISION FLUIDE PHYSX POUR FORMES CONVEXES 300% 250% 200% 150% 100% 50% 0% Architecture GT200 Architecture Fermi Les algorithmes physiques tels que les simulations de fluide profitent particulièrement des caches de Fermi. Pour les collisions de formes convexes, Fermi est 2,7x plus rapide que GT200. PhysX Fluid Collision for Convex Shapes 300% 120
GPU G80 GT200 Fermi Transistors 681 millions 1.4 milliards 3.0 milliards Cœurs CUDA 128 240 512 Fonctionnalité virgule flottante en double précision Fonctionnalité virgule flottante en simple précision Special Function Units (SFUs)/SM Non 30 ops FMA/cycle 256 ops FMA/cycle 128 ops MAD/cycle 240 ops MAD/cycle 512 ops MAD/cycle 2 2 4 Planificateurs warp (par SM) 1 1 2 Mémoire partagée (par SM) 16 Ko 16 Ko Configurable 48 Ko ou 16 Ko Cache L1 (par SM) Non Non Configurable 16 Ko ou 48 Ko Cache L2 Non Non 768 Ko Prise en charge mémoire ECC Non Non Oui Noyaux simultanés Non Non Jusqu à 16 Adressage chargement/ stockage 32-bit 32-bit 64-bit PLANIFICATEUR DE THREADS GIGATHREAD Le planificateur de thread 2 niveaux distribué est l une des technologies les plus importantes de l architecture Fermi. Au niveau processeur, un moteur général de distribution de travaux planifie les blocs de threads sur les différents SM tandis qu au niveau SM, chaque planificateur warp distribue des warps de 32 threads à ses unités d exécution. Le moteurs GigaThread de première génération introduit par G80 gérait jusqu à 12 288 threads en temps réel. L architecture Fermi améliore cette base en offrant non seulement un débit de thread plus important mais une commutation de tâches considérablement plus rapide, une exécution simultanée des noyaux et une planification optimisée des blocs de threads. Commutation de tâches entre applications 10 fois plus rapide Comme les CPU, les GPU sont capables de multitasking grâce à la commutation de tâches, chaque programme recevant une tranche de temps des ressources du processeur. Le pipeline Fermi est optimisé pour réduire le coût de la commutation de tâches entre applications en-deçà de 25 microsecondes, une amélioration significative par rapport aux GPU de la dernière génération. Au-delà de cette amélioration de performance, cela permet aux développeurs de créer des applications exploitant mieux la fréquente communication noyau-noyau comme l interopération à granularité fine entre les applications graphiques et PhysX. 121
temps temps INFORMATIQUE GPU AVEC NVIDIA DÉCOUVREZ NVIVIA PARALLEL NSIGHT FIGURE 9 EXÉCUTION DE NOYAUX SÉRIE Noyau 1 Noyau 4 Noyau 3 Noyau 2 Noyau 5 FIGURE 10 EXÉCUTION DE NOYAUX SIMULTANÉE Noyau 1 Noyau 2 Noyau 3 Noyau 5 Noyau 4 temps Exécution de noyaux simultanée Fermi prend en charge l exécution de noyaux simultanée ; les différents noyaux d une même application peuvent être exécutés en même temps sur le GPU. L exécution simultanée permet aux programmes exécutant un certain nombre de petits noyaux d exploiter l intégralité du GPU. Par exemple, un programme PhysX peut impliquer un solveur de fluides et un solveur de corps rigides qui n utilisent que la moitié des processeurs thread disponibles quand ils sont traités de façon consécutive. Noyau 1 Sur Noyau l architecture 2 Fermi, différents noyaux d un même contexte CUDA peuvent être exécutés simultanément pour une exploitation maximale des 4 ressources GPU. Les noyaux de différentes Noyau 3 Noyau applications peuvent continuer à être traités consécutivement Noyau 5 et avec efficience grâce à la commutation de tâches améliorée. DÉCOUVREZ NVIVIA PARALLEL NSIGHT NIVIDIA Parallel Nsight est le premier environnement de développement conçu spécifiquement pour prendre en charge les applications CUDA massivement parallèles en C, OpenCL et DirectCompute. Il comble le fossé de productivité entre les codes CPU et GPU en introduisant le debugging de code source matériel parallèle et l analyse de performance directement dans Microsoft Visual Studio, l environnement intégré de développement d application sous Microsoft Windows le plus utilisé. Parallel Nsight permet aux développeurs Visual Studio de rédiger et de débugger du code source GPU en utilisant exactement les mêmes outils et interfaces que pour du code CPU, y compris les points d arrêt source et données et l inspection de mémoire. De plus, Parallel Nsight étend les fonctionnalités de Visual Studio en proposant des outils de gestion du parallélisme massif tels que la possibilité de sélectionner et débugger un thread unique parmi des milliers de threads parallèles ou de visualiser simplement et efficacement les résultats calculés par tous les threads parallèles. Parallel Nsight est l environnement parfait pour développer des applications en co-processing exploitant à la fois le CPU et le GPU. Il saisit les événements et les informations des deux processeurs et les présente au développeur sur une seule 122
frise chronologique commune. Cela permet aux développeurs d observer le comportement de leurs applications et leurs performances sur l ensemble du système plutôt que d avoir à consulter des aperçus restreints à un sous-système ou processeur particulier. Parallel Nsight is the perfect environment to develop coprocessing applications that take advantage of both the CPU and GPU. It captures performance events and information across both processors, and presents the information to the developer on a single correlated timeline. This allows developers to see how their application behaves and performs on the entire system, rather than through a narrow view that is focused on a particular subsystem or processor. Parallel Nsight Debugger pour l informatique GPU Débugger votre code source CUDA C/C++ et DirectCompute directement sur le matériel GPU Seule solution de débugging GPU sur le marché, il accroît grandement la vitesse et l exactitude. Utiliser les fenêtres familières Visual Studio : Locals, Watches, Memory et Breakpoints Parallel Nsight Analysis pour l informatique GPU Isoler les goulots d étranglement de performance grâce à l aperçu des événements CPU/GPU sur l ensemble du système Prise en charge des API les plus importantes, y compris CUDA C/C++, OpenCL et Microsoft DirectCompute FIGURE 11 DEBUGGER POUR L INFORMATIQUE GPU FIGURE 12 OUTILS D ANALYSE POUR L INFORMATIQUE GPU 123
INFORMATIQUE GPU AVEC NVIDIA DÉCOUVREZ NVIVIA PARALLEL NSIGHT Parallel Nsight Debugger pour la conception graphique Débugger les shaders HLSL directement sur le matériel GPU. Améliorer grandement la vitesse et l exactitude du debugging par debugging émulé (logiciel). Utiliser les fenêtres familières Visual Studio : Locals, Watches, Memory et Breakpoints avec les shaders HLSL, y compris du code DirectCompute. Le debugger prend en charge tous les types de shaders : vertex, pixel, géométrie et tessellation. FIGURE 13 DEBUGGER POUR LE DÉVELOPPEMENT GRAPHIQUE 124
Parallel Nsight Graphics Inspector pour le développement graphique Graphics Inspector saisit les images rendues en Direct3D pour un contrôle en temps réel. Le profileur d image détecte automatiquement les goulots d étranglement et les informations sur la performance par appel. Pixel History vous présente toutes les opérations ayant affecté un pixel donné. FIGURE 14 GRAPHICS INSPECTOR POUR LE DÉVELOPPEMENT GRAPHIQUE transtec s est efforcé de développer des solutions d informatique GPU à l ingénierie bien pensée depuis le début de l ère Tesla. Des stations de travail GPU à haute performance aux solutions serveurs Tesla sur racks, transtec dispose d une riche palette de systèmes spécifiques. NVIDIA Tesla Preferred Provider (TPP), transtec est à même de fournir à ses clients la dernière technologie GPU NVIDIA, des systèmes hybrides complets et des clusters Tesla préconfigurés. Ainsi, les clients sont sûrs que la grande expérience de transtec en solutions de clusters HPC s intègre parfaitement au monde de l informatique GPU. L ingénierie performance signée transtec. 125
INFORMATIQUE GPU AVEC NVIDIA INFINIBAND ET GPU QLOGIC TRUESCALE QLogic est un leader mondial et un innovateur technologique en matière de mise en réseau haute performance : adaptateurs, switches et ASIC. APERÇU OPÉRATIONNEL Le besoin croissant du marché informatique haute performance en termes de rapidité de déploiement des solutions et d aptitude à explorer des modèles en expansion semble irrépressible, nécessitant des clusters HPC toujours plus rapides. Cela a incité de nombreux utilisateurs HPC à mettre en place des unités de traitement graphique (GPU) dans leurs clusters. Alors qu ils étaient traditionnellement utilisés exclusivement dans le domaine de la visualisation ou de l animation, les GPU servent aujourd hui de processeurs extrêmement parallèles et entièrement programmables permettant ainsi de diviser les tâches informatiques et de les traiter simultanément sur les nombreux processeurs du GPU. Lorsque plusieurs GPU sont intégrés à un cluster HPC, le potentiel de performance du cluster est décuplé. Cet environnement de traitement permet aux scientifiques et aux chercheurs de s attaquer à quelques-uns des problèmes informatiques les plus complexes au monde. Les applications HPC modifiées pour profiter des capacités de traitement du GPU peuvent bénéficier de gains de performance considérables par rapport aux clusters implémentés avec des processeurs classiques. Pour obtenir ces résultats, les clusters HPC disposant de plusieurs GPU requièrent une interconnexion haute performance pour gérer les communications entre GPU et optimiser le potentiel de performance global des GPU. Dans la mesure où les GPU imposent des exigences considérables à l interconnexion, une interconnexion haute performance, telle qu InfiniBand, est nécessaire pour fournir le taux de message élevé à faible latence et la bande passante requis pour per- 126
mettre à toutes les ressources du cluster de fonctionner à des performances de pointe. QLogic a travaillé de concert avec NVIDIA pour optimiser l interconnexion QLogic TrueScale InfiniBand grâce aux technologies GPU NVIDIA. Cette solution prend en charge le potentiel haute performance des GPU NVIDIA via une interface simple à déployer et à entretenir. Points-clés Jusqu à 44 % d amélioration de la performance du GPU par rapport à l implémentation sans GPUDirect, un produit informatique GPU de NVIDIA qui accélère les communications entre le GPU et InfiniBand QLogic TrueScale InfiniBand offre des performances de GPU jusqu à 10 % supérieures à celles des autres interconnexions InfiniBand Facilité d installation et d entretien : l implémentation QLogic offre une approche de déploiement rationalisée qui est nettement plus simple que celle des produits concurrents. SIMPLICITÉ DE DÉPLOIEMENT L un des principaux défis liés au déploiement de clusters consistant en plusieurs nœuds de GPU concerne l optimisation de la performance des applications. Sans GPUDirect, les communications entre GPU obligeraient l UC de l hôte à effectuer plusieurs copies de mémoire afin d éviter tout conflit d attribution de mémoire de l UC et InfiniBand. Or, chaque copie de mémoire de l UC réduit considérablement le potentiel de performance des GPU. L implémentation par QLogic de GPUDirect adopte une approche rationalisée de l optimisation de la performance des GPU avec QLogic TrueScale InfiniBand. Grâce à la solution QLogic, il suffit à l utilisateur de mettre à jour le pilote NVIDIA avec le code fourni et testé par QLogic. Les autres implémentations d InfiniBand obligent l utilisateur à mettre en place un correctif de noyau Linux et un pilote spécial InfiniBand. L approche QLogic offre un moyen beaucoup plus simple de déployer, prendre en charge et entretenir les GPU dans un cluster sans avoir à sacrifier les performances. En outre, elle est parfaitement compatible avec les autres implémentations de GPUDirect ; les bibliothèques CUDA et le code d application ne nécessitent aucun changement. PERFORMANCE OPTIMISÉE QLogic a utilisé le logiciel de simulation dynamique moléculaire AMBER pour tester la performance des GPU en cluster avec et sans GPUDirect. La figure 15 indique un gain de performance significatif pouvant atteindre 44 % lorsqu on rationalise les accès à la mémoire de l hôte pour prendre en charge les communications en GPU. PERFORMANCE DES GPU EN CLUSTER Les applications HPC conçues pour bénéficier de la performance des GPU parallèles requièrent une interconnexion haute performance telle qu InfiniBand pour optimiser cette performance. En outre, la mise en œuvre et l architecture de l interconnexion InfiniBand peuvent aussi avoir un impact sur la performance. Les deux implémentations InfiniBand leaders du marché présentent des architectures très différentes et une seule a été spécifiquement conçue pour le marché HPC : TrueScale InfiniBand de QLogic. TrueScale InfiniBand fournit des avantages inégalables en termes de performances, en particulier lorsque le cluster GPU évolue. Il FIGURE 15. PERFORMANCE AVEC ET SANS WITHOUT GPUDIRECT NS/JOUR 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 Test de performance Amber Cellulose 8 GPU 44% Amélioration Sans GPUDirect TrueScale avec GPUDirect 127
INFORMATIQUE GPU AVEC NVIDIA INFINIBAND ET GPU QLOGIC TRUESCALE FIGURE 16 PERFORMANCES ÉVOLUTIVES DU GPU AVEC LES INFIN- BAND LEADERS DU MARCHÉ NS/JOUR 140 120 100 80 60 40 20 0 Identique Test AMBER Myoglobin 3,2% 9,6% 2 4 8 Amélioration Autre InfiniBand TrueScale offre de hautes performances dans tous les domaines essentiels ayant une influence sur la performance des applications HPC, y compris les applications GPU. Ces facteurs comprennent : Performance de taux de message évolutive et non agglomérée supérieure à 25 millions de messages par seconde Latence extrêmement faible pour les ensembles de MPI, même sur les clusters regroupant des milliers de nœuds Latence régulièrement faible d 1 à 2 µs, même en cas d extension Ces facteurs et la conception de QLogic TrueScale InfiniBand lui permettent d optimiser la performance des GPU NVIDIA. Les tests suivants ont été réalisés sur des NVIDIA Tesla 2050 interconnectés avec QLogic TrueScale QDR InfiniBand au NETtrack Developer Center de QLogic. Les résultats du Tesla 2050 pour les autres modèles InfiniBand leaders du marché proviennent des résultats publiés sur le site de banc d essai AMBER. FIGURE 17 RÉSULTATS DU BANC D ESSAI EXPLICIT SOLVENT POUR LES DEUX INFINIBAND LEADERS DU MARCHÉ NS/JOUR 50 45 40 35 30 25 20 15 10 5 0 1% Tests Explicit Solvent 8 x GPU 5% Cellulose FactorIX DHFR 6% Amélioration Autre InfiniBand TrueScale La figure 16 présente les résultats de performance du banc d essai Myoglobine AMBER (2 492 atomes) lors du passage de deux à huit GPU Tesla 2050. Les résultats indiquent que l interconnexion QLogic TrueScale InfiniBand offre des performances jusqu à 10 % supérieures à celles des autres installations InfiniBand du marché lorsque les deux systèmes utilisent leur version de GPUDirect. Comme le montre la figure, la différence de performance augmente en même temps que le nombre de GPU. Le test suivant présente l impact de l interconnexion InfiniBand sur la performance d AMBER sur des modèles de différentes tailles. Les modèles Explicit Solvent suivants ont été testés : DHFR : 23,558 atomes FactorIX : 90,906 atomes Cellulose : 408,609 atomes 128
Il est important de souligner que la performance des modèles dépend de leur taille, de la taille du cluster GPU et des performances de l interconnexion InfiniBand. Plus le modèle est petit, plus il est dépendant de l interconnexion, compte tenu du fait que les composants du modèle (atomes dans le cas d AMBER) sont répartis entre les GPU disponibles dans le cluster pour être traités à chaque étape de la simulation. Par exemple, le test du DHFR avec ses 23 557 atomes signifie que chaque Tesla 2050 d un cluster de huit GPU traite seulement 2 495 atomes à chaque étape de la simulation. La durée de traitement est relativement réduite lorsqu on la compare à la durée de communication. En revanche, le modèle Cellulose avec ses 408 000 atomes requiert que chaque GPU traite 17 fois plus de données à chaque étape que dans le cas du test du DHFR, de sorte que le temps consacré au traitement par les GPU est nettement supérieur à celui des communications. Les tests précédents démontrent que TrueScale InfiniBand est plus performant en cas de charge importante. Le modèle DHFR est le plus sensible à la performance de l interconnexion et il indique que TrueScale offre 6 % de performance en plus par rapport au produit InfiniBand concurrent. En combinant les résultats des figures 15 et 16, on constate que TrueScale Infini- Band fournit de meilleurs résultats avec des modèles plus petits sur de petits clusters et une évolutivité de modèle supérieure pour les modèles plus importants sur des clusters GPU plus volumineux. PERFORMANCE/AVANTAGE EN WATTS Aujourd hui, l accent est mis non seulement sur la performance, mais aussi sur l efficacité avec laquelle cette performance peut être apportée. QLogic TrueScale InfiniBand excelle dans ce domaine. Le National Center for SuperCompute Applications (NCSA) dispose d un cluster basé sur des GPU NVIDIA interconnectés par TrueScale InfiniBand. Ce cluster est le numéro trois dans le classement Green500 de novembre 2010 avec une performance de MFlops/ Watt. Il s agit là d un résultat remarquable, mais il devient plus impressionnant encore si l on considère sa position d origine dans la liste SuperComputing Top500. En effet, le cluster occupe la 404e place dans la liste Top500, mais la combinaison des performances de GPU NVIDIA, de celle de QLogic TrueScale et de sa faible consommation d énergie a permis de faire un bond de 401 places dans la liste Top500 pour atteindre la troisième place dans la liste Green500. Il s agit de la progression la plus spectaculaire de tout cluster dans le top 50 du classement Green500. Les raisons suivantes expliquent en partie ces résultats étonnants en termes de performance/watt : Performance du GPU NVIDIA Tesla 2050 L efficacité des performances Linpack de ce cluster est de 49 %, soit presque 20 % de mieux que la plupart des autres clusters basés sur des GPU NVIDIA dans la liste Top500. L adaptateur QLogic TrueScale InfiniBand requiert 25 à 30 % d énergie en moins que le produit InfiniBand concurrent. CONCLUSION La performance de l interconnexion InfiniBand entraine un impact significatif sur celle des clusters basés sur des GPU. QLogic TrueScale InfiniBand est conçue et construite pour le marché HPC et propose un profil de performance sans égal avec un cluster basé sur un GPU. Enfin, la solution QLogic fournit une implémentation plus facile à déployer et à gérer et permet des performances optimales par rapport aux autres InfiniBand leaders du marché. 129
INFINIBAND INTERCONNEXIONS INFINIBAND HAUT DÉBIT
InfiniBand (IB) est une technologie E/S efficace proposant un transfert de données ultra-rapide et des temps de latence ultracourts pour les applications de calcul et de stockage par le biais d une seule matrice extrêmement fiable et extensible. L écosystème des standards professionnels InfiniBand crée des solutions matérielles et logicielles avec un rapport rendement/coût efficace et faciles à faire évoluer d une génération à l autre. InfiniBand est une interconnexion réseau à large bande passante et faible latence qui a acquis de nombreuses parts de marché dans la communauté des clusters HPC. InfiniBand a été conçu pour remplacer l actuelle technologie réseau des centres de données. À la fin des années 90, un groupe d architectes E/S de nouvelle génération a développé une technologie réseau ouverte selon les attentes de la communauté pour offrir évolutivité et stabilité tout en se basant sur les réussites des autres architectures réseau. Aujourd hui, InfiniBand est une matrice E/S populaire et largement utilisée par les clients parmi les superordinateurs du Top500 : grandes universités et centres de recherche, sciences de la vie, biomédecine, pétrole et gaz (applications séismiques, réservoirs, modélisme), conception et ingénierie assistées par ordinateur, Entreprise Oracle et applications financières. 131
INFINIBAND INTERCONNEXIONS HAUT DÉBIT InfiniBand a été conçu pour répondre aux besoins grandissants du marché de l informatique haute performance. Les calculs scientifiques ont besoin d InfiniBand pour les raisons suivantes : Large bande passante : prend en charge les connexions hôte à 10 Gbps en Single Data Rate (SDR), 20 Gbps en Double Data Rate (DDR) et 40 Gbps en Quad Data Rate (QDR) tout en proposant un switch de 80 Gbps pour la commutation de lien. Latence basse : accélère la performance des applications HPC et d entreprises grâce à des latences ultra-faibles. Évolutivité des clusters supérieure : La latence point-à-point reste faible (1,2 µs) même lorsque le nombre de nœuds et de cœurs augmente. Message réel maximum par adaptateur : chaque adaptateur PCIe x16 génère 26 millions de messages par seconde. Excellent chevauchement de communication/ calcul entre les nœuds de cluster. QLogic est un leader mondial et un innovateur technologique en matière de mise en réseau haute performance : adaptateurs, switches et ASIC. Grande efficacité : InfiniBand autorise l utilisation de protocoles de transport fiables tels que Remote Direct Memory Access (RDMA) pour la communication entre les nœuds, ce qui augmente la performance. Consolidation de matrices et économies d énergie : InfiniBand peut consolider réseau, cluster et transfert de stockage par le biais d une seule matrice ce qui réduit de façon significative les dépenses en énergie, en immobilier et en administration dans les centres de données. Les capacités en qualité de service (QoS) optimisées permettent de traiter et de gérer de nombreux flux applicatifs et types de trafic différents. 132
Intégrité et fiabilité des données : InfiniBand garantit une intégrité élevée des données en effectuant des contrôles de redondance cycliques (CRC) à chaque fabric hop et end-toend sur l ensemble de la matrice pour prévenir la corruption de données. Pour répondre aux exigences des applications stratégiques de l entreprise et pour garantir un maximum de disponibilité, InfiniBand met à disposition des matrices E/S entièrement redondantes et sans perte avec des chemins automatiques de failover et link-layer multipathing. COMPOSANTS DE MATRICE INFINIBAND InfiniBand est une architecture de matrice E/S point à point commutée. Point à point, cela signifie que chaque lien de communication s étend exclusivement entre deux systèmes. Chacun des systèmes aux deux bouts du lien a un accès exclusif et intégral au chemin de communication. Pour parvenir au-delà d un point et traverser le réseau, des commutateurs entrent en jeu. En ajoutant des commutateurs, il est possible d interconnecter des points pour créer une matrice. Plus on ajoute de commutateurs à un réseau, plus la bande passante de la matrice s élargit. Parce qu ils ajoutent de multiples chemins entre les systèmes, les commutateurs offrent aussi un niveau de redondance plus élevé. Host Channel Adapter Cet adaptateur est une interface résidant au sein d un serveur et communiquant directement avec la mémoire et le processeur du serveur ainsi que la matrice IBA (InfiniBand Architecture Fabric). Il garantit la livraison des données, accède de façon poussée à la mémoire et peut se réparer en cas d erreur de transmission. Les adaptateurs HCA peuvent communiquer avec un TCA (target channel adapter) ou un commutateur. Un adaptateur HCA peut être une carte InfiniBand autonome ou intégrée à la carte-mère d un système. Les HCA QLogic TrueScale InfiniBand dépassent leurs concurrents avec le taux de message le plus élevé du marché. Combinés à la latence MPI la plus faible et la largeur de bande effective la plus haute, les HCA QLogic permettent aux applications MPI et TCP de s étendre à des milliers de nœuds avec un rapport performance/prix inégalé. FIGURE 1 CLUSTER HAUTE PERFORMANCE INFINIBAND TYPIQUE Host Channel Adapter La matrice InfiniBand dispose de quatre composants primaires présentés dans les sections suivantes : Host Channel Adapter Target Channel Adapter Commutateur Administrateur sous-réseau Commutateur InfiniBand avec administrateur sous-réseau Target Channel Adapter 133
INFINIBAND INTERCONNEXIONS HAUT DÉBIT Target Channel Adapter Cet adaptateur permet aux systèmes E/S tels que stockage sur disque ou sur bande d être localisés sur le réseau indépendamment d un ordinateur hôte. Les adaptateurs TCA comprennent un contrôleur E/S spécifique pour le protocole particulier du système (par ex. SCSI, Fibre Channel (FS) ou Ethernet). Les TCA peuvent communiquer avec un HCA ou avec un commutateur. Commutateur Un commutateur InfiniBand permet à de nombreux HCA et TCA de s y connecter et gère le trafic sur le réseau. Le commutateur consulte l en-tête de routage local de chaque paquet de données et l expédie à la destination appropriée. Le commutateur est un composant essentiel de toute implémentation InfiniBand : il offre une plus grande disponibilité, un meilleur équilibrage des charges, une meilleure mise en miroir et bien plus encore. On appelle matrice un ensemble de commutateur. Si un hôte est défaillant, le commutateur continue à fonctionner. Le commutateur déleste également les serveurs et autres systèmes en gérant lui-même le trafic sur le réseau. La série de directeurs modulaires QLogic 12000 est la solution d interconnexion cluster la plus intégrée disponible sur le marché. Solutions idéales pour le HPC, la mise en cluster de bases de données et les applications grid utility, les directeurs modulaires 12000 maximisent la performance des interconnexions cluster et matrice tout en simplifiant la gestion et réduisant les coûts de fonctionnement d un centre de données. Gestionnaire de sous-réseau Le gestionnaire de sous-réseau est une application responsable de la configuration du sous-réseau local et du maintien de son 134
fonctionnement. Ces responsabilités de configuration comprennent la gestion des paramètres du commutateur et la reconfiguration du sous-réseau dans le cas où un lien n est plus disponible ou un nouveau lien est ajouté. COMMENT L INFORMATIQUE HAUTE PERFORMANCE AIDE LES APPLICATIONS VERTICALES Les entreprises souhaitant utiliser de l informatique haute performance doivent trouver un équilibre entre les paramètres d extensibilité suivants pour les dimensions de base et le nombre de cœurs supplémentaires à intégrer à chaque ajout de nœud : Latence et extensibilité du taux de messages : elles doivent permettre une augmentation de productivité quasi-proportionnelle au nombre de nœuds ajoutés. Efficience énergétique et refroidissement : alors que le cluster s étend, les exigences d alimentation et de refroidissement ne doivent en aucun cas devenir des sources de difficultés majeures dans le monde actuel caractérisé par des pénuries d énergie et les coûts élevés de celle-ci. InfiniBand est synonyme de basse latence, large bande passante et d évolutivité inégalée, comme l exigent les applications HPC. Les adaptateurs et les commutateurs IB offrant de bons résultats sur ces caractéristiques essentielles permettent aux entreprises de répondre à leurs besoins en haute performance et MPI avec une efficience optimale. Avec une solution IB, les entreprises atteignent rapidement leurs objectifs informatiques et commerciaux. Application de marché verticale Segment Valeur InfiniBand Pétrole et gaz Combinaison de codes ISP (Independant Service Provider) et de codes internes : modélisation de réservoir Faible latence, large bande passante Ingénierie assistée par ordinateur (IAO) Le plus souvent, codes ISV (Independant Software Vendor) : crash, simulations aérodynamiques et en mécanique des fluides Taux de message élevé, faible latence, extensibilité Administration publique Codes internes : laboratoires de recherches, défense, météo et un grand nombre d applications Taux de messages élevé, faible latence, extensibilité, large bande passante Education Codes internes et open source : grands nombres d applications Taux de messages élevé, faible latence, extensibilité, large bande passante Finance Combinaison de codes ISP et internes : simulation de marché et salles de marché IP haute performance, extensibilité, large bande passante Sciences biologiques et des matériaux Le plus souvent, codes ISV : simulation moléculaire, chimie numérique et applications en biologie Faible latence, taux de message élevé 135
INFINIBAND LE TOP 10 DES ARGUMENTS POUR QLOGIC TRUESCALE INFINIBAND LE TOP 10 DES ARGUMENTS POUR QLOGIC TRUESCALE INFINIBAND 1. Faible latence prévisible en charge Moins de 1,0 µs. TrueScale est conçu pour exploiter au maximum les nœuds multi-cœurs grâce à une latence extrêmement faible et une extensibilité significative du taux de message. Lorsque de nouvelles ressources sont ajoutées à la solution QLogic TrueScale InfiniBand, la latence et les taux de message évoluent de façon proportionnelle. Les applications HPC peuvent être étendues sans avoir à s inquiéter d une exploitation amoindrie des ressources informatiques. «La gestion efficace de matrice est devenue un facteur important de la maximisation des performances d un cluster HPC. Avec IFS 6.0, QLogic résout toutes les difficultés de gestion de matrice avec un produit qui, de nombreuses façons, va plus loin que ce que les autres proposent.» 2. Performance Quad Data Rate (QRD). Les commutateurs de la série QLogic 12000 opèrent à un débit voie de 10 Gbps, offrant une bande passante bisectionnelle intégrale de 40 Gbps (QRD). De plus, le commutateur 12000 est seul capable de surmonter les périodes de congestion grâce à des caractéristiques telles qu une latence déterministe faible. Les produits de la série QLogic TrueScale 12000 offrent la latence la plus faible de tous les commutateurs IB et des transferts de performance élevés accompagnés de l intégrité de signal la plus sûre du marché. 3. Maximisation de l exploitation de bande passante grâce à une QoS flexible. Le design poussé du QLogic 12800 repose sur une architecture qui dispose de fonctionnalités complètes de partitionnement de matrice virtuelle permettant à la matrice IB de prendre en charge les exigences changeantes d une organisation. Michael Wirth spécialiste Presales HPC 136
4. Extensibilité inégalée 18 à 864 ports par commutateur. QLogic offre la gamme la plus riche (cinq châssis et deux commutateurs Edge) de 18 à 864 ports TrueScale InfiniBand, permettant aux utilisateurs de répondre à leurs exigences en termes de connectivité, d espace et d alimentation. 5. Grandes fiabilité et disponibilité. Les fonctionnalités RAS (Reliability Availability Serviceability), éprouvées sur les environnements professionnels et du Top500 les plus exigeants sont intégrées à la série QLogic 12000 avec des composants hot-swap, des composants redondants, des unités que le client peut remplacer lui-même et un chargement de code sans interruption du système. 6. Exigences par port et de refroidissement minimales. Le TrueScale 12000 propose la consommation en courant la plus basse et la densité de ports la plus élevée 864 ports TrueScale InfiniBand sur un seul châssis en font une solution inégalée sur le marché. Ainsi, il présente la consommation électrique par port la plus basse pour un commutateur directeur (7,8 W/port) et pour un commutateur Edge (3,3 W/port). 7. Installation et administration simples. Les assistants QLogic d installation, de configuration et de suivi réduisent la durée de la mise en place. QLogic InfiniBand Fabric Suite (IFS) vous assiste pour le diagnostic des problèmes sur la matrice. Les mises à jour firmware sans interruption du système offrent disponibilité maximale et simplicité opérationnelle. 8. Protection des investissements InfiniBand déjà en opération. Intégration E/S virtuelle parfaite aux niveaux du système d exploitation et des applications, correspondant à la sémantique des cartes et adaptateurs standard d interconnexion réseau sans modification du SE ou des applications ça marche tout seul. En outre, la série de produits TrueScale est conforme aux spécifications ouverte de l IBTA (InfiniBand Trade Association) garantissant que les produits QLogic sont compatibles avec tous les fournisseurs InfiniBand certifiés IBTA. La conformité IBTA rend les commutateurs de la série QLogic 12000 parfaits pour la consolidation de réseau, le partage et l extension de pools E/S entre serveurs et le regroupement et le partage de ressources E/S entre serveurs. 9. Flexibilité de configuration modulaire. La série de commutateurs QLogic 12000 présente une flexibilité de configuration et d extension qui répond aux exigences d une grille haute densité ou haute performance en proposant des modules capables de faire face aux deux. Les unités peuvent être équipées de feuilles UHD (Ultra High Density) pour une connectivité maximale ou UHP (Ultra High Performance) pour une performance maximale. Les modules-feuilles de 24 ports prennent en charge les configurations entre 18 et 864 ports offrant la taille de départ idéale et l extensibilité nécessaire quand votre grille s étend. 10. Options de passerelle vers des réseaux Ethernet et Fibre Channel. QLogic propose de nombreuses options pour permettre aux hôtes sur des matrices InfiniBand d accéder de façon transparente à des SAN (storage area network) sur Fibre Channel ou des LAN (local area network) sur Ethernet. L architecture QLogic TrueScale et sa famille de produits remplissent les promesses de l InfiniBand pour les entreprises d aujourd hui. 137
INFINIBAND LA PERFORMANCE INTEL MPI LIBRARY 4.0 FIGURE 2 CLUSTER INFINIBAND HAUTE PERFORMANCE TYPIQUE Objectif : comparer la performance Intel Library 4.0 et 3.1 avec QLogic TrueScale InfiniBand Banc d essai : PUMA Flow Cluster : QLogic/IBM idataplex cluster Configuration système : Tes nœuds NET track IBM Q- Blue Cluster/iDataPlex ont été configurés comme suit : INTRODUCTION La dernière version MPI d Intel, Intel MPI 4.0 est maintenant optimisée pour fonctionner avec l adaptateur QLogic TrueScale InfiniBand. Intel MPI 4.0 peut désormais appeler directement l interface PSM (Performance Scale Messaging) de QLogic TrueScale. L interface PSM est conçue pour optimiser la performance de l application MPI. Cela signifie que les organisations seront à même d obtenir un gain de performance significatif grâce à la combinaison d Intel MPI 4.0 et QLogic TrueScale InfiniBand. Processeur CPU Intel Xeon X5570 à 2,93 GHz FIGURE 3 PERFORMANCE AVEC ET SANS GPUDIRECT Mémoire Commutateur InfiniBand QRD HCA InfiniBand QDR Système d exploitation Noyau 24Go (6x4Go) à 1333MHz (DDR3) Modèle QLogic 12300/firmware version 6.0.0.0.33 QLogic QLE7340, pile logicielle 5.1.0.0.49 Red Hat Enterprise Linux Server release 5.3 2.6.18-128.el5 Temps écoulé 1400 1200 1000 800 600 400 200 0 35 % d'amélioration 16 32 64 Amélioration MPI v3.1 MPI v4.0 Système fichiers IFS monté Nombre de cœurs 138
LA SOLUTION QLogic a coopéré avec Intel pour affiner et optimiser la toute dernière version MPI de la société, Intel MPI Library 4.0, afin d améliorer la performance en combinaison avec QLogic TrueScale InfiniBand. Avec MPI Library 4.0, les applications peuvent pleinement exploiter le matériel HPC (High Performance Computing) et améliorer la performance générale des applications sur cluster. INTEL MPI LIBRARY 4.0 Intel MPI Library 4.0 exploite la spécification haute performance MPI-2 sur matrices multiples ce qui entraine une meilleure performance pour les applications sur les clusters à architecture Intel. Cette bibliothèque permet d obtenir rapidement une performance maximale pour les utilisateurs finaux, même en cas de modifications ou de mises à niveaux vers de nouvelles interconnexions sans exiger des adaptations majeures du logiciel ou de l environnement d exploitation. Cette bibliothèque MPI haute performance développe des applications qui peuvent opérer sur des interconnexions de matrices de clusters multiples choisies par l utilisateur sur le runtime. Résultats Le test a montré que l on obtient une amélioration de la performance pouvant aller jusqu à plus de 35 % par rapport à Intel MPI Library 3.1 lorsqu on exploite Intel MPI Library 4.0 en combinaison avec QLogic TrueScale InfiniBand. ADAPTATEURS QLOGIC TRUESCALE INFINIBAND Les adaptateurs QLogic TrueScale InfiniBand proposent performance extensible, fiabilité, faible consommation et performance supérieure des applications. Ces adaptateurs assurent une performance supérieure des applications HPC grâce au taux de message le plus élevé pour les nœuds multicœurs, la latence extensible la plus faible, des clusters à grand nombre de nœuds, la bande passante générale la plus large sur les plateformes PCI Express Gen1 et une efficience supérieure en alimentation. Test QLogic a utilisé le programme de banc d essai PUMA (Parallel Unstructured Maritime Aerodynamics) pour tester la performance d Intel MPI Library versions 4.0 et 3.1 avec QLogic TrueScale InfiniBand. Le programme analyse les fluides compressibles non-réactifs internes et externes via des figures 3D arbitrairement complexes. PUMA est rédigé en ANSI C et utilise des bibliothèques MPI pour le passage de message. 139
INFINIBAND INFINIBAND FABRIC SUITE (IFS) LES NOUVEAUTÉS DE LA VERSION 6.0 PERFORMANCE EFFICIENTE Latence de bout en bout la plus faible du marché Meilleur taux de message au monde La seule solution avec une véritable extensibilité proportionnelle des cœurs GESTION EFFICIENTE Automatisation pour accélération des installations et des mises à jour Détection et diagnostic des problèmes de matrice en quelques secondes Initialisation de 2 000 nœuds en quelques secondes FIGURE 4 COMPOSANTS INFINIBAND FABRIC SUITE 6.0 FabricsViewer FonctionsaFastFabrik s Advanced Fabric Manager Services Fabric HostsServices CAPACITÉ EFFICIENTE 50 % de nœuds en plus sur la même surface Jusqu à 67 % d amélioration pour l exploitation de la largeur de bande Meilleur performance avec moins de matériel L ARCHITECTURE SYSTÈME QLOGIC TRUESCALE INFINIBAND EST SYNONYME D EFFICIENCE DE BOUT EN BOUT. Le gestionnaire de sous-réseau consolidé minimise l impact des interruptions de matrice. 140
Le jeu complet de fonctions FastFabric optimise le délai de mise en place du système. Fabric Viewer informe sur la performance du réseau. Le routage dispersif améliore la performance pour toutes les MPI (message passing interfaces). Le taux de message extrême offre une performance inégalée des applications. Un jeu complet d outils logiciels de services hôte optimise rapidement les environnements HPC (High Performance Computing). Assistance Advanced Topologies pour des ajouts de nœuds à un rapport coût/bénéfice efficient Matrices virtuelles avec qualité de service QoS pour une performance cohérente des applications Les matrices intelligentes avec Adaptive Routing matériel contournent les goulots d étranglement. QLOGIC INFINIBAND FABRIC SUITE 6.0 QLogic a tiré avantage de son expertise unique et globale des matrices de communication pour créer l ensemble de fonctionnalités pour logiciel de gestion de matrice le plus puissant du marché : QLogic InfiniBand Fabric Suite (IFS) 6.0. IFS permet aux utilisateurs d atteindre la meilleure performance de matrice, les communications les plus efficaces et les coûts de gestion les plus bas pour les clusters HPC de toute taille. Host Services L architecture InfiniBand Fabric Suite est modulaire : les modules Open-Fabrics Enterprise Distribution (OFED) et ceux développés par QLogic peuvent coexister dans une même matrice. Les composants importants de l architecture comprennent : Fabric Manager. Fonctions administratives pour le sous-réseau, la matrice InfiniBand et la gestion individuelle des composants via HTML et une console Java. Advanced Fabric Services. Performance matrice efficiente avec les technologies leaders du marché pour affiner et optimiser automatiquement le réseau d une organisation. Fonctionnalités FastFabric. Fonctions conviviales pour une installation, une configuration et une vérification sans effort du réseau cluster et des ressources E/S de passerelle virtuelle Fabric Viewer. GUI Java autonome pour les fonctions de gestion du sous-réseau de Fabric Manager Host Services. Propose une large gamme de pilotes et d installateurs pour les produits de tous les fournisseurs d adaptateur ainsi que les outils utilisateur MPI optimisés. Les composants IFS 6.0 comprennent : Fabric Manager Advanced Fabric Services Fonctionnalités FastFabric Fabric Viewer Une solution logicielle bout-en-bout puissante et exhaustive est indispensable pour que les applications d une entreprise puissent pleinement tirer avantage de l InfiniBand. Avec QLogic InfiniBand Fabric Suite 6.0, QLogic propose toutes les fonctionnalités requises pour une matrice haute performance. 141
INFINIBAND INFINIBAND FABRIC SUITE (IFS) LES NOUVEAUTÉS DE LA VERSION 6.0 LES NOUVEAUTÉS DE QLOGIC IFS 6.0 Matrices virtuelles. Dédie des voies virtuelles au sein de la matrice pour une exploitation maximale des ressources en priorisant et segmentant le trafic. Routage adaptatif. Supprime les ralentissements de performances causés par les goulots d étranglement sur les voies. QLogic est le seul à intégrer cette fonctionnalité aux puces. Les changements s effectuent en quelques microsecondes et non plus en minutes. L intelligence de la sélection des voies évolue en même temps que la matrice. Routage dispersif. Équilibre le trafic sur les différentes voies et améliore la performance MPI. QLogic continue à établir et à étendre les standards avec sa performance de record du monde en taux de messages. Topologies de mailles et de tores. Crée de très grandes matrices à des coûts mieux contrôlés. Afin de garantir une performance maximale sur tous les nœuds, différents algorithmes détectent le meilleur chemin et supprime les bouchons. 142
Les solutions HPC transtec brillent par la simplicité de leur gestion et leur grande convivialité tout en maintenant une performance et une qualité élevées tout au long de la durée de vie du système. Au fur et à mesure que les clusters s étendent, les problèmes tels que la réduction des bouchons et la qualité de service (QoS) peuvent faire toute la différence quant à l exploitation du plein potentiel de la matrice. En choisissant de façon réfléchie les produits QLogic InfiniBand, transtec reste fidèle à sa politique de combinaison des meilleurs composants pour offrir à ses clients des solutions complètes intégrant ce qui se fait de mieux. Les experts en ingénierie HPC de transtec sont toujours disponibles pour ajuster les systèmes de clusters HPC et des matrices InfiniBand des clients pour obtenir la performance maximale tout en leur fournissant une solution HPC simple à utiliser et à gérer. 143
PARSTREAM ANALYSES DE DONNÉES À GRAND VOLUME
Le volume des ressources en données numériques a explosé dans la dernière décennie. L étude IDC Digital Universe IDC montre que, comparé à 2008, l univers numérique a cru de 62 % soit jusqu à 800 000 pétaoctets (0,8 zettaoctets) en 2009. IDC prévoit que le volume de données en 2020 sera 44 fois celui de 2009, atteignant ainsi environ 35 zettaoctets. La conséquence de cette explosion du volume de données sera une augmentation significative des besoins en applications pour la recherche dans les grandes bases de données et leur analyse dans toutes les industries. Néanmoins, les applications actuelles exigent des infrastructures étendues et chères, grandes consommatrices d énergie et de ressources et posant des difficultés dans l analyse des données de masse. À l avenir, on trouvera de plus en plus d ensembles de données de l ordre du téraoctet dans la recherche, l analyse et le diagnostic, amenant encore de nouvelles difficultés. 145
PARSTREAM ANALYSES DE DONNÉES À GRAND VOLUME FIGURE 1 Volumes de données opérationnelles FIGURE 2 Traitement d'événement complexe Base de données mémoire Gigaoctet Rapports OLTP SQL API / JDBC / ODBC Technologie mémoire et disque Massively Parallel Processing (MPP) Temps réel < 1...10 milli sec 10...100 milli sec Analyse 1 sec interactive Téraoctet Pétaoctet 1...10 sec 1...10 min > 10 min Décalage Batch Analytics (MapReduce) Moteur d'analyse en temps réel High Performance Compressed Index (HPCI) Stockage hybride rapide (colonnes/lignes) Chargeur haut débit à faible latence C++ UDF -API Données à grand volume Partitionnement multi-dimensionnel Architecture à mémoire distribuée LES DONNÉES GRAND VOLUME, C EST QUOI? Le volume de données générées et stockées croît de façon exponentielle et dans des proportions sans précédent. D après Eric Schmidt, ancien président de Google, le volume de données produit actuellement en deux jours correspond au volume total de données produits entre le début de la civilisation et 2003. De grands volumes de données sont produits dans de nombreux secteurs de la vie professionnelle et privée. Par exemple, 200 millions de messages Twitter sont générés chaque jour. Les appareils mobiles, les réseaux de capteurs, les communications de machine à machine, les lecteurs RFID, les logs logiciels, les caméras et les microphones produisent quotidiennement un flux continu de données de plusieurs téraoctets. Pour les organisations, les données grand volume sont à la fois une chance formidable et un grand défi. Les entreprises sachant gérer leurs données grand volume feront des prédictions plus exhaustives pour leurs marchés et leurs activités. Les décideurs seront à même de répondre de façon sûre et rapide aux développements des marchés dynamiques, voire volatiles. Il est important que les entreprises sachent comment exploiter les données grand volume pour renforcer leur position sur les marchés, accroître leur productivité et développer de nouveaux modèles d affaires. Selon Roger Magoulas, de la société o Reilly, la capacité à analyser des données grand volume est devenue une compétence centrale de l âge de l information et peut apporter un énorme avantage compétitif aux entreprises. L analyse de données grand volume a un très grand impact sur le traitement traditionnel des données et place les entreprises et les responsables informatiques face à de nouveaux problèmes. D après une récente étude de Gartner, les technologies et les procédés informatiques les plus récents sont mal 146
adaptés à l analyse de très grands volumes de données. Les services informatiques tentent souvent de faire face au flux croissant d information avec des moyens traditionnels, exploitant les mêmes infrastructures et ajoutant simplement plus de matériel. Mais les volumes de données augmentent plus fortement que les capacités de traitement que sont capables de fournir davantage de serveurs ou des processeurs plus performants. Il faut donc de nouvelles approches technologiques. ÉCHECS DES ARCHITECTURES ACTUELLES DE BASES DE DONNEES Les bases de données actuelles ne sont pas conçues pour les données de masse, mais plutôt pour les petits volumes de données allant jusqu à 100 millions d entrées. Les bases de données actuelles reposent sur des architectures dépassées, vieilles de vingt ou trente ans et les structures des index ne sont pas étudiées pour analyser efficacement de tels volumes de données.de plus, du fait que ces bases de données emploient des algorithmes séquentiels, elles ne sont pas à même d exploiter le potentiel du matériel parallèle. Les algorithmes d indexation des grands volumes de données ont fait l objet de peu d innovations ces dernières années et décennies. Face aux sommes de données à traiter en croissance constante, de nouveaux challenges apparaissent auxquels les systèmes traditionnels de bases de données ne peuvent pas répondre. De nouvelles approches innovantes sont en train d être développées et évaluées pour résoudre ces problèmes. Cependant, certaines de ces approches semblent prendre la mauvaise direction. PARSTREAM PLATEFORME D ANALYSE DE DONNÉES GRAND VOLUME ParStream offre une approche révolutionnaire à l analyse de données haute performance. Il répond aux problèmes issus de la croissance rapide des volumes de données dans le monde professionnel moderne et les scénarii d applications scientifiques. ParStream dispose d une technologie d indexation unique, comprend un traitement parallèle efficace, est ultra-rapide, même avec des milliards d entrées, passe à l échelle de façon linéaire, jusqu à plusieurs pétaoctets, offre analyses en temps réel et import continu, est économique en termes de coûts et énergie. ParStream utilise une technologie d indexation unique permettant le traitement multi-thread sur des architectures parallèles. Les coûts en matériel et en énergie diminuent de façon substantielle tandis que la performance générale est optimisée pour indexer et exécuter les ordres. L import, l indexation et la recherche de données simultanés permettent d obtenir des analyses quasiment en temps réel. Les développeurs ParStream cherchent à constamment améliorer le produit en collaborant étroitement avec les universités, les chercheurs et leurs clients. ParStream est le meilleur choix lorsque... vous devez filtrer et effectuer des recherches dans des volumes extrêmes de données, les filtres utilisent plusieurs paramètres dans des combinaisons diverses (recherches ad hoc), vous effectuez fréquemment des recherches complexes, les ensembles de données sont en croissance constante, vous attendez des résultats d analyses quasiment en temps réel, 147
PARSTREAM ANALYSES DE DONNÉES À GRAND VOLUME TECHNOLOGIE L architecture technique d une base de données ParStream peut être présentée selon les domaines suivants : durant le process ETL (extract, transform, load), les données livrées sont lues et traitées de manière à pouvoir être transmises au chargeur. Ensuite, ParStream génère et sauvegarde les structures d index nécessaires et les représentations de données. Les données entrantes peuvent être stockées dans des stockages de donnée selon une orientation en ligne ou en colonne. Des fonctionnalités configurables d optimisation du tri, de la compression et du partitionnement sont disponibles. Une fois que les données sont chargées sur le serveur, l utilisateur peut lancer des requêtes via une interface standard FIGURE 3 Source données Source données Source données ETL ETL ETL ETL Import et indexation haut débit Stockage d'entrée en ligne Partitionnement de compression ParStream Loader Stockage d'entrée en colonne Stockage d'index Serveurs multiples, CPU et GPU Mise en parallèle de caches Logique de recherche Recherche Résultats (SQL) dans le moteur de base de données. Les requêtes sont interprétées puis exécutées en parallèle. L optimiseur est utilisé pour générer un plan de requête initial à partir de la requête déclarative. Ce plan d exécution initial est utilisé pour lancer le traitement. Néanmoins, ce plan initial peut être modifié de façon dynamique pendant l exécution, par ex. il est possible de changer le niveau de parallélisme. L exécuteur de recherche exploite en outre de façon optimale l infrastructure disponible. Toutes les parties disponibles de la requête exploitent, si possible, des informations bitmap. Les tests conditionnels Łet les agrégations peuvent ainsi être calculés puis transmis aux 148
clients à l aide d opération bitmap hautement efficaces. Structure d index La structure d index innovante de ParStream permet un traitement parallèle efficace offrant des niveaux de performance inégalés. Les principales fonctionnalités de la base de données sous-jacente comprennent : un index bitmap en colonne exploitant une structure de données unique, une structure de données permettant un traitement comprimé, aucun besoin de décompression d index comme dans d autres bases de données ou systèmes d indexation. L exploitation de ParStream et son moteur de recherche hautement efficace offre des avantages importants par rapport aux systèmes de bases de données conventionnels. ParStream offre : opérations d index plus rapides, temps de réponse plus courts, charge CPU substantiellement réduite, traitement efficace et parallèle des recherches et des analyses en parallèle, possibilité d ajouter de nouvelles données à l index durant l exécution de la recherche, import et recherche de données quasiment en temps réel. Exploitation des ressources optimisée Le traitement des requêtes peut être parallélisé à l intérieur même d un seul nœud de traitement et de mêmes partitions de données pour obtenir un temps de réponse minimal en exploitant toutes les ressources disponibles (CPU, canaux E/S). Fiabilité La fiabilité des bases de données ParStream est garantie par plusieurs fonctionnalités et prend intégralement en charge les environnements multi-serveurs. Les bases de données ParStream permettent d exploiter n importe quel nombre de serveurs. Chaque serveur peut être configuré pour répliquer tout ou partie du stockage des données. Plusieurs algorithmes d équilibrage de charge transmettent une requête complète à l un des serveurs ou différentes parties d une requête à plusieurs serveurs, même redondants. La requête peut être envoyée à n importe lequel des membres du cluster, permettant aux clients d exploiter une configuration d équilibrage de charge et de failover correspondant à leurs besoins, par exemple une distribution de type round-robin. Interfaces Le serveur ParStream peut être interrogé selon trois méthodes : A haut niveau, nous fournissons un pilote JDBC permettant l implémentation d une d un front-end multi-plateforme. Ainsi, ParStream peut être exploité avec toute application compatible avec une interface JDBC standard. Par exemple, il est possible de créer un applet Java. Cet applet peut être utilisé pour envoyer des requêtes au serveur ParStream depuis n importe quel navigateur web. A un niveau intermédiaire, les requêtes peuvent être soumises en code SQL. D autres implémentations de requêtes descriptives comme le format JSON sont aussi disponibles. Cela permet à l utilisateur de définir des requêtes difficiles à exprimer en SQL standard. Les résultats sont ensuite renvoyés au client sous forme de texte CSV ou au format binaire. A bas niveau, il est 149
PARSTREAM ANALYSES DE DONNÉES À GRAND VOLUME FIGURE 4 Façade JDBC/ODBC SQL 2003 Import parallèle Application Socket C++ API Import CSV et binaire SOA Utilitaire Compatibilité Analyse de données grand volume en temps réel Prise en charge ETL Map-Reduce RDBMS Raw-Data possible d utiliser l API C++ et les classes de base de ParStream pour écrire des noeuds de requête personnalisés qui seront sauvegardés dans des bibliothèques dynamiques. Ainsi, un développeur peut intégrer ses propres nœuds de requête dans une un arbre arborescente et l enregistrer dynamiquement sur le serveur ParStream. Ces requêtes utilisateur peuvent être exécutées via une connexion TCP/IP et sont également intégrées dans la trame d exécution parallèle ParStream. Cette couche d interface permet de formuler des requêtes impossibles à exprimer en SQL. Import de données L une des forces de ParStream est sa capacité à importer des fichiers CSV à des vitesses inégalées. Cela est dû à deux facteurs. D une part, l index intègre les nouvelles données de façon beaucoup rapide que les index de la plupart des autres bases de données. D autre part, l importeur partitionne et trie les données en parallèle, exploitant ainsi les capacités offertes par les processeurs multi-cœurs actuels. En outre, le processus d import peut être exécuté en dehors du processus de requête, permettant à l utilisateur de transmettre 150
les données traitées et les fichiers d index aux serveurs. De cette façon, les charges CPU et E/S de l import peuvent être séparées et confiées à des machines différentes. Une autre fonctionnalité remarquable de ParStream est sa capacité à opérer en option sur un stockage d entrées CSV au lieu d un stockage en colonne. L import s en trouve accéléré puisque seuls les index doivent être écrits. De plus, comme l on souhaite en général sauvegarder les fichiers CSV originaux, aucune mémoire disque dur supplémentaire n est gaspillée. Plateformes prises en charge Actuellement, ParStream est disponible pour un certain nombre de distributions Linux, y compris RedHat Enterprise Linux, Novell Enterprise Linux et Debian Lenny sur CPU x86_64. Sur demande, ParStream peut être porté sur d autres plateformes. 151
PARSTREAM ANALYSES DE DONNÉES À GRAND VOLUME FIGURE 5 NOMBREUSES APPLICATIONS ecommerce Services Recherches à facettes Analyses web Analyse SEO FIGURE 6 Publicité en ligne ARCHITECTURE ENTREPÔT DE DONNÉES STANDARD Recherche Exécution recherche longue Scans des tableaux complets fréquents Données datant d'au moins un jour Réseaux sociaux Diffusion publicitaire Profilage Ciblage Import de nuit des lots Données TOUTES INDUSTRIES Telco Prévention d'attrition client Surveillance de réseaux Ciblage Gestion de comptes prépayés Finance Analyse de tendance Détection de fraude Échanges boursiers automatiques Analyse de risques Énergie Pétrole et gaz Compteurs intelligents Grilles intelligentes Éolien Forage Panneaux solaires Données grand volume Et plus encore Production Forage M2M Capteurs Génétique ARCHITECTURE PARSTREAM Recherche Chaque recherche exploite plusieurs cœurs de processeurs HPCI Index d'exécution recherche comprimés L'import en continu assure la ponctualité Import parallèle des données Renseignement Météo vous devez optimiser les coûts d infrastructure et de fonctionnement. PRINCIPAUX SCENARII D APPLICATIONS Les données grand volume changent la donne dans toutes les industries et le secteur public. ParStream a identifié de nombreuses applications dans tous les secteurs offrant de nombreux avantages aux clients. Par exemple, les analyses de dépenses publicitaires et suivi de médias sociaux dans l e-commerce, la détection de fraude et les algorithmes boursiers sur les marchés financiers et de capitaux, le suivi de la qualité des réseaux et le ciblage client dans les télécommunications, les mesures et les grilles intelligentes dans les utilitaires et beaucoup d autres. Recherche et sélection ParStream atteint de nouveaux niveaux de recherche et de satisfaction des achats en ligne. En fournissant une recherche à facettes en combinaison avec une analyse continue et en temps réel des préférences et du comportements des clients, ParStream guide ces derniers de façon efficace vers les produits et services les intéressant, entraînant une augmentation du taux de conversion et du chiffre d affaires des plateformes. Analyse en temps réel ParStream produit des analyses interactives pour des gains d information plus rapides Identifier les informations importantes dans les données grand volume, c est dans l idéal un processus interactif dans lequel des hypothèses sont formulées et validées. ParStream livre des résultats instantanés sur les données grand volume mises à jour même si plusieurs utilisateurs intenses ou des agents automatiques requièrent les informations en même temps. ParStream permet un apprentissage des procédures d entreprise et une optimisation des produits plus rapides. Traitement en ligne - ParStream répond automatiquement aux flux de données volumineux. Qu il s agisse de publicité en ligne, de re-ciblage, de décelage de tendance, de détection de fraude ou de nombreux autres exemples, ParStream peut traiter automatiquement les nouvelles données, comparer 152
de riches historiques de données et permet des réactions rapides. Les volumes de données en croissance rapide et les algorithmes de plus en plus complexes créent un marché pour des solutions plus agiles. L OFFRE ParStream apporte une combinaison unique d analyse en temps réel, d import continu à faible latence et de haut débit pour les données grand volume. ParStream, c est l analyse de milliards d entrées dans des milliers de colonnes en des fractions de secondes avec un minimum d exigence en infrastructure informatique. ParStream n utilise pas de cubes pour stocker les données, ce qui lui permet d analyser les données dans toute leur granularité, d être flexible à tous niveaux et d importer de nouvelles données à la volée. ParStream livre des résultats typiquement mille fois plus rapides que PostgreSQL ou MySQL. Comparé aux bases de données en colonnes, ParStream offre une performance supérieure. Cette supériorité par rapport aux technologies traditionnelles croît de façon exponentielle avec l augmentation du volume des données et de la complexité des requêtes. la parallèlisation du traitement HPCI, éliminant les délais dus à la décompression Par rapport aux autres solutions références de stockage de données, ParStream offre des résultats beaucoup plus rapides avec plus de flexibilité et une granularité plus fine, pour des données plus à jour mais avec des exigences d infrastructure moindres et un coût d exploitation total plus bas. ParStream est une réponse aux scénarios de données grand volume ggrâce à son aptitude à importer continuellement des données et à les rendre disponible en temps réel pour analyse. Cela permet l analyse, le filtrage et le conditionnement des flux de données «en direct», par ex. pour les feeds des réseaux sociaux ou de données financières. Le modèle de licence ParStream est basé sur le volume de données. Le produit peut être déployé de quatre façons pouvant être combinées : déploiement logiciel traditionnel sur site, géré par le client (y compris déploiement cloud), appliance gérée par le client, service cloud fourni par un partenaire service de ParStream, et service cloud fourni par ParStream. ParStream a développé des technologies propriétaires uniques pour la compression et l indexation. Grâce à la technologie HPCI (High Performance Compressed Index), les index de données peuvent être analysés csous forme compressée, ce qui élimine l étape supplémentaire de décompression. Cet avantage technologique apporte des avantages de performance importants par rapport aux autres solutions : réduction substantielle de la charge CPU (auparavant requise pour la décompression, les opérations d index étant plus efficientes que le scan complet des données), réduction substantielle du volume RAM (auparavant requis pour stocker l index décomprimé), temps de réponse aux requêtes beaucoup plus rapides grâce à Ces options offrent aux clients flexibilité et facilité d adoption puisqu ils peuvent utiliser ParStream sur l infrastructure de leur choix ou sur cloud, quel que soit le nombre de serveurs ou de cœurs. Bien que les infrastructures cloud, publiques comme privées, soient considérées comme le modèle du futur pour de nombreuses applications, les infrastructures clusters dédiées restent souvent l option préférée pour les scénarios de données grand volume en temps réel. 2012 par Parstream GmbH 153
PARSTREAM ANALYSES DE DONNÉES À GRAND VOLUME Au-delà de la simulation détaillée de process réels, l analyse de données est une des application classique de l informatique haute performance. Ce qui est nouveau, c est que, face à l augmentation du volume de données à un point tel que nous parlons aujourd hui de données grand volume et à la diminution continue du temps d attente de résultats toléré, de nouvelles solutions spécialisées apparaissent qui appliquent le principe d extensibilité HPC à des domaines jusqu alors réservés au HPC. Base de données clustérisée optimisée pour le débit de données parallélisé le plus élevé, ParStream est une de ces solutions spécialisées. «Tandis que l analyse de données grand volume prend de plus en plus d importance, une technologie nouvelle et innovante fait son apparition et nous nous réjouissons que nos clients puissent, avec ParStream, profiter d une multiplication de performance allant jusqu à mille fois pour leurs travaux d analyses.» transtec s assure que cette solution moderne et innovante est implémentée et opérationnelle sur les systèmes disponibles les plus fiables et parfaitement sur mesure et en conformité avec les exigences client. Combiné avec les systèmes HPC et les services transtec, ParStream, en tant que cœur technologique logiciel, offre les solutions les plus fiables et les plus exhaustives pour les analyses de données grand volume. Matthias Groß HPC Sales Specialist 154
155
GLOSSAIRE ACML ( AMD Core Math Library ) Bibliothèque de développement logiciel publiée par AMD. Cette bibliothèque fournit des routines mathématiques utiles optimisées pour les processeurs AMD. Développée à l origine en 2002 pour l informatique haute performance (HPC) et l informatique scientifique, ACML permet l exploitation quasi optimale des processeurs AMD dans des applications à calcul intense. ACML comprend les composants principaux suivants : implémentation intégrale des Basic linear Algebra Subprograms ( BLAS) de niveaux 1, 2 et 3, avec optimisation pour les processeurs AMD Opteron, suite complète de routines d algèbre linéaire ( LAPACK), suite complète de transformées de Fourier rapides (FFT) pour les types simple, double, simple-complexe et double-complexe, routines rapides de bibliothèque transcendante mathématique scalaire, vecteur et array, générateurs de nombres aléatoires en précision simple et double. AMD offre des binaires précompilés à télécharger pour Linux, Solaris et Windows. Les compilateurs pris en charge comprennent gfortran, Intel Fortran Compiler, Microsoft Visual Studio, NAG, PathScale, PGI et Sun Studio. BLAS ( Basic Linear Algebra Subprograms ) Routines offrants des éléments standards pour l exécution d opération de base de vecteurs et de matrices. Les BLAS de niveau 1 réalisent des opérations scalaires, vecteur et vecteur-vecteur, les BLAS de niveau 2 des opérations matrice-vecteur et les BLAS de niveau 3 des opérations matrice. Du fait de leur efficience, portabilité et grande disponibilité, ils sont communément utilisés pour le développement de logiciel haut-de-gamme d algèbre linéaire (par ex. LAPACK). Bien qu un modèle d implémentation Fortran des BLAS soit proposé par netlib dans la bibliothèque BLAS, on s attend à une performance moindre par rapport à une implémentation spécialement configurée sur la plupart des ordinateurs à haute performances (la performance pourrait être bien plus mauvaise sur certaines machines), mais elle permet aux utilisateurs d utiliser des logiciels LAPACK sur des systèmes qui ne proposent pas d autre implémentation BLAS. Cg ( C for Graphics ) Langage de shading haut niveau développé par NVIDIA en étroite collaboration avec Microsoft pour la programmation de shaders vertex et pixel. Très similaire au HLSL Microsoft. Cg repose sur le langage de programmation C. Bien qu ils partagent la même syntaxe, certaines fonctionnalités de C ont été modifiées et de nouveaux types de données ont été ajoutés pour rendre C plus adéquat à la programmation de GPU. Ce langage ne convient que pour les GPU ; il ne s agit pas d un langage de programmation générale. Le compilateur Cg produit des programmes shader DirectXoi opengl. CISC ( complex instruction-set computer ) ISA (instruction set architecture) dans laquelle chaque instruction peut exécuter plusieurs opérations basiques telles que le chargement depuis une mémoire, une opération arithmétique ou 156
un stockage en mémoire, le tout en une seule instruction. Cette dénomination a été attribuée rétrospectivement par opposition au microprocesseur à jeu d instruction réduit (RISC, reduced instruction set computer). RISC et CISC ont perdu en signification face à l évolution continue des designs et des implémentations CISC et RISC, les processeurs modernes pouvant décoder et diviser les instructions complexes en une série de micro-opérations internes à même d être exécutées en pipeline. On obtient ainsi une performance élevée pour un sous-jeu d instructions plus important. cluster Ensemble de plusieurs systèmes, en général identiques ou similaires, travaillant en parallèle sur un problème. Anciennement connus sous le nom de clusters Beowulf, les clusters HPC sont composés de matériel de commodité et sont évolutifs grâce à leur design. En théorie, plus de machines sont intégrées au cluster, plus la performance atteinte est élevée. Protocole de contrôle Élément du standard parallel NFS Boîte à outils CUDA Élément CUDA CUDA ( Compute Uniform Device Architecture ) Architecture d informatique parallèle développée par NVIDIA. CUDA est le moteur de calcul dans les GPU (graphics processing unit) NIVIDIA. Les développeurs logiciels y accèdent par des langages de programmation standards. Les programmeurs utilisent «C pour CUDA» (C avec extensions CUDA), compilé par un compilateur PathScale Open64 C pour rédiger des algorithmes à exécuter sur le GPU. L architecture CUDA prend en charge une série d interfaces incluant OpenCL et DirectCompute. Des wrappers d éditeurs tiers sont également disponibles pour Thread Bloc de threads Mémoire partagée par bloc Mémoire locale privée par thread API pilote CUDA Élément CUDA CUDA SDK Élément CUDA Grille 0 Grille 1...... Mémoire globale de tâche par application 157
GLOSSAIRE Python, Fortran, Java et Matlab. CUDA fonctionne avec tous les GPU NVIDIA à partir de la série G8X, y compris GeForce, Quadro et la ligne Tesla. CUDA fournit une API de bas niveau et API de haut niveau. Le CUDA SDK initial a été rendu public le 15 février 2007 pour Microsoft Windows et Linux. La prise en charge Mac OS X a été intégrée plus tard dans la version 2.0 remplaçant le bêta publié le 14 février 2008.CUDA est l architecture matérielle et logicielle qui permet aux GPU NVIDIA d exécuter des programmes rédigés en C, C++, Fortran, OpenCL, Direct- Compute ou d autres langages. Un programme CUDA requiert des noyaux parallèles. Un noyau travaille en parallèle parmi un ensemble de threads parallèles. Le programmeur ou le compilateur organise ces threads en blocs de threads et en grilles de blocs. Le GPU traite les instances d un programme noyau sur une grille de blocs de threads parallèle. Chaque thread au sein d un bloc exécute une instance du noyau et dispose d une identité thread à l intérieur de son bloc, compteur ordinal, registres, mémoire privée de thread, entrées et résultats en sortie. Un bloc de threads est un ensemble de threads qui travaillent simultanément et peuvent coopérer par synchronisation des barrières et mémoire partagée. Un bloc dispose d une identité de bloc dans sa grille. Une grille est un groupe de bloc de threads qui exécutent le même noyau, lisent les entrées de la mémoire générale, y écrivent les résultats et synchronisent les appels de noyaux indépendants. Dans le modèle de programmation parallèle CUDA, chaque thread dispose d un espace de mémoire privée pour les spills de registres, les appels de fonctions et les variables array C automatiques. Chaque bloc dispose d un espace de mémoire partagée utilisé pour la communication entre les threads, le partage de données et de résultats par algorithmes parallèles. Les grilles de blocs de threads partagent les résultats dans l espace de mémoire globale après synchronisation générale de l ensemble des noyaux. La hiérarchie de threads de CUDA correspond à une hiérarchie de processeurs sur le GPU ; un GPU exécute une ou plusieurs matrices de noyaux ; un multiprocesseur de flux (SM) exécute un ou plusieurs blocs de threads et les cœurs CUDA et les autres unités d exécution sur le SM exécutent les threads. Le SM exécute les threads par groupes de 32 appelés warps. Certes, les programmeurs peuvent généralement ignorer l exécution warp pour le fonctionnement correct et programmer un seul thread. Cependant, ils peuvent grandement améliorer la performance en faisant exécuter le même chemin de code par les threads d un warp et en les faisant accéder à des adresses mémoire proches. Voir l article «Informatique GPU» pour plus de détails. DirectCompute Interface de programmation (API) prenant en charge le calcul général sur des processeurs graphiques (GPU) sous Microsoft Windows Vista ou Windows 7. DirectCompute fait partie de la série d API Microsoft DirectX. Il a été initialement publié avec l API DirectX 11, mais il fonctionne avec des GPU DirectX 10 158
et DirectX 11. L architecture CUDA partage une série d interfaces avec OpenCL et CUDA. ETL ( Extract, Transform, Load ) Process d exploitation de base de données et particulièrement d entrepôts de données réalisant : l extraction des données de sources externes, leur adaptation en fonction des besoins opérationnels (pouvant inclure des niveaux de qualités) et le chargement sur le système cible (base ou entrepôt de données). La première partie d un process ETL est l extraction des données des systèmes sources. Dans de nombreux cas, c est l étape ETL la plus sensible car l extraction correcte des données détermine le déroulement de tous les process suivants. La plupart des projets d entrepôts de données rassemblent les données de différents systèmes sources. Chacun de ces systèmes peut en outre utiliser un format ou une organisation des données différents. Les formats conventionnels de source de données sont des bases de données relationnelles et des fichiers plats, mais peuvent aussi inclure des structures de bases de données nonrelationnelles telles qu IMS (Information Management System ou d autres comme Virtual Storage Access Method (VSAM), ou Indexed Sequential Access Method (ISAM). Ils peuvent aussi inclure l extraction de sources externes comme pour l utilisation d un robot d indexation ou le screen scraping. La transmission en flux continu des données source extraites et le chargement on the fly sur la base de données cible est une autre méthode ETL possible quand aucune sauvegarde intermédiaire des données n est requise. En général, le but de la phase d extraction est la conversion des données en un format unique adéquat pour le process d adaptation. Une partie intégrante de l extraction concerne la décomposition analytique des données extraites pour vérifier que les données correspondent au modèle ou à la structure souhaités. Si ce n est pas le cas, les données peuvent être rejetées intégralement ou en partie. L étape de transformation applique une série de règles ou de fonctions aux données extraites de la source pour les adapter au chargement sur le système cible. Certaines sources n exigent aucune ou peu de manipulation des données. Dans d autres cas, un ou plusieurs types d adaptation suivants peuvent être requis pour correspondre aux exigences commerciales et techniques de la base de données cible. Lors de la phase de chargement, les données sont chargées sur le système cible, habituellement un entrepôt de données. Ce process peut varier grandement en fonction des exigences de l organisation. Certains entrepôts écrasent les données existantes avec les informations cumulatives, la mise à jour fréquente des données extraites est réalisée chaque jour, chaque semaine ou chaque mois. D autres entrepôts (voire composants d un même entrepôt) ajoutent les nouvelles données sous forme d historique, par exemple toutes les heures. Pour comprendre cela, imaginons un entrepôt de données qui sauvegarde les données des ventes de l an passé. Dans ce cas, l entrepôt écrase toutes les données vieilles de plus d un an 159
GLOSSAIRE avec les données plus récentes. Néanmoins, l enregistrement des données d une année donnée se fait sous forme d historique. Le moment et l étendue du replacement ou de l ajout sont des choix stratégiques dépendant de l espace disponible et des besoins opérationnels. Des systèmes plus complexes peuvent tenir un historique et une piste d audit de toutes les changements des données chargées sur l entrepôt. Tandis que la phase de chargement interagit avec la base de données, les contraintes définies par le modèle de base de données ainsi que les déclencheurs activés lors du chargement des données s appliquent (par ex. unicité, intégrité de référentiel, champs obligatoires), ce qui contribue à la qualité générale des données obtenues par un process ETL. FFTW ( Fastest Fourier Transform in the West ) Bibliothèque logicielle pour le calcul de transformées Fourier discrètes (TFD) développée par Matteo Frigo et Steven G. Johnson du Massachusetts Institute of Technology. FFTW est considérée comme l implémentation logicielle de l algorithme de transformées Fourier rapides (FFT) gratuite la plus rapide comme le confirment des tests réguliers. Elle peut calculer des transformées de séries réelles et de valeurs complexes de n importe quelle taille en O(n log n). standard de virgule flottante (IEEE 754) Le standard le plus utilisé pour le calcul à virgule flottante. Il est suivi par de nombreuses applications matérielles (CPU et FPU) et logicielles. Un grand nombre de langages informatiques permettent ou exigent que tout ou partie du calcul arithmétique soit effectué au format IEEE 754. IEEE 754-2008 est la version actuelle publiée en août 2008. La première version, IEEE 754-1985 a été publiée en 1985. La norme définit les formats arithmétiques et d échange, les algorithmes d arrondi, les opérations et le traitement des exceptions. Le standard inclut en outre des recommandations exhaustives pour le traitement de pointe des exceptions, des opérations supplémentaires (telles que les fonctions trigonométriques), l évaluation d expression et l obtention de résultats reproduisibles. Le standard définit le format des nombres à virgule flottante en simple précision, double précision et quadruple précision à 128 bits. Dans le projet de version 754r, le standard définit également le format de nombre en demi-précision 2 bits. FraunhoferFS (FhGFS) Système de fichiers haute performance du Fraunhofer Competence Center for High Performance Computing. Conçus avec des composants de cœurs multithread extensibles à compatibilité InfiniBand intégrée, les nœuds du système de fichiers peuvent desservir simultanément des connexions InfiniBand et Ethernet (ou tout autre réseau compatible TCP) et basculer automatiquement sur une connexion redondante en cas de défaillance d une ou plusieurs d entre elles. L un des principes les plus fondamentaux de FhGHS est la prévention rigoureuse de goulots d étranglement au sein de l architecture. La répartition des contenus sur de nombreux serveurs de stockage n est qu une partie du concept. Un autre aspect important est la distribution des métadonnées du système de fichiers (par ex. info répertoire) sur de multiples serveurs de métadonnées. En 160
règle générale, les systèmes de grande taille et les applications riches en métadonnées peuvent tirer un grand profit de cette dernière fonctionnalité. FhGFS ne requiert aucune partition dédiée du système de fichiers sur les serveurs ; il utilise les partitions existantes formatées avec n importe lequel des systèmes de fichiers Linux standard, par ex. XFS ou ext4. Pour les réseaux les plus vastes, il est aussi possible de créer plusieurs partitions FhFGS de système de fichier distinctes avec des configurations différentes. FhGHS opère sur un mode cohérent garantissant que toute modification d un fichier ou répertoire effectuée sur un client est immédiatement visible sur les autres clients. Global Arrays (GA) Bibliothèque développée par des scientifiques du Pacific Northwest National Laboratory pour l informatique en parallèle. GA propose une API conviviale pour la programmation de mémoire partagée sur des ordinateurs à mémoire distribuée pour des tableaux multidimensionnels. La bibliothèque GA est le prédécesseur des langages GAS (Global Address Space) actuellement en cours de développement pour l informatique haute performance. La boîte à outils GA dispose de bibliothèques supplémentaires comprenant un allocateur de mémoire, une interface ARMCI (Aggregate Remote Memory Copy Interface) et une fonctionnalité de stockage hors-cœur des tableaux (ChemIO). Bien que GA ait été initialement développé pour fonctionner avec TCGMSG, une bibliothèque de passage de message apparue avant le standard MPI (Message Passing Interface), il est maintenant entièrement compatible avec MPI. GA comprends des calculs matrice simples (multiplication matrice-matrice, résolution LU) et fonctionne avec ScaLA- PACK. Quelques matrices sont disponibles, mais l implémentation n est pas encore optimale. GA a été développé par Jarek Nieplocha, Robert Harrison et R. J. Littlefield. La bibliothèque ChemIO pour le stockage hors-cœur a été développée par Jared Nieplocha, Robert Harrison et Ian Foster. La bibliothèque GA est intégrée à de nombreux systèmes de chimie quantique comme NWChem, MOLPRO, UTChem, MOLCAS, et TURBOMOLE. La boîte à outils GA est un logiciel gratuit, licencié pour une licence autodéveloppée. Boîte à outils Globus Boîte à outils open source pour la conception de grilles de calcul développées et fournies par Globus Alliance. Actuellement, version 5. GMP ( GNU Multiple Precision Arithmetic Library ) Bibliothèque gratuite pour l arithmétique multi-précision, les opérations d entiers signés, les nombres rationnels et les nombres à virgule flottante. Il n y a aucune limite pratique à la précision si ce n est celles posées par la mémoire disponible sur le système dans lequel GMP est exploité (la limite d opérandes est de 231 bits sur les systèmes à 32 bits et de 237 sur ceux 64 bits). GMP dispose d un riche ensemble de fonctions, celles-ci ayant une interface conventionnelle. L interface de base est pour C mais il existe des wrappers pour d autres langages y compris C++, C#, OCamI, Perl, PHP et Python. Par le passé, la machine virtuelle Kaffe Java utilisait GMP pour prendre en charge 161
GLOSSAIRE l arithmétique multiprécision Java intégrée. Cette fonctionnalité a été retirée des dernières versions, causant des plaintes des utilisateurs déclarant utiliser Kaffe uniquement pour les avantages de vitesse apportés par GMP. C est pour cela que la prise en charge GMP a été rajoutée à GNU Classpath. Les domaines d applications principaux de GMP sont les applications et la recherche cryptographiques, les applications de sécurité Internet et les systèmes d algèbre informatique. GotoBLAS Implémentation BLAS de Kazushige Goto Grille (architecture CUDA) Élément du modèle de programmation CUDA GridFTP Extension du protocole de transfert de fichiers (FTP) standard pour l utilisation en informatique grille. Elle est définie comme composante de la boîte à outils Globus sous l organisation Global Grid Forum (précisément par le groupe de travail GridFTP). L objectif de GridFTP est de fournir une performance meilleure et plus fiable pour le transfert de fichiers dans les applications d informatique grille. Cela est rendu nécessaire par les exigences croissantes de transmission de données sur grille ; il est en effet souvent nécessaire de transmettre de très gros fichiers de façon rapide et fiable. GridFTP est la solution au problème d incompatibilité entre les systèmes de stockage et d accès. Dans le passé, chaque fournisseur de données mettait ses données à disposition selon sa propre méthode et offrant une bibliothèque de fonctions d accès. Cela rendait difficile l obtention de données de sources multiples puisqu il fallait utiliser une méthode d accès différente pour chacune d entre elles et donc partager l ensemble des données disponibles en partitions. GridFTP offre une méthode unique d accès aux données comprenant les fonctionnalités de tous les modes d accès et reposant sur le standard FTP universellement accepté et l étendant. FTP a été choisi comme fondement en raison de son utilisation très répandue et de son architecture bien définie pour les extensions du protocole (pouvant être détectées de façon dynamique). Hierarchical Data Format (HDF) Ensemble de formats et de bibliothèques de fichiers conçus pour stocker et organiser les grands volumes de données numériques. Développé à l origine par le National Center for Supercomputing Applications, il est actuellement pris en charge par le groupe à but non lucratif HDF dont la mission est d assurer le développement continu des technologies HDF5 et l accessibilité continue aux données actuellement stockées sous HDF. En accord avec cet objectif, le format et les bibliothèques HDF ainsi que les outils associés sont disponibles sous une licence libérale de type BSD pour utilisation générale. HDF est pris en charge par de nombreuses plateformes logicielles commerciales ou non, y compris Java, MATLAB, IDL et Python. La distribution HDF disponible gratuitement comprend la bibliothèque, 162
les utilitaires de ligne de commande, la source de la suite de test, interface Java et le visionneur HDF Java (HDFView). Il existe actuellement deux versions principales de HDF, HDF4 et HDF5 dont le design et l API sont significativement différents. HLSL ( High Level Shader Language ) High Level Shader Language ou High Level Shading Language (HLSL) est un langage de shading propriétaire développé par Microsoft pour l API Microsoft Direct3D. Il est similaire au langage shading GLSL utilisé avec le standard OpenGL. Il est très proche du langage NVIDIA Cg car ils ont été développés en parallèle. Les programmes HLSL sont disponibles en trois formes : shaders vertex, shaders géométrie et shaders pixel (ou fragment). Un shader vertex est exécuté pour chaque vertex soumis par l application. Il est en premier lieu responsable de la transformation du vertex d un espace objet en un espace vue, de la génération des coordonnées de texture et du calcul des coefficients d éclairage tels que les vecteurs tangent, binormal et normal du vertex. Lorsqu un groupe de vertex (normalement trois, formant un triangle) arrive au shader vertex, leur position de départ est interpolée pour former des pixels dans sa zone (process appelé rastérisation). Chacun de ces pixels traverse le shader pixel où la couleur écran résultante est calculée. Une application utilisant une interface et du matériel Direct3D10 peut aussi, de façon facultative, spécifier un nuanceur de géométrie. Le nuanceur reçoit comme entrée trois vertices d un triangle et utilise ces données pour générer (ou trianguler) des triangles supplémentaires qui sont ensuite transmis au rastériseur. InfiniBand Voie de communication matricielle commutée utilisée essentiellement dans les centres de données HPC et d entreprise. Ses fonctionnalités comprennent haut débit, faible latence, Quality of Service et failover. Il est conçu pour être extensible. La spécification d architecture InfiniBand définit la connexion entre les nœuds de processeurs et les nœuds E/S à haute performance tels que les unités de stockage. Tout comme PCI Express et de nombreuses autres interconnexions modernes, InfiniBand propose des voies de communication point-à-point bidirectionnelles en série prévues pour la connexion de processeurs à des périphériques haut débits tels que des disques. En plus de ses capacités pointà-point, InfiniBand prend en charge les opérations multicast. Il prend en charge plusieurs taux de signal et, avec PCI Express, les voies de communication peuvent être mises en faisceau pour un plus grand débit. Le débit de signaux de la connexion série SDR est de 2,5 gigabits par seconde (Gbit/s) par connexion dans les deux directions. Il est de 5 Gbit/s pour DDR et de 10 Gbit/s pour QDR. On obtient par voie 14,0625 Gbit/s pour FDR et 25,78125 pour EDR. Pour SDR, DDR et QDR, les voies utilisent un codage 8B/10B (10 bits contiennent 8 bits de données). Le débit utile de données est donc de 4/5e du débit brut. Ainsi, les taux SDR, DDR et QDR transportent respectivement 2, 4 et 8 Gbit/s de données utiles. Pour FDR et EDR, les 163
GLOSSAIRE voies utilisent un codage 64B/66B : 66 bits transportés contiennent 64 bits de données. Les installateurs peuvent regrouper les voies en unités de 4 ou 12, appelées 4X ou 12X. Une voie QDR 12X transporte donc 120 Gbit bruts par seconde ou 96 Gbit de données utiles par seconde. En 2009, la plupart des systèmes utilisent une combinaison 4X exploitant une connexion à 10 Gbit/s (SDR), 20 Gbit/s (DDR) ou 40 Gbit/s (QDR). Les systèmes plus grands avec des voies 12X sont le plus souvent utilisés pour les interconnexions de clusters et superordinateurs et les connexions entre commutateurs. Les puces de commutateurs single data rate (SDR) ont une latence de 200 nanosecondes, les DDR une latence de 140 nanosecondes et les puces QDR ont, quant à elles, une latence de 100 nanosecondes. Les latences bout-en-bout vont de 1,07 à 1,29 et 2,6 microsecondes de latence MPI. En 2009, plusieurs HCA (host channel adapter) InfiniBand sont disponibles sur le marché, chacun avec ses propres caractéristiques de latence et de largeur de bande. InfiniBand propose en outre des capacités RDMA pour des coûts CPU bas. La latence pour les opérations RDMA est inférieure à une microseconde. Voir l article principal «InfiniBand» pour une description détaillée des fonctionnalités InfiniBand. Intel Integrated Performance Primitives (Intel IPP) Bibliothèque logicielle multithread de fonctions produite par Intel pour les applications multimédia et de traitement de données. La bibliothèque prend en charge les processeurs Intel et compatibles. Elle est disponible pour les systèmes d exploitation Windows, Linux et Mac OS X. Elle est disponible séparément ou avec Intel Parallel Studio. La bibliothèque exploite les avantages des fonctionnalités processeur telles que MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AES-NI et les processeurs multi-cœurs. Intel IPP est divisé en quatre groupes de traitement principaux : Signal (avec tableau linéaire ou données vecteur), Image (avec tableaux 2D pour des espaces couleurs typiques), Matrix (avec des tableaux n x m pour les opérations de matrice) et Cryptography. La moitié des points d entrée sont de type matrice, un tiers sont de type signal et le reste de type image et cryptographie. Les fonctions IPP sont divisées en 4 types de données : les types de données comprennent 8u (non-signé 8 bits), 8s (signé 8 bits), 16s, 32f (virgule flottante 32 bits), 64f, etc. En général, un développeur d applications travaille avec un seul type de données dominant pour la plupart des fonctions de traitement, convertissant les formats de départ, de traitement et de sortie aux points de contacts. La version 5.2 a été publiée le 5 juin 2007, ajoutant des échantillons de codes pour la compression de données, une nouvelle prise en charge de codec vidéo, la prise en charge d applications 64 bits sur Mac OS X, de Windows Vista et de nouvelles fonctions pour le lancer de rayon et le rendu. La version 6.1 est parue avec Intel C++ Compiler le 28 juin 2009 et la première mise à jour 6.1 le 28 juillet 2009. 164
Intel Threading Building Blocks (TBB) Bibliothèque de modèles C++ développée par Intel Corporation pour la rédaction de programmes exploitant des processeurs multi-cœurs. La bibliothèque comprend des structures et des algorithmes de données qui permettent à un programmeur d éviter quelques unes des complications découlant de l utilisation de systèmes thread natifs tels que les threads POSIX, Windows ou les threads de Boost portables dans lesquels des threads individuels sont créés, synchronisés et supprimés manuellement. Ici, la bibliothèque abstrait l accès aux différents processeurs en permettant aux opérations d être traitées comme des «tâches» assignées dynamiquement à des cœurs individuels par le moteur runtime de la bibliothèque et en automatisant l utilisation efficace du cache CPU. Un programme TBB crée, synchronise et supprime les graphiques de tâches dépendantes en fonction des algorithmes, c.-à-d. des paradigmes de programmation parallèle haut niveau (aussi appelés squelettes algorithmiques). Les tâches sont ensuite exécutées conformément aux dépendances de graphique. Cette approche fait entrer TBB dans la famille des solutions de programmation parallèle visant à détacher la programmation des particularités de l architecture sous-jacente. Intel TBB est disponible en version commerciale (distribution binaire) avec assistance et en open source aux formats source et binaire. La version 4.0 a été présentée le 8 septembre 2011. iser (iscsi extensions for RDMA) Protocole dirigeant le protocole ISCSI sur un réseau offrant des services RDMA (comme iwarp ou InfiniBand). Cela permet de transmettre des données directement aux tampons E/S SCSI sans copie intermédiaire. Une architecture datamover (DA) définit un modèle d abstraction dans lequel le mouvement de données entre les nœuds SCSI finaux est séparé logiquement du reste du protocole iscsi. iser est un protocole datamover. L interface entre le iscsi et le protocole datamover (iser dans le cas présent) est appelée interface datamover (DI). iwarp ( Internet Wide Area RDMA Protocol ) Mise à jour IETF (Internet Engineering Task Force) du standard RDMA over TCP du consortium RDMA. Ce dernier standard est la transmission zéro copie sur TCP legacy. L implémentation noyaux d une pile TCP étant un formidable goulot d étranglement, certains fournisseurs implémentent maintenant TCP dans leur matériel. Ce matériel supplémentaire est appelé TOE (TCP offload engine). En soi, le TOE ne SDR Single Data Rate DDR Double Data Rate QDR Quadruple Data Rate FDR Fourteen Data Rate EDR Enhanced Data Rate 1X 2 Gbit/s 4 Gbit/s 8 Gbit/s 14 Gbit/s 25 Gbit/s 4X 8 Gbit/s 16 Gbit/s 32 Gbit/s 56 Gbit/s 100 Gbit/s 12X 24 Gbit/s 48 Gbit/s 96 Gbit/s 168 Gbit/s 300 Gbit/s 165
GLOSSAIRE permet d éviter la copie à la réception et doit être combiné à du matériel RDMA pour des résultats en zéro copie. La composante principale est le DDP (Data Direct Protocol) ; c est lui qui permet la transmission zéro copie. La transmission elle-même n est pas effectuée par le DDP, mais par le TCP. noyau (architecture CUDA) Élément du modèle de programmation CUDA LAM/MPI Implémentation open source haute qualité de la spécification MPI comprenant l intégralité de MPI-1.2 et une grande partie de MPI-2. Remplacée par OpenMPI. LAPACK ( linear algebra package ) Routines de résolution de systèmes d équations linéaires simultanées, de solutions de moindre carré de systèmes linéaire d équations, de problèmes de valeur propre et de valeurs singulières. À l origine, l objectif de LAPACK était de permettre aux bibliothèques EISPACK et LINPACK d opérer de façon efficiente sur des processeurs vectoriels et parallèles à mémoire partagée. Les routines LAPACK sont rédigées de façon à ce que la plus grande partie possible du calcul soit réalisée par des appels vers la bibliothèque BLAS. Alors que LINPACK et EISPACK sont basés sur des noyaux d opérations vectorielles de BLAS de niveau 1, LAPACK a été conçu dès le départ pour exploiter des BLAS de niveau 3. Des implémentations BLAS hautement efficientes et spécifiques aux systèmes sont disponibles pour de nombreux ordinateurs à haute performance. Les BLAS permettent aux routines LAPACK d atteindre une performance élevée pour les logiciels portables. layout Élément du standard NFS parallèle. Il existe actuellement 3 types de layouts : layout fichier, layout bloc/volume et layout objet, ce dernier utilisant des unités de stockage basées objet. LINPACK Ensemble de sous-routines Fortran analysant et résolvant des équations linéaires et des problèmes à moindre carré linéaires. LINPACK a été conçu pour les superordinateurs des années 70 et du début des années 80. LINPACK a été largement remplacé par LAPACK, développé pour être efficient sur les superordinateurs vectoriels à mémoire partagée. LINPACK utilise les bibliothèques BLAS pour effectuer des opérations vectorielles et matricielles de base. Les benchmarks LINPACK permettent de mesurer la puissance de calcul à virgule flottante d un système et la vitesse à laquelle un ordinateur résout un système n x n dense d équations linéaires Ax=b, tâche commune en ingénierie. La solution est obtenue par élimination de Gauss à pivot partiel avec des opérations 2/3 N³ + 2 N² à virgule flottante. Le résultat est rapporté en millions d opérations à virgule flottante par seconde (MFLOP/s, parfois appelées MFLOPS). 166
LNET Protocole de communication sous Lustre logical object volume (LOV) Entité logique sous Lustre Lustre Système de fichiers parallèles basé objet Serveur d administration (MGS) Élément fonctionnel de Lustre MapReduce Trame pour le traitement des problèmes à haute distributivité pour des ensembles de données très volumineux exploitant un grand nombre d ordinateurs (nœuds), collectivement appelés cluster (lorsque tous les nœuds utilisent le même matériel) ou une grille (si les nœuds utilisent du matériel différent). Le traitement de calcul peut concerner des données stockées soit dans un système de fichiers (non structuré) ou dans une base de données (structuré). Étape «map» : le nœud maître reçoit l entrée, la divise en sous-problèmes plus petits et les distribue à des nœuds exécutants. Les nœuds exécutants peuvent faire de même, ce qui conduit à une structure arborescente à plusieurs niveaux. Le nœud exécutant traite le problème divisé et renvoie la réponse vers son nœud maître. Étape «Reduce» : le nœud maître rassemble les réponses à tous les sous-problèmes et les recombine pour former les données de sortie, c.-à-d. la réponse au problème qu il avait á résoudre au départ. MapReduce permet le traitement distribué des opérations de mapping et de réduction. Lorsque les opérations de mapping sont indépendantes les unes des autres, alors, toutes les maps peuvent être exécutées en parallèle, bien que cela soit en pratique limité par le nombre de sources de données indépendantes et/ou le nombre de CPU près de chaque source. De façon similaire, un ensemble de «réducteurs» peuvent exécuter la phase de réduction si toutes les sorties de l opération de mapping qui partagent la même clé sont présentées au même réducteur au même moment. Bien que ce procédé puisse paraître moins efficace que des algorithmes plus séquentiels, MapReduce peut être utilisé pour des ensembles de données beaucoup plus volumineux que ce que peuvent traiter des serveurs de commodité ; une grande ferme de serveurs peut utiliser MapReduce pour trier un pétaoctet de données en seulement quelques heures. Le parallélisme offre en outre certaines possibilités de restauration après une défaillance partielle des serveurs ou du stockage pendant l opération : si l un des exécutants map ou reduce échoue, les tâches peuvent être replanifiées, si les données d entrée sont toujours disponibles. Serveur de métadonnées (MDS) Élément fonctionnel de Lustre 167
GLOSSAIRE metadata target (MDT) Entité logique sous Lustre MKL ( Math Kernel Library ) Bibliothèque de routine mathématiques optimisées pour les applications scientifiques, d ingénierie et financières développée par Intel. Les fonctions mathématiques principales comprennent BLAS, LAPACK, ScalaPACK, solveurs sparse, transformées de Fourier rapides et mathématique vecteur. La bibliothèque prend en charge les processeurs Intel et compatibles ; elle est disponible pour les systèmes d exploitation Windows, Linux et Mac OS X. MPI, MPI-2 ( message-passing interface ) Protocole de communication indépendant de tout langage et utilisé pour programmer des ordinateurs parallèles. Il prend en charge la communication point-à-point et collective. MPI reste aujourd hui le modèle dominant en informatique haute performance. Il existe actuellement deux versions très populaires du standard : la version 1.2 (ou MPI-1) qui met l accent sur la transmission des messages et dispose d un environnement runtime statique et MPI-2.1 (MPI-2) qui intègre de nouvelles fonctions telles que E/S parallèle, gestion de processus dynamique et des opérations de mémoire à distance. MPI-2 spécifie plus de 500 fonctions et offre des bindings de langages pour ANSI C, ANSI Fortran (Fortran90) et ANSI C++. L interopérabilité des objets définie par MPI a été ajoutée pour faciliter la programmation des transmissions de messages en langage mixte. Un effet secondaire de la standardisation de MPI-2 (terminée en 1996) est la clarification du standard MPI-1, créant ainsi le niveau MPI-1.2. MPI-2 est en grande partie une mise à niveau de MPI-1 bien que certaines fonctions aient été critiquées. Ainsi les programmes MPI-1.2 fonctionnent tout de même sous des implémentations MPI au standard MPI-2. Le Forum MPI s est réuni en 2007 pour clarifier quelques points du MPI-2 et explorer les développements possibles d un éventuel MPI-3. MPICH2 Implémentation MPI 2.0 portable en accès libre, proposée par l Argonne National Laboratory MPP ( massively parallel processing ) Les tâches dites MPP sont des programmes informatiques composés de plusieurs parties exécutées en parallèle sur plusieurs systèmes, calculant souvent des problèmes de simulation. La communication entre ces parties peut être réalisée, par exemple, par l interface MPI logicielle. MS-MPI Implémentation MPI 2.0 Microsoft livrée avec Microsoft HPC Pack 2008 SDK, basée sur et conçue pour une compatibilité maximale avec l implémentation de référence MPICH2. MVAPICH2 Implémentation MPI 2.0 basée sur MPICH2 et développée 168
par le département d informatique et d ingénierie de l Université d État de l Ohio. Elle est disponible sous licence BSD et elle est compatible avec MPI sur InfiniBand, 10GigE/iWARP et RDMAoE NetCDF ( Network Common Data Form ) Ensemble de bibliothèques logicielles et de formats de données auto-descriptifs et indépendants des systèmes qui prennent en charge la création, l accès et le partage des données scientifiques orientées tableau. La page web du projet est hébergée par le programme Unidata de l University Corporation for Atmospheric Research (UCAR). C est aussi la source principale des logiciels, développements de standards et de mises à jour NetCDF. Le format est un standard ouvert. NetCDF Classic et le format offset 64 bits sont un standard international de l Open Geospatial Consortium. Le projet est activement soutenu par UCAR. La version 4.0, publiée récemment (2008) améliore grandement le modèle de données en permettant l utilisation du format de fichier de données HDF5. La version 4.1 (2010) ajoute la prise en charge de l accès client C et Fortran vers des sous-ensembles spécifiques de données à distance via OPeNDAP. Le format était à l origine basé sur le modèle conceptuel CDF de la NASA, mais il a divergé depuis et n est plus compatible avec lui. Il est fréquemment utilisé pour les applications climatologiques, météorologiques et océanographiques (par ex. les prévisions météo et les changements climatiques) et les applications GIS. C est un format d entrée et de sortie pour de nombreuses applications GIS et pour l échange de données scientifiques générales. La bibliothèque NetCDF C et les bibliothèques basées sur elle (Fortran 77 et Fortran 90, C++ et toutes les bibliothèques third party) peuvent lire certaines données dans d autres formats depuis la version 4.1.1. Les données au format HDF5 peuvent, avec quelques restrictions, être lues. Les données au format HDF4 peuvent être lues par la bibliothèque NetCDF C si elles ont été créées avec l API HDF4 Scientific Data (SD). NetworkDirect Interface réseau basée sur RDMA (remote direct memory access) implémentée dans Windows Server 2008 et les versions suivantes. NetworkDirect emprunte un chemin plus direct entre les applications MPI et le réseau matériel offrant un fonctionnement réseau rapide et efficace. Voir l article «Windows HPC Server 2008 R2» pour plus de détails. NFS (Network File System) Protocole de système fichiers en réseau développé par Sun Microsystems en 1984 et permettant à l utilisateur d un client d accéder à des fichiers sur un réseau d une façon similaire à l accès à des fichiers stockés localement. Comme de nombreux autres protocoles, NFS repose sur le système ONC RPC (Open Network Computing Remote Procedure Call). NFS est un standard ouvert défini dans des RFC permettant à tout le monde d implémenter ce protocole. 169
GLOSSAIRE Sun a utilisé la version 1 uniquement à des fins d expérimentation interne. Lorsque l équipe de développement a publié la version 1 de NFS en dehors de Sun après y avoir fait des changements importants, ils ont décidé d appeler la nouvelle version V2 afin de tester l Interopérabilité des versions et le retour de version RPC. À l origine, la version 2 du protocole (définie dans le RFC 1094, mars 1989) fonctionnait entièrement sur UDP. Ses concepteurs souhaitaient conserver le protocole en stateless avec le blocage (par exemple) implémenté à l extérieur du protocole central. Nouveautés de la version 3 (RFC 1813, juin 1995) : Prise en charge des tailles de fichiers 64-bit et offsets pour le traitement de fichiers supérieurs à 2 gigaoctets (Go) Prise en charge de l écriture asynchrone sur serveur pour améliorer les performances d écriture Nouveaux attributs de fichiers pour de nombreuses réponses pour éviter la recherche répétée Opération READDIRPLUS pour l obtention de descripteurs et d attributs ainsi que des noms de fichiers lors de la recherche dans un annuaire toute une série d autres améliorations Lors de l introduction de la version 3, la prise en charge du TCP comme protocole de couche de transport par les fournisseurs a commencé à se répandre. Alors que certains avaient déjà ajouté la prise en charge de la version 2 de NFS avec TCP comme moyen de transport, Sun Microsystems a intégré la prise en charge de TCP comme moyen de transport pour NFS en même temps que pour la version 3. L utilisation de TCP comme transport a rendu plus praticable l exploitation de NFS sur WAN. Influencée par AFS et CIFS, la version 4 (RFC 3010, décembre 2000, révisée par RFC 3530, avril 2003) offre des améliorations de performance, une sécurité renforcée et introduit un protocole stateful. La version 4 est la première à être développée par l IETF (Internet Engineering Task Force) après que Sun Microsystems ait remis le développement des protocoles NFS entre ses mains. La version 4.1 (NFSV4.1) est été approuvée par l IESG et a reçu un numéro de RFC en janvier 2010. La spécification NFSV 4.1 a pour objectif d offrir la prise en charge du protocole pour l exploitation des déploiements de serveurs en clusters, y compris la possibilité de fournir un accès parallèle extensible aux fichiers distribués sur de multiples serveurs. NFSV 4.1 introduit aussi la fonctionnalité NFS parallèle (pnfs) autorisant le parallélisme de l accès aux données. Le protocole NFSV 4.1 définit la méthode de séparation des métadonnées du système de fichiers de la position des données fichiers. Il va au-delà de la simple séparation nom/données en entrelaçant les données sur un ensemble de serveurs de données. C est une différence par rapport aux serveurs NFS traditionnels qui conservent le nom des fichiers et leurs données sous un même toit du serveur. 170
En plus de pnfs, NFSV 4.1 propose sessions, délégation et notifications d annuaire, espaces nom multiserveur, listes de contrôle d accès (ACL/SACL/DACL), attribution de rétention et SECINFO_ NO_NAME. Voir l article «Systèmes de fichiers parallèles» pour plus de détails. Des travaux de préparation d un projet sont en cours pour une version future 4.2 du standard NFS, incluant des «systèmes de fichiers fédérés» formant l équivalent du DFS (distributed file system) de Microsoft. NUMA ( non-uniform memory access ) Design de mémoire utilisé dans les multiprocesseurs où le temps d accès mémoire dépend de la position de la mémoire par rapport au processeur. Sous NUMA, un processeur peut accéder à sa propre mémoire locale plus rapidement qu à une mémoire non locale, telle la mémoire locale d un autre processeur ou la mémoire partagée de plusieurs processeurs. object storage server (OSS) Élément fonctionnel de Lustre object storage target (OST) Entité logique sous Lustre object-based storage device (OSD) Évolution intelligente de lecteurs de disques pouvant stocker et livrer des objets plutôt que de seulement placer des données sur des pistes ou des secteurs. La tâche consiste à déplacer des fonctions de stockage de bas niveau vers l unité de stockage et à accéder à cette unité par une interface d objet. Contrairement aux unités orientées sur bloc traditionnelles proposant un accès aux données organisé en un ensemble de blocs indépendants, le stockage en objets permet d accéder aux données par des objets de stockage. Un objet de stockage est une entité virtuelle regroupant des données définies par l utilisateur comme étant logiquement apparentées. L espace pour un objet de stockage est alloué en interne par l OSD lui-même au lieu d un système de fichiers sur hôte. Les OSD gèrent le stockage de base nécessaire, l administration des espaces et les fonctions de sécurité. La seule possibilité pour une application de retrouver un objet est d utiliser son identifiant (OID) puisqu il n y a pas de métadonnées d objets sur hôte (comme l information inode). L interface SCSI a été modifiée et étendue par le Groupe Technique OSD du SNIA (Storage Networking Industry Association) composé de participants industriels et universitaires avec, en 2009, le projet de standard T10 en résultat. Ce standard a été ratifié en 2004 et il est devenu le jeu de commandes ANSI T10 SCSI OSD V1, publié sous le nom INCITS 400-2004. Le SNIA continue à travailler sur d autres extensions de l interface telle que le jeu de commande ANSI T10 SCSI OSD V2. OLAP cube ( Online Analytical Processing ) Ensemble de données organisé de manière à faciliter les requêtes non-prédéterminées d informations non agrégées, ou en d autres termes, le traitement analytique en ligne, OLAP. OLAP est l une des techniques informatiques d analyse de 171
GLOSSAIRE données commerciales appelées collectivement informatique décisionnelle. Les cubes OLAP peuvent être considérés comme des extensions des tableaux à deux entrées d une feuille de tableur. Par exemple, une entreprise peut décider d analyser des données financières par produit, par période, par ville, par type de revenu et de coût ou encore de comparer des données réelles à un budget. Ces méthodes d analyses supplémentaires sont appelées dimensions. Le nombre de dimensions dans un système OLAP pouvant dépasser trois, on parle aussi parfois d hypercube. OpenCL ( Open Computing Language ) Trame de rédaction de programme à exécuter sur des plateformes hétérogènes composées de CPU, GPU et autres processeurs. OpenCL comprend un langage (basé sur C99) pour la rédaction de noyaux (fonctions exécutées sur unités OpenCL) et des API utilisées pour définir et contrôler les plateformes. Open- CL permet l informatique parallèle en exploitant le parallélisme des tâches et des données. OpenCL est analogue aux standards industriels ouverts OpenGL et OpenAL utilisés respectivement pour le graphisme 3D et l audio informatique. Développé à l origine par Apple Inc. qui en détient toujours les droits, OpenCL est maintenant géré par le groupe Khronos, consortium technologique non commercial. OpenMP ( Open Multi-Processing ) Interface de programmation (API) acceptant la programmation multiprocesseur à mémoire partagée multiplateforme en C, C++ et Fortran sur de nombreuses architectures y compris les plateformes Unix et Microsoft Windows. Il s agit d un jeu de directives de compilateurs, de routines de bibliothèques et de variables d environnement influençant le comportement du runtime. Défini conjointement par d importants constructeurs de matériels et éditeurs de logiciels, OpenMP est un modèle portable et dimensionnable qui offre aux programmeurs une interface simple et flexible pour le développement d applications parallèles pour des plateformes allant du desktop au superordinateur. Une application conçue avec un modèle hybride de programmation parallèle peut fonctionner sur un cluster utilisant à la fois OpenMP et MPI (Message Passing Interface) ou, de façon plus transparente, par l exploitation d extensions OpenMP pour les systèmes à mémoire non partagée. PCIe 1.x PCIe 2.x PCIe 3.0 PCIe 4.0 x1 256 MB/s 512 MB/s 1 GB/s 2 GB/s x2 512 MB/s 1 GB/s 2 GB/s 4 GB/s x4 1 GB/s 2 GB/s 4 GB/s 8 GB/s x8 2 GB/s 4 GB/s 8 GB/s 16 GB/s x16 4 GB/s 8 GB/s 16 GB/s 32 GB/s x32 8 GB/s 16 GB/s 32 GB/s 64 GB/s 172
OpenMPI Implémentation MPI-2 open source développée et gérée par un consortium de partenaires universitaires, industriels et de chercheurs. parallel NFS (pnfs) Standard de système de fichiers parallèles, en option pour la norme NFS 4.1 actuelle. Voir l article «Systèmes de fichiers parallèles» pour plus de détails. PCI Express (PCIe) Standard de carte d extension destiné à remplacer les anciens standards PCI, PCI-X et AGP. Présenté en 2004 par Intel, PCIe (communément appelé PCI-E) est le dernier standard pour les cartes d extension pour les ordinateurs courants. Au contraire des standards d extension PC antérieurs, PCIe est structuré sur des lignes point-à-point en série dont une paire (une ligne dans chaque direction) constitue une voie (lane) au lieu d un bus parallèle partagé. Ces voies sont routées par un hub sur la carte-mère agissant comme un switch crossbar. Ce comportement point-à-point permet à plus d une paire d unités de communiquer entre elles en même temps. Par contraste, les anciennes interfaces PC reliaient de façon permanente toutes les unités au même bus et donc une seule unité à la fois pouvait envoyer des informations. Ce format permet donc les regroupements de canaux dans lesquels plusieurs voies sont groupées à une seule paire d unités pour offrir une plus grande largeur de bande. Le nombre de voies est «négocié» durant le lancement ou de façon explicite durant l opération. Par la flexibilité du nombre de voies, un standard unique est en mesure de répondre aux besoins de cartes à large bandes passantes (par ex. cartes graphiques, Gigabit Ethernet et Gigabit Ethernet multiport). C est aussi plus économique pour les cartes moins exigeantes. Contrairement aux standards d interface d extension PC antérieurs, PCIe est un réseau de connexions point-à-point. Ainsi l arbitrage du bus ou l attente de sa libération sont supprimés et les communications en duplex intégral sont possibles. Cela signifie que, bien que les standards PCI-X (133 MHz 64 bit) et PCI x4 ont sensiblement le même débit de données, PCI x4 réalise une meilleure performance lorsque plusieurs paires d unités communiquent simultanément ou en cas de communication bidirectionnelle entre une seul paire. Les spécifications du format sont développées et suivies par un groupe de plus de 900 entreprises leaders du marché et appelé le PCI-SIG (PCI Special Interest Group). Avec PCIe 1.x, chaque voie transporte environ 250 Mo/s. Publié fin 2007, PCIe 2.0 introduit le mode de signaux Gen2 et double le débit avec env. 500 Mo/s. Le 18 novembre 2012, le PCI Special Interest Group présente officiellement la spécification finalisée PCI Express 3.0 à ses membres pour qu ils développent des systèmes basés sur cette nouvelle version de PCI Express qui permet des signaux en mode Gen3 à 1 GB/s. Le 29 novembre 2011, Le PCI SIG annonce continuer vers PCI Express 4.0 proposant 16 GT/s, toujours sur 173
GLOSSAIRE technologie cuivre. De plus, des recherches seront menées sur l optimisation de l alimentation active et en ralenti. On attend les spécifications finales pour 2014 ou 2015. PETSc ( Portable, Extensible Toolkit for Scientific Computation ) Suite de structures de données et de routines pour la solution (parallèle) extensible des applications scientifiques modelées par des équations différentielles partielles. Elle utilise le standard MPI (Message Passing Interface) pour la communication des messages. La version actuelle de PETSc est 3.2, publiée le 8 septembre 2011. PETSc est indiqué pour l exploitation dans des projets d application à grande échelle. De nombreux projets de science computationnelle en cours sont construits autour des bibliothèques PETSc. Son design soigné permet aux utilisateurs chevronnés d avoir un contrôle exhaustif sur le process de solution. PETSc comprend une riche suite de solveurs d équations linéaires et non-linéaires parallèles, faciles à utiliser dans les codes d applications rédigés en C, C++, Fortran et maintenant Python. PETSc fournit la plupart des mécanismes requis pour les codes d application parallèles comme des routines d assemblage matrice et vecteur parallèles simples permettant le chevauchement de la communication et du calcul. En outre, PETSc comprend la prise en charge des réseaux distribués parallèles utiles pour les méthodes de différence finie. process thread PTX ( parallel thread execution ) Parallel Thread Execution (PTX) est un pseudo-langage d assemblage utilisé en environnement de programmation CUDA. Le compilateur nvcc traduit le code rédigé en CUDA, un langage proche de C, en PTX et le pilote graphique dispose d un compilateur traduisant PTX en quelque chose d exécutable sur les cœurs de processeurs. RDMA ( remote direct memory access ) Permet le déplacement de données directement de la mémoire d un ordinateur à celle d un autre sans avoir à impliquer le système d exploitation de l un ou de l autre. Cela permet une circulation réseau à haut débit et basse latence, ce qui est un avantage pour les clusters massivement parallèles. RDMA repose sur une philosophie particulière de DMA. RDMA prend en charge la communication réseau à zéro copie en permettant à l adaptateur réseau de transmettre des données directement à partir ou vers la mémoire de l application, éliminant ainsi la nécessité de copier les données entre la mémoire de l application et les tampons dans le système d exploitation. Ces transferts n exigent aucune participation des CPU, des caches ou des commutateurs de tâches et ils se poursuivent en parallèle sur les autres systèmes d exploitation. Quand une application exécute une requête RDMA d écriture ou de lecture, les données de l application sont livrées directement sur le réseau, réduisant ainsi la latence et accélérant la transmission de messages. Parmi les implémentations RDMA communes, on trouve InfiniBand, iser et iwarp. 174
RISC ( reduced instruction-set computer ) Stratégie de conception de CPU mettant l accent sur l idée que des instructions simplifiées et «en faisant moins» peuvent tout de même offrir des performances élevées si cette simplicité peut être exploitée pour exécuter des instructions plus rapidement CISC. ScaLAPACK ( scalable LAPACK ) Bibliothèque incluant un sous-ensemble de routines LAPACK modifiées pour des ordinateurs parallèles MIMD (multiple instruction, multiple data) à mémoire distribuée. Actuellement rédigée en style Single-Program-Multiple- Data utilisant une transmission message explicite pour la communication entre processeur. ScaLAPACK est conçu pour l informatique hétérogène et portable sur tout ordinateur compatible MPI. Les composants fondamentaux de la bibliothèque ScaLAPACK sont des versions à mémoire distribuée (PBLAS) de BLAS de niveaux 1, 2 et 3 et un ensemble de BLACS (Basic Linear Algebra Communication Subprograms) pour les tâches de communications fréquentes dans le calcul algébrique linéaire parallèle. Dans les routines ScaLAPACK, la communication entre les processeurs se fait en totalité avec les PBLAS et les BLACS. Un des objectifs de la conception de ScaLAPACK était de rapprocher les routines ScaLAPACK le plus possible de leurs équivalents LAPACK. Architecture orientée service (AOS ou SOA) Mode de développement d applications distribuées et couplées de façon souple et dans lesquelles les fonctions sont divisées en services distincts pouvant être distribués par le réseau, combinés ou réutilisés. Voir l article «Windows HPC Server 2008 R2» pour plus de détails. Simple précision/double précision standard de virgule flottante SMP ( shared memory processing ) Les tâches dites SMP sont des programmes en plusieurs parties fonctionnant sur un même système et accédant à une région de mémoire partagée. Les programmes multithreads sont une implémentation commune des tâches SMP. La communication entre les threads peut être réalisée, par exemple par le standard d interface logicielle Open MP, mais aussi (de façon non standard) par des mécanismes natifs UNIX de communication entre les process. SMP ( symmetric multiprocessing ) Architecture multiprocesseur ou multicœur dans laquelle deux ou plusieurs processeurs ou cœurs identiques peuvent se connecter de façon absolument symétrique à une mémoire partagée principale unique. La distance entre la mémoire principales et chacun des cœurs est identique. Contraire : NUMA Protocole d accès stockage Élément du standard parallel NFS 175
GLOSSAIRE STREAM Programme-benchmark synthétique simple mesurant la largeur de bande durable (en Mo/s) et le taux de calcul correspondant pour les noyaux vectoriels simples. streaming multiprocessor (SM) Composant matériel de la série GPU Tesla Gestionnaire de sous-réseau Application responsable de la configuration du sous-réseau InfiniBand local et de la continuité de son fonctionnement processeur superscalaire Une architecture CPU superscalaire est l implémentation sur un processeur unique d une certaine forme de parallélisme appelée le parallélisme d instruction. Ainsi, elle autorise un débit CPU plus rapide qu il serait autrement possible avec le même cycle d horloge. Un processeur superscalaire exécute plus d une instruction par cycle d horloge en distribuant simultanément plusieurs instructions à des unités fonctionnelles redondantes sur le processeur. Chaque unité fonctionnelle n est pas de cœur CPU distinct, mais une ressource d exécution à l intérieur d un seul CPU telle qu une unité arithmétique et logique, un décaleur de bit ou un multiplieur. Tesla La troisième marque de GPU NVIDIA basée sur les GPU haut de gamme G80 et suivants. Tesla est la première série de NVIDIA dédiée à l informatique GPU générale. Avec leur immense puissance de calcul (mesurée en opération à virgule flottante par seconde ou FLOPS) comparée aux microprocesseurs récents, les produits Tesla sont destinés au marché HPC. Les fonctions premières des produits Tesla sont les simulations, le calcul à grande échelle (surtout le calcul à virgule flottante), la génération d image dans les domaines professionnels et scientifiques avec CUDA. Voir l article «Informatique GPU NVIDIA» pour plus de détails. thread Un thread d exécution est un branchement dans un programme vers deux ou plusieurs tâches en cours d exécution. L implémentation des threads et des processus diffèrent d un système d exploitation à l autre, mais dans la plupart des cas, un thread est contenu dans un seul processus. En général, l exécution multithread sur un seul processeur se fait par multitasking : le processeur commute entre les différents threads. Dans un système multiprocesseur ou multicœur, les threads ou les tâches sont exécutés en même temps, chaque processeur ou cœur traitant une tâche ou un thread particulier. Les threads se distinguent des processus en ce que les processus sont typiquement indépendants tandis que les threads sont des sous-ensembles de processus. Alors que les processus ont des espaces d adressage séparés, les threads partagent leur espace d adressage, ce qui rend la communication entre les threads plus facile que dans la communication classique entre les processus (IPC). 176
thread (architecture CUDA) Élément du modèle de programmation CUDA warp (in CUDA architecture) Élément du modèle de programmation CUDA Cube OLAP Bloc de thread (architecture CUDA) Élément du modèle de programmation CUDA thread processor array (TPA) Composant matériel de la série GPU Tesla 10 Gigabit Ethernet Standard Ethernet le plus rapide, publié pour la première fois en 2002 sous le nom IEEE Std 802.3ae-2002. Il définit une version d Ethernet avec un débit de données nominal de 10 Go/s, dix fois plus rapide que Gigabit Ethernet. Au fil des années, plusieurs standards 802.3 en rapport avec 10GbE ont été publiés et ensuite intégrés au standard IEEE 802.3-2005. IEEE 802.3-2005 et d autres amendements sont ensuite été regroupés sous IEEE Std 802.3-2008. 10 Gigabit Ethernet ne prend en charge que les lignes duplex intégrales qui peuvent être connectées par des switches. Les opérations semi-duplex et CSMA/CD (carrier sense multiple access with collision detect) ne sont pas prises en charge par 10GbE. 10 Gigabit Ethernet comprend un certain nombre de standard de couches physiques (PHY). En 2008, 10 Gigabit Ethernet est encore une technologie émergeante avec seulement un million de ports livrés en 2007. Il n est pas encore sûr laquelle des PHY sera le plus largement acceptée sur le marché. 177
REMARQUES
REMARQUES
REMARQUES
Merci de remplir la carte postale à droite ou d envoyer un e-mail à hpc@transtec.de pour plus d information. P Oui : je souhaite recevoir plus d information sur les solutions HPC transtec. P OUI : je souhaite être contacté par un spécialiste HPC transtec. M intéressent : P nœuds de calcul et autre matériel P cluster et gestion de flux applicatifs P services HPC P informatique GPU P systèmes de fichiers parallèles et stockage HPC P solutions InfiniBand P post-traitement à distance et visualisation P bases de données HPC et analyse de données grand volume Société Service : Nom : Address : CP, ville : Email :
transtec AG Waldhoernlestrasse 18 72072 Tuebingen Allemagne
CAO Analyse de risque Automobile Sciences de la vie Modélisation de prix Informatique haut débit Ingénierie Simulation Aérospatiale IAO Aérospatiale CAO Ingénierie Informatique haut débit Sciences de la vie Analyse de risque Analyse de données grand volume Analyse de données grand volume Modélisation de prix IAO Simulation Automobile
Analyse de risque Automobile Informatique haut débit Simulation Ingénierie IAO Analyse de données grand volume Sciences de la vie Aérospatiale Modélisation de prix Analyse de risque transtec Allemagne Tél +49 (0) 7071/703-400 transtec@transtec.de www.transtec.de transtec Suisse Tél +41 (0) 44/818 47 00 transtec.ch@transtec.ch www.transtec.ch CAO transtec Royaume-Uni Tél +44 (0) 1295/756 500 transtec.uk@transtec.co.uk www.transtec.co.uk ttec Pays-Bas Tél +31 (0) 24 34 34 210 ttec@ttec.nl www.ttec.nl transtec France Tél +33 (0) 3.88.55.16.00 transtec.fr@transtec.fr www.transtec.fr Textes et conception : Mise en page et design : Dr. Oliver Tennert, directeur Technology Management & HPC Solutions Oliver.Tennert@transtec.de Stefanie Gauger, Graphics & Design Stefanie.Gauger@transtec.de transtec AG, Septembre 2012 Les graphismes, diagrammes et tableaux dans cette brochure sont la propriété intellectuelle de transtec AG et ne peuvent être reproduits ou publiés qu avec une autorisation expresse. Aucune responsabilité ne saurait être engagée du fait d erreur ou omission éventuelles. Les autres noms et logos sont, le cas échéant, des marques appartenant à leurs propriétaires respectifs.