1
Le HPC et Windows Azure
Thomas VARLET – Expert Technical Computing
Stéphane WOILLEZ – Expert Cloud Computing
Microsoft France
2
Agenda
• Workload HPC dans Windows Azure
• Introduction à Windows Azure
• Comprendre les rôles Windows Azure
• Abaques de performances Azure
• HPC sur Azure, l’exemple PIXAR
• Utiliser Windows Azure avec Windows HPC Server
2008 R2 SP1
• Windows HPC Server 2008 R2 SP1 ?
• Les Azure Nodes
• Démo
5
• Les rôles permettent de construire son architecture applicative
• Ils exécutent différents types de tâches spécialisées ou non
• Les rôles dialoguent entre eux au travers de files de messages
• Implémente l’interactivité avec l’utilisateur
• Basé sur Internet Information Server préinstallé
• Supporte les extensions classiques IIS
• Piloté et configuré au travers des outils de développement
• Pas d’interactivité avec l’utilisateur
• Implémente la logique métier de l’application
• Similaire au batch, à la couche applicative, aux services windows
• Piloté et configuré au travers des outils de développement
• Utilisé pour pouvoir installer des applications complexes
• Les images sont construites par l’utilisateur avec Hyper-V
• Le master créé est téléchargé sur Azure pour être utilisé
VM Role
Worker Role
Web Role
Les Rôles Windows Azure
pour construire ses applications
6
Performances des composants Azure
VM Type CPU Memory Peak Mbps
Extra Small 1 768MB 5
Small 1 1.75GB 100
Medium 2 3.50GB 200
Large 4 7.00GB 400
XL 8 14.0GB 800
Performances Réseau
• Chaque cas est différent, il faut toujours tester et mesurer
• Les rôles Azure fonctionnent sur Windows Server 2008 (R2) 64bits
• Une bonne estimation des perfs des Web Rôles : 50 req/s par CPU (sauf XS)
• Pour les questions au sujet des performances : WAZVMPERF@microsoft.com
Opération Performance
64K Seq Read 50-110MBps
64K Seq Write 40-100MBps
64K Rand Read 15-20MBps
64K Rand Write 10-18MBps
Accès au disque local
7
HPC sur Azure l’exemple PIXAR
• Calcul d’images de synthèse sur Windows Azure
• Portage du moteur de rendering « RenderMan Pro Server » sur Azure
• PIXAR apporte le moteur de rendering, écrit en C et
packagé pour fonctionner sur Azure
• GreenButton apporte le framework d’exécution de
taches de rendering
• Microsoft apporte l’infrastructure de calcul cloud avec
Windows Azure
• L’application permet de choisir le nombre de serveurs
associés à un job en fonction des délais et couts
associés
• Automatisation complète de la création des serveurs
virtuels, leur configuration, la soumission des jobs et la
suppression des serveurs en fin de travail
8
Worker RoleWeb Role
1
n
Queue
Blob
Table
Architecture de la solution PIXAR
1) L’utilisateur
soumet un job de
rendering et choisi
le nombre de
serveurs à utiliser
pour son rendering
2) Le job est ajouté à une
table pour pouvoir y
accéder et le manipuler
ultérieurement
3) GreenButton découpe le
job en fonction du nombre
de serveurs choisi et poste
les demande de travaux
dans un file d’attente Azure
4) Les moteurs de rendering
Pixar récupèrent les jobs et
exécutent le rendu qui leur est
attribué
6) Les différents fichiers sont enfin
assemblés pour construire le
résultat final
5) Chaque moteur de rendering
poste son travail fini dans un blob
Azure
1
2
3 4
56
11
Utiliser Windows Azure avec
Windows HPC Server 2008 R2
SP1
Ou comment utiliser simplement Windows
AZURE pour ajouter de la puissance à un
cluster Windows HPC Server 2008 R2 SP1
Thomas VARLET
12
Bibliothèques de
distribution
Outils pour utiliser toutes ces
ressources de calcul
- MS-MPI
- SOA
Composantes de HPC Server
Ordonnanceur
Gérer les ressources de calcul
du cluster pour les utilisateurs
Administration
Administrer/surveiller les
machines du cluster
13
Windows HPC Server 2008 R2
Une boite à outils complète et intégrée pour toutes* les
applications parallèles
Clients HPC
Jobs
Requests
Head & Broker Nodes
Ressources de
calcul
* toutes: MPI, SOA, Batch, Interactive, Parametric sweeps. …
Stations de travail
Serveurs Locaux
Ressources Azure
15
Azure Node
HPC Server 2008 R2 SP1 déploie dans Azure de nouvelles ressources
Utilise Windows Azure pour lancer des jobs Windows HPC Server
Jobs
Requests
Head & Broker Nodes
Azure Gateway
Azure
Clients HPC
19
HPC Head Node
Scheduler
Azure Service
HPC Azure Runtime
Web Role
HPC
Azure
Proxy
Service
Worker Role
HPC
Node
Manager
Worker Role
Worker Role
Worker Role
HPC Node
Manager
20
WHPCS dans Azure:
Le Cloud à votre service
Retour en local
Début dans Azure, puis ajout en
local
1. Service SOA du Cluster
2. Calcul distribué
1. En local, déployé dans Azure.
2. Tout dans Azure: SQL Azure, Azure Storage
Tout dans le
cloud
Toutes les ressources dans
Azure
Tout local
Toutes les ressources sont locales
Mixe
Compute Nodes locaux et ajout
dynamique de ressources
dans le Cloud
Quatre modèles de déploiement
Deux modèles de stockage Deux modèles d’applications
23
WHPCS dans Azure - Bénéfices
Flexibilité et choix
Une solution simple
depuis un seul
fournisseur
Environnement simple et
familier pour les outils
de développement
Intégration forte avec
Azure
Le cloud à votre façon :
• Choix dans le modèle de déploiement (on-premise, cloud ou mode mixe)
• Choix du modèle d’application (managed ou basé sur VM)
• Choix du type de stockage (SQL, Blob)
• Techniquement intégré avec le modèle de développement / déploiement /
administration d’Azure.
• Vue unique de l’utilisation et du coût des ressources.
• garantie de performance et de disponibilité.
• Un unique point de contact pour le support .
• Intégration pour une plus grande facilité de diagnostics / debugging /
surveillance.
Utilisation d’outils familier et fiables pour tous les modèles de développement:
• Visual Studio
• Cluster SOA et MPI
•profiler and debugger en Cluster
• HPC Cluster Manager
24
WHPC Azure Nodes
• Obtenir/créer une souscription Azure
• Configurer le Head Node
• Certificat, firewall, …
• Créer une template de machines pour un « Azure Worker
Role »
• Ajouter les « Azures nodes » dans WHPCS R2
• Démarrer les « Azure Nodes »
LIENS sur Technet :
” Deploying Azure Worker Nodes in Windows HPC Server
2008 R2 SP1 Step-by-Step Guide ”
http://technet.microsoft.com/en-us/library/gg481749(WS.10).aspx