Nouveautés : Windows HPC Server 2008 R2 et le vol de cycles Mercredi 9 Février : 11H00 à 12H00 Muriel BARTHELEMY– Commerciale Technical Computing Thomas VARLET – Expert Technical Computing Microsoft France
Agenda Initiative Technical Computing Windows HPC Server 2008 R2 Administration/surveillance du cluster Ajouter de la puissance au cluster Utilisation du cluster Développement d’applications parallèles
Initiative Technical Computing
Tendances ayant un impact sur le HPC Tendances dans le HPC Plus de puissance de calcul Explosion des données Gestion des données Analyse des données Plateforme Multi-coeur Cloud computing GPU Tendances ayant un impact sur le HPC Rendre le HPC plus accessible Contrôler et aligner les couts Rendre l’accès plus facile pour les utilisateurs d’organisations de toutes tailles Utiliser les compétences des équipes IT pour administrer les ressources HPC Coût total Unifier l’infrastructure d’entreprise et le HPC
Vision de Microsoft pour le HPC Fournir une plateforme, des outils et un écosystème, le tout intégré et complet pour réduire les coûts et la complexité du HPC. Offrir une vision claire et complète du futur. Réduire la complexité Mainstream HPC Ecosystème large Faciliter le déploiement des clusters de calculs Adresser les besoins traditionnels du HPC Augmenter les nombre d’applications parallèles Simplifier la gestion de clusters de toutes tailles Adresser les technologies émergeantes Offrir un large choix d’outils de dev./langages /bibliothèques Intégrer les clusters avec l’infrastructure existante Offrir un accès simple aux puissances fournies par le HPC Construire un univers plus large d’administrateurs / de développeurs et d’utilisateurs 6
Windows HPC aujourd’hui 2006 2008 2010 HPC hautement « scalable » et efficace Construit à partir de Windows Server 2008 R2, Extensible à des milliers de serveurs, Eléments d’administration personnalisable pour un meilleur contrôle Evolution du modèle SOA pour une programmation plus facile et une plus grande extensibilité Développement parallèle avec VS 2010 & .NET 4.0 HPC Services pour Excel ® 2010 Extension des capacités via les stations de travail et Windows Azure
Windows HPC Server 2008 R2 Une plateforme complète et intégrée de cluster HPC Construit à partir de Windows Server 2008 R2 64-bit Répond aux besoin actuels et futurs du HPC Windows Server 2008 R2 HPC Edition Securisé, fiable, testé Support de hardware haute performances (x64, réseaux rapides, GPU) Microsoft HPC Pack 2008 R2 Enterprise Ordonnanceur Gestion des ressources Gestion du Cluster Message Passing Interface Support de Windows 7 Support de Windows Azure Microsoft Windows HPC Server 2008 R2 Suite Propose une solution complète Rentabilise les investissements sur l’administration Windows et ses outils Rend les opérations aussi faciles que sur un seul système
Windows HPC Server 2008 R2 Suite Excel Cluster SOA MPI ISV /OSS Applications Applications HPC SOA HPC Middleware Pack HPC Edition Système d’exploitation Cluster utilisant un hardware standard
Microsoft Technical Computing Client Cluster Cloud Une machines avec un seul espace d’adressage mémoire Nœuds multiples, Mémoire distribuée Nœuds multiples, Mémoire distribuée, Capacité à la demande Microsoft Technical Computing
Windows HPC et le Cloud On-premise Azure Desktop Compute Cloud via Idle Workstation Cores On-premise HPC Head Node Desktop User HPC Cluster Broker Node(s) Azure Azure Compute Instances Azure Compute Proxies
Windows HPC Server 2008 R2
Outils de dev. Parallèle & Cluster Technologies nouvelles Windows HPC Server 2008 R2 Déploiement Configuration Monitoring Diagnostics Trouble Shooting Diskless & Dual-boot Reporting Tuning de Performance MPI Job en batch Mode interactif (SOA) Calculs distribués « Business Critical » SOA Excel et apps ISV Politique d’utilisation du cluster 1000s de machines Modèles d’application multiples Administration Outils de dev. Parallèle & Cluster Technologies nouvelles Scale Performance Partners Secure IDE intégré Debugger MPI Profiler MPI debugger SOA Task Parallel Library, PLINQ Support intégré des GPU Private clouds Public clouds HPC comme un service Big Data Analytics Visualisation Workflow intégré
Architecture d’un cluster HPC Active Directory HPC Clients Compute Nodes Head Nodes Jobs Requests Jobs Jobs Windows HPC Server 2008 R2 cluster
Rôles dans WHPCS R2 Head Node Broker Node Compute Node Serveur qui permet d’administrer et d’utiliser les ressources de calcul du cluster, c’est l’interface du cluster Broker Node Serveur(s) qui dirige(nt) les appels aux services WCF depuis les clients SOA vers les services SOA sur les computes nodes Compute Node Serveurs sous WS2008/WS2008 R2 x64 qui fournissent de la puissance de calculs aux utilisateurs Toujours disponibles Workstation node PC sous Windows 7 qui fournit de la puissance de calcul additionnelle au cluster Disponibilité variable en fonction des choix de l’organisation Azure node Ressource supplémentaire provisionnée dans Windows Azure SP1
Mise en oeuvre des rôles Active Directory Azure Node Jobs Jobs HPC Clients Head Nodes Compute Nodes Jobs Jobs Jobs Broker Nodes Jobs WCF request Workstation Nodes Jobs Jobs
Administration et surveillance du cluster
Administration du cluster Une seule console pour TOUTES les taches d’administration Interface GUI, PowerShell, Command Prompt Déploiement Monitoring Diagnostics Gestion des utilisateurs/administrateurs du cluster Gestion des serveurs Etats : Santé : services HPC Statuts : ordonnanceur Organiser : Création de groupes de machines P. Ex. : Groupe machines avec/sans GPU P. Ex. : Groupe machines avec ANSYS Fluent Passer des commandes Gestion des mises à jours
Administration du cluster déploiement NEW Déploiement rapide de cluster ayant plus de 1000 machines Déploiement Parallèle en utilisant le mode multicast de WDS Surveiller l’état du déploiement Wizzard de déploiement « To-Do list » montre les étapes Générer/capturer des images, personnalisation de l’installation Boot iSCSI sur le réseau pour des serveurs sans disque local Dual-boot pour lancer des applications Windows et Linux sur le même cluster Partenariat avec Platform Computing et Adaptive Computing
Administration du cluster Cluster Monitoring Heatmap montre le statut global du cluster Jusqu’à trois métriques par serveur Onglets personnalisables et multiples pour des vues différentes de la Heatmap. Voir les machines groupées par hardware; software ou par des attributs personnalisés Surveillance sans agent des computes nodes Voir le statut et le progrès des jobs et des tâches
Administration du cluster Diagnostics & Reporting Intégration avec Event Tracing for Windows (ETW) pour du « trouble shooting ». Tracing SOA , debugging MPI et SOA Collection de diagnostics qui permettent de vérifier un grand nombre de fonctions du cluster (déploiement, infra, perf, … ) Framework extensible de diagnostics Ouvert aux développeurs Création de diagnostics personnalisables dans tous les langages de programmation ou scripts. Infrastructure extensible de reporting Interface d’administration du cluster Les données sont stockées dans une base SQL, elles sont exportables via PowerShell, SQL Server Reporting services ou Excel. P.ex. : Silverlight reporting samples
Haute disponibilté Les parties clé du cluster sont toujours disponibles Head Node Active/passif Cluster haute disponibilité SQL SOA Broker Node Active/passifs MSMQ, MSCS Storage Haute disponibilité sur les requêtes SOA MSMQ Jobs Re-soumis si le nœud « fail »
Ajouter de la puissance au cluster
Ajouter des Workstation au Cluster Etendre la capacité du cluster en utilisant des stations de travail pour lancer des jobs de calculs Sommaire Ajouter des machines sous Windows 7 comme ressources de calculs Voir et surveiller les stations comme des computes nodes Calendrier de disponibilité Prérequis Windows 7 Professional ou Enterprise, 32 ou 64-bit (nécessite le support Active Directory) Desktops et cluster dans le mm domaine AD
Cluster HPC Server 2008 R2 avec des stations de travail Active Directory Clients HPC / Station de travail Compute Nodes Jobs Head Nodes Jobs Requête Jobs Jobs Jobs Jobs Windows HPC Server 2008 R2 cluster
Workstation Nodes : disponibilité HPCS R2 ne déploie pas les stations ! Disponibilité Manuelle Définie par l’administrateur du cluster Calendrier Donne la disponibilité des stations sur une semaine Vol de cycle Utilisation quand la station n’est pas utilisée SP1
Cluster HPC Server 2008 R2 avec des Azure Node Active Directory SP1 HPC Clients Compute Nodes Head Nodes Jobs Jobs Broker Nodes Jobs Azure Node Jobs Jobs
HPCS dans Azure: Le Cloud à votre service SP1 Quatre modèles de déploiement Tout local Toutes les ressources sont locales Tout dans le cloud Toutes les ressources dans Azure Mixe Compute Nodes locaux et ajout dynamique de ressources dans le Cloud Retour en local Début dans Azure, puis ajout en local Deux modèles de stockage Deux modèles d’applications En local, déployé dans Azure. Tout dans Azure: SQL Azure, Azure Storage Service SOA du Cluster Calcul distribué
Utilisation du cluster
Soumettre des jobs Windows HPC Server 2008 R2 cluster Active Directory HPC Clients HPC GUI Compute Ressources Requête Jobs HPC CMD/PS Head Nodes Jobs Requête Jobs Requête Web Interface Jobs Windows HPC Server 2008 R2 cluster Apps Requête
Une plateforme pour tous types d’applications : ordonnanceur Granularité des ressources core, socket ou server Gestion des différents types de Jobs SOA, MPI, Batch, Interactive, balayage paramétrique Support des différents types de politique d’ordonnancement Grow & Shrink, Preemption, Service Balanced, Priority, Backfill Interfaces Multiples Command Line, GUI, SharePoint, Windows PowerShell 2.0, COM, .NET Support de large cluster (> 1000 serveurs) Support de matériel hétérogène Groupe de serveur
Ordonnanceur : Gestion Fonctionnalités But Resource Match-making Permet à l’utilisateur de spécifier ses besoins (cpu, réseau et applications) de manière à ce que l’ordonnanceur puisse bien placer le job Job Profile Permet à l’administrateur de créer des politiques d’utilisation optimales pour l’utilisateur et le cluster Allocation de ressources à plusieurs niveaux Permet à l’ordonnanceur de placer d’une façon optimale les applications intensives pour les accès mémoire et IO Préemption Permet aux job urgents de passer le plus rapidement possible afin de satisfaire les besoins importants pour l’organisation Grow & Shrink Maximiser l’utilisation des ressources et la production du cluster Service Balanced Démarrer le plus de jobs possible afin d’augmenter la production du cluster
Performance et extensibilité: Network Direct 3/31/2017 9:52 PM Performance et extensibilité: Network Direct Une nouvelle interface réseau de type RDMA pour de meilleures performances Un design très proche du hardware pour offrir des performances proches des interfaces haute performance des réseaux rapides Performances équivalentes aux couches optimisées Drivers Network Direct pour les réseau haute performance: Infiniband 10 Gigabit Ethernet (iWARP-enabled) MS-MPI peut utiliser 4 modes: Mémoire partagée TCP/IP (Ethernet “normal”) Winsock Direct pour un RDAM basé sur des sockets Interface NetworkDirect User Mode Kernel Mode TCP/Ethernet Networking Kernel By-Pass MPI App Socket-Based App MS-MPI Windows Sockets (Winsock + WSD) Networking Hardware Hardware Driver Mini-port Driver TCP NDIS IP User Mode Access Layer WinSock Direct Provider NetworkDirect Provider RDMA Networking OS Component HPCS2008 Component IHV Component (ISV) App © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Plateforme pour tous types d’applications SOA sur un cluster HPC Expose les fonctions de calculs comme un service WCF Applications distribuées Utiliser la puissance offerte par les cluster aux applications business Optimisé pour une latence faible (ms) et une charge importante Debugger et analyser afin de créer des applications robustes Support pour des applications critiques Tolérance aux pannes du hardware et du réseau Tolérance aux pannes des postes/applications clientes
HPC Cluster SOA Organisation des requêtes 3/31/2017 9:52 PM HPC Cluster SOA Organisation des requêtes Compute Nodes Head Node 1. Crée une Session 2. Le gestionnaire de session démarre le job WCF Broker et le job WCF Service pour le job client 3. requêtes 4. requêtes Workstation Broker Node 5. Réponses 6. Réponses Construit sur des Web Service Standards (WS* interop) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Classeur Excel sur un Cluster UDF Excel sur le Cluster Se connecte au cluster comme un client SOA code VSTO dans un classeur fait appel à un service SOA Entrées et sorties gérées par le développeur Excel Accélérer Excel 2010 Tourne de multiples instances Excel 2010 sur Cluster HPC Chaque instance lance une itération du même classeur Peut-être lancé depuis Excel 2010 ou une appli Windows Suppression des boites de dialogue Client SOA Excel Tourner en parallèle sur un cluster UDF Excel Excel 2010 inclut une nouvelle API et des options pour un cluster HPC Support des fichiers.XLL développés avec le SDK Facile à développer sur un desktop et déployé sur un cluster Classeur Excel sur un Cluster NEW UDF Excel sur le Cluster NEW
Exécuter un classeur Excel vers un cluster Compute Nodes Head Node Requête de session Assigne un broker Spreadsheet Assignation d’une tache Résultats Résultats Soumission de tache Brokers
Exécuter des UDFs sur un Cluster Compute Nodes Head Node Requête de session UDF UDF Assigne un broker Spreadsheet UDF Assignation d’une tache UDF Résultats Résultats Soumission de tache Brokers UDF UDF
Accélérer Excel classeurs Excel vs. « Remote » UDFs Classeur Excel sur un cluster Remote UDFs Calculs complexes ou basés sur des feuilles Excel. Des entrées multiples pour produire des sorties multiples Quand Excel est utilisé comme un moteur de calcul et pas une « simple » interface Code VBA Fournit une façon simple et non-destructive de porter des classeurs sur un cluster Pas besoin de développer une nouvelle plateforme Programmation Excel Maintenance simple par les utilisateur Gestion des pop-up Excel Extensibilité : limité par le hardware et SOA , pas Excel Calculs encapsulés dans une fonction P. Ex. custom .XLL Calcul complexe ou gros consommateur de temps Peu de changement sur la fonction dans le temps Une recompilation nécessite un redéploiement sur le cluster Les calculs doivent être indépendants d’autres cellules Pas d’interdépendance au sein de la feuille
Développement d’applications parallèles
Vue globale: Programmation parallèle sous Windows Ecrire une apps Visual Studio IDE C C++ Intel Fortran PGI Fortran C# Python F# Cygwin env. MingW env. Exécuter MPI avec support RDMA High Performance MPI.NET OpenMP GPGPU (Nvidia, ATI) TPL (.NET parallelization) PPL (C++ parallelization) Parallel LINQ Debugger Debugger Cluster MPI Add-in VS de Allinea Debugger Multicore Marmot MPI Analyzer Profiler Visual Studio ETW: support de MPI Vampir MPI trace viewer Xperf ETW viewer et Analyzer VS/ETW Multicore Profile viewer Gestion Life Cycle mgmt Bug Tracking Support de tests Gestion des version Metrics Analyse Une sélection riche et intégrée d’outils/compilateurs/debugger/profiler pour écrire des applications parallèles
Windows HPC Server 2008 R2 Dévelopement d’applications parallèles pour un cluster Visual Studio et ses add-in pour le développement d’applications parallèles Support du développement MPI (debugger) Support du développement d’applications SOA pour un cluster Parallel LINQ et Task Parallel Library (TPL) inclus dans le .NET Framework 4.0 Support du développement pour des GPGPU en partenariat avec NVIDIA Support d’outils et bibliothèques tierces
Développement d’Application NVIDIA Parallel Nsight Accélérer le développement d’applications CPU + GPU GPU computing CUDA C OpenCL DirectCompute Graphiques DirectX 10 and 11 OpenGL OS Windows Vista, Windows 7, et Windows Server 2008 Intégration dans Visual Studio 2008/2010
Technologies parallèles dans Visual Studio 2010 Rendre les applications parallèles plus productives et plus accessibles Abstraction et construction de haut niveau Faciliter et réduire l’impact du développement parallèle sur le code Aider les développeurs à exprimer un parallélisme au sein du code et le faire correspondre aux ressources hardware Inclut des outils de développement avancés qui comprennent les constructions parallèles debugger et profiler
Pour nous suivre et participer : modelingtheworld.com twitter.com/modelingtw facebook.com/modelingtheworld http://blogs.technet.com/WindowsHPC/ www.microsoft.com/hpc onglet : communauté, tous les forums pour toutes les questions HPC sur Technet : http://technet.microsoft.com/en-us/library/cc514029.aspx HPC sur MSDN : http://msdn.microsoft.com/en-us/library/bb743248.aspx