Innovation Recherche
Retour d'expérience
Big Compute & HPC
sur Windows Azure
Antoine Poliakov
Consultant HPC
ANEO
apoliako...
#mstechdays Innovation Recherche#3
• Cloud : accès via un réseau de télécommunications, à la demande et en libre-service, ...
#mstechdays Innovation Recherche#4
Etat de l’art du cloud pour le HPC
Expériences
Technologie
Cloud HPC
Cas d’usage
logici...
#mstechdays Innovation Recherche#5
Identifier des partenaires et technologies
• Logiciel HPC
• Cloud performant
Porter l’a...
#mstechdays Innovation Recherche#6
Un projet collaboratif : 3 acteurs complémentaires
Introduction
Equipes de recherche en...
#mstechdays Innovation Recherche#7
Des équipes motivées et compétentes : merci !
Introduction
Recherche
 Cas d’usage : se...
#mstechdays Innovation Recherche#8
1. Contexte technique
2. Retour d’expérience du portage
3. Optimisations
4. Résultats
S...
Innovation Recherche#mstechdays #9
1. LE CONTEXTE TECHNIQUE
a. Azure Big Compute
b. ParSon
#mstechdays Innovation Recherche#10
Azure Big Compute = Nouveaux nœuds Azure + HPC Pack
• 2x8 snb E5-2670 @2.6Ghz, 112Gb D...
#mstechdays Innovation Recherche#11
HPC Pack : cluster privé
Azure Big Compute
• Active Directory, Manager et nœuds
dans l...
#mstechdays Innovation Recherche#12
HPC Pack : dans le cloud Azure Big Compute
• Active Directory et manager dans le cloud...
#mstechdays Innovation Recherche#13
HPC Pack : déploiement hybride
Azure Big Compute
• Active Directory et manager dans le...
#mstechdays Innovation Recherche#14
• ParSon = algorithme de segmentation audio voix / musique
1. Apprentissage sur échant...
#mstechdays Innovation Recherche#15
ParSon : une application parallèle OpenMP + MPI
ParSon
1. Upload fichiers
d’entrée
OAR...
#mstechdays Innovation Recherche#16
Les performances sont limitées par les entrées-sorties
ParSon
8
32
128
512
2048
1 4 16...
Innovation Recherche#mstechdays #17
2. PORTAGE VERS AZURE BIG COMPUTE
a. Portage du code C++ : Linux  Windows
b. Portage ...
#mstechdays Innovation Recherche#18
• Grâce au respect du standard C++ par le code ParSon et Visual,
il y a très peu de mo...
#mstechdays Innovation Recherche#19
ParSon dans le Cluster Linux
Portage
1. Upload fichiers
d’entrée
OAR
2. Réserve
N mach...
#mstechdays Innovation Recherche#20
HPC
pack
SDK
ParSon dans le Cloud Azure
Portage
1. Upload fichiers
d’entrée
HPC Cluste...
#mstechdays Innovation Recherche#21
A chaque mise à jour logicielle : packaging + envoi dans Azure Storage
1. Envoi vers l...
#mstechdays Innovation Recherche#22
• Le temps de transfert du fichier son est supérieur au temps de calcul séquentiel
• S...
Innovation Recherche#mstechdays #23
3. OPTIMISATIONS
#mstechdays Innovation Recherche#24
• La maillon faible du déploiement précédent est le transfert du fichier d’entrée
1. E...
#mstechdays Innovation Recherche#25
• RAMFS = système de fichiers dans un bloc mémoire RAM
– Extrêmement rapide
– Capacité...
#mstechdays Innovation Recherche#26
• Tous les systèmes de transferts “classiques” utilisent l’interface Ethernet
– Accès ...
Innovation Recherche#mstechdays #27
4. RÉSULTATS
#mstechdays Innovation Recherche#28
Le calcul passe bien à l’échelle, surtout pour les gros fichiers
Résultats
#mstechdays Innovation Recherche#29
Les entrées-sorties détériorent le passage à l’échelle
Résultats
+-
#mstechdays Innovation Recherche#30
Débit Storage régulier (220 Mo/s), latence parfois élevée
Broadcast constant @700 Mo/s...
Innovation Recherche#mstechdays #31
5. BILAN
#mstechdays Innovation Recherche#32
Notre retour d’expérience sur la technologie Big Compute
• Support des standards HPC :...
#mstechdays Innovation Recherche#33
Azure Big Compute pour la recherche et l’entreprise
• Accès au calcul sans barrière
ad...
#mstechdays Innovation Recherche#34
Merci
?
Merci pour votre attention
• Antoine Poliakov
apoliakov@aneo.fr
• Stéphane Via...
Digital is business
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Prochain SlideShare
Chargement dans…5
×

Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]

287 vues

Publié le

Le cloud est-il adapté aux besoins du calcul hautes performances ? La réponse par l’expérience : les consultants HPC d'ANEO ont porté et optimisé une application scientifique distribuée développée par Supélec depuis leur cluster Linux vers la nouvelle offre de cloud Microsoft, Big Compute (nœuds reliés en InfiniBand).

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
287
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Antoine ANEO
    Scientifique HPC  Big Compute MS
  • Cloud omniprésence télécom  moyens informatiques partagés
    HPC = science supercaclulaterus
    HPC Cloud = vecteur innvoation : bureau d’étude PME, expé médical, calculs de risques financiers
    Réseau cloud intercontinental vs cluster maison
  • ANEO
    Supélec
    MS
  • MS
    Supélec
    ANEO
  • OAR  HPC Cluster Manager
    + Active Directory
    NAS  Azure Storage
    + transferts nœuds via SDK Azure
  • Inverser l’ordre
  • Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]

    1. 1. Innovation Recherche Retour d'expérience Big Compute & HPC sur Windows Azure Antoine Poliakov Consultant HPC ANEO apoliakov@aneo.fr http://blog.aneo.eu
    2. 2. #mstechdays Innovation Recherche#3 • Cloud : accès via un réseau de télécommunications, à la demande et en libre-service, à des ressources informatiques partagées configurables • HPC (High Performance Computing) : branche de l’informatique visant à atteindre les plus hautes performances logicielles possibles en particulier en termes de vitesse de calcul – La puissance de calcul double tous les 1,5 - 2 ans – La vitesse des réseaux double tous les 2 - 3 ans – L’écart calcul/réseaux double tous les 5 ans • Intérêt du HPC dans le cloud : accessibilité (PME, recherche, etc.)  moteur d’innovation énorme • Le cloud peut-il garantir des performance suffisantes pour le HPC ? – CPU : 100% natif – RAM: 99% natif – Réseau ??? HPC : un challenge pour le cloud Introduction
    3. 3. #mstechdays Innovation Recherche#4 Etat de l’art du cloud pour le HPC Expériences Technologie Cloud HPC Cas d’usage logiciel HPC Expérimenter le cloud HPC : 3 ingrédients Introduction
    4. 4. #mstechdays Innovation Recherche#5 Identifier des partenaires et technologies • Logiciel HPC • Cloud performant Porter l’application HPC : cluster  cloud • Montée en compétences • Retour d’expérience Expérimenter et mesurer les performances • Passage à l’échelle • Transferts de données Expérimenter le cloud HPC : notre démarche Introduction
    5. 5. #mstechdays Innovation Recherche#6 Un projet collaboratif : 3 acteurs complémentaires Introduction Equipes de recherche en HPC reconnues  Calcul distribué et big data  Apprentissage et systèmes interactifs Objectifs  La technologie est-elle adaptée au calcul scientifique ?  Spécificités du déploiement dans le cloud ?  Performances Windows Azure : fournisseur d’une solution cloud HPC Azure Big Compute Objectifs  Avoir un retour d’expérience technique avant la release  Suivre de l’intérieur un portage cluster  cloud Cabinet de conseil en technologie et organisation  Practice HPC : traitement rapide/massif d’information pour la finance et l’industrie Objectifs  Identifier les cas d’usage les plus pertinents  Mesurer la complexité du portage et du déploiement  Evaluer la maturité de la solution dans un contexte de production
    6. 6. #mstechdays Innovation Recherche#7 Des équipes motivées et compétentes : merci ! Introduction Recherche  Cas d’usage : segmentation audio distribuée  Analyse des expériences Fournisseur  Fournisseur de la solution technique  Mise à disposition d’importants moyens de calculs Conseil  Portage et déploiement de l’application dans le cloud  Réalisation de benchmarks Constantinos Makassikis Consultant HPC Wilfried Kirschenmann Consultant HPC Antoine Poliakov Consultant HPC Stéphane Rossignol Pr adjoint, Traitement signal Stéphane Vialle Professeur, Informatique Xavier Pillons Principal Program Manager, Windows Azure CAT Kévin Dehlinger Stagiaire ingénieur CNAM
    7. 7. #mstechdays Innovation Recherche#8 1. Contexte technique 2. Retour d’expérience du portage 3. Optimisations 4. Résultats Sommaire
    8. 8. Innovation Recherche#mstechdays #9 1. LE CONTEXTE TECHNIQUE a. Azure Big Compute b. ParSon
    9. 9. #mstechdays Innovation Recherche#10 Azure Big Compute = Nouveaux nœuds Azure + HPC Pack • 2x8 snb E5-2670 @2.6Ghz, 112Gb DDR3 @1.6Ghz • InfiniBand (network direct @40Gb/s) : RDMA via MS-MPI @3.5Go/s, 3µs • IP Ethernet @10Gb/s ; HDD 2To @250Mo/s • Hyperviseur Azure Nœuds A8 et A9 • Middleware de gestion des tâches : Cluster Manager + SDK • Testé à 50k cœurs dans Azure • Extension Pack gratuit : Tout Windows Server peut servir de nœud HPC Pack Azure Big Compute
    10. 10. #mstechdays Innovation Recherche#11 HPC Pack : cluster privé Azure Big Compute • Active Directory, Manager et nœuds dans l’infrastructure privée d’entreprise • Cluster dimensionné par rapport à la charge maximale • Administration : matérielle et logicielle AD M N N N N N N N N N N N N
    11. 11. #mstechdays Innovation Recherche#12 HPC Pack : dans le cloud Azure Big Compute • Active Directory et manager dans le cloud • Dimensionnement et facturation à la demande • Administration logicielle uniquement Azure Big Compute AD M N N N N N N N N N N N N Bureau / console à distance Nœuds PaaS VM IaaS
    12. 12. #mstechdays Innovation Recherche#13 HPC Pack : déploiement hybride Azure Big Compute • Active Directory et manager dans le datacenter • Nœuds répartis entre le datacenter et le cloud • Dimensionnement local suivant la demande moyenne Dimensionnement cloud dynamique : absorbe les pics • Administration logicielle et matérielle AD M N N N N N N N N N N N N N N N N N N N N N N N N VPN
    13. 13. #mstechdays Innovation Recherche#14 • ParSon = algorithme de segmentation audio voix / musique 1. Apprentissage sur échantillons connus pour calibrer la classification 2. Classification à base d’analyse spectrale (FFT) sur fenêtre glissantes ParSon : un logiciel scientifique de segmentation audio ParSon ParSon Découpage et classification Audio numérisée voix musique
    14. 14. #mstechdays Innovation Recherche#15 ParSon : une application parallèle OpenMP + MPI ParSon 1. Upload fichiers d’entrée OAR 2. Réserve N machines 4. MPI Exec 6. Rapatriement des sorties NAS Machines réservées du cluster Cluster Linux 3. Déploiement des entrées 5. Exécution Tâches inter- communicantes Données Contrôle
    15. 15. #mstechdays Innovation Recherche#16 Les performances sont limitées par les entrées-sorties ParSon 8 32 128 512 2048 1 4 16 64 256 Meilleurtempsd'éxécution(s) Nombre de noeuds en réseau, à froid en local, à froid IO bound
    16. 16. Innovation Recherche#mstechdays #17 2. PORTAGE VERS AZURE BIG COMPUTE a. Portage du code C++ : Linux  Windows b. Portage de la distribution : Cluster  HPC Cluster Manager c. Portage et adaptation des scripts de déploiement
    17. 17. #mstechdays Innovation Recherche#18 • Grâce au respect du standard C++ par le code ParSon et Visual, il y a très peu de modifications à faire dans le code applicatif • L’application s’appuie sur la bibliothèque standard et des bibliothèques scientifiques multiplateformes : libsnd, fftw... • Grâce à MS-MPI, le code de communication MPI reste inchangé • Visual Studio supporte OpenMP de manière native • Le seul travail a consisté à traduire les fichiers de build : Makefile  Projet Visual C++ Standards respectés = portage Linux  Windows facile Portage
    18. 18. #mstechdays Innovation Recherche#19 ParSon dans le Cluster Linux Portage 1. Upload fichiers d’entrée OAR 2. Réserve N machines 4. MPI Exec 6. Rapatriement des sorties NAS Machines réservées du cluster Cluster Linux 3. Déploiement des entrées 5. Exécution Données Contrôle
    19. 19. #mstechdays Innovation Recherche#20 HPC pack SDK ParSon dans le Cloud Azure Portage 1. Upload fichiers d’entrée HPC Cluster Manager 2. Réserve N machines 4. MPI Exec 6. Rapatriement des sorties Azure Storage Nœuds A9 provisionnés PaaS Big Compute 3. Déploiement des entrées AD Domain controler IaaS PaaS Données Contrôle 5. Exécution
    20. 20. #mstechdays Innovation Recherche#21 A chaque mise à jour logicielle : packaging + envoi dans Azure Storage 1. Envoi vers le manager – Soit via Azure Storage Set-AzureStorageBlobContent  Get-AzureStorageBlobContent hpcpack create ; hpcpack upload  hpcpack download – Soit via transfert classique : serveur de fichiers accessible d’internet – FileZilla ou autre 2. Script de packaging : mkdir, copy, etc. ; hpcpack create 3. Envoi sur storage Azure : hpcpack upload A chaque provisionnement de nœuds : copie de travail locale 1. Exécution sur les nœuds via clusrun depuis le manager 2.hpcpack download 3.powershell -command "Set-ExecutionPolicy RemoteSigned" Invoke-Command -FilePath … -Credential … Start-Process powershell -Verb runAs -ArgumentList … 4. Installation : %deployedPath%deployScript.ps1 Déploiement dans Azure Portage
    21. 21. #mstechdays Innovation Recherche#22 • Le temps de transfert du fichier son est supérieur au temps de calcul séquentiel • Sur plusieurs nœuds, le temps de calcul est négligeable face aux transferts • Limite de taille d’entrée : format WAV 2-4Go ; code C++ 4Mds échantillons Ce premier déploiement présente des limitations Portage
    22. 22. Innovation Recherche#mstechdays #23 3. OPTIMISATIONS
    23. 23. #mstechdays Innovation Recherche#24 • La maillon faible du déploiement précédent est le transfert du fichier d’entrée 1. Ecriture disque : 300 Mo/s  Utilisation d’un RAMFS 2. Accès Azure Storage : QoS 1.6 Go/s  Téléchargement unique depuis le stockage, puis distribution en InfiniBand 3. Données volumineuses : 60 Go  FLAC c8 : divise la taille par 2, lève la limitation de taille du format WAV  Passage des compteurs en 64 bits dans le code C++ Méthodologie : suppression du goulet d’étranglement Optimisations
    24. 24. #mstechdays Innovation Recherche#25 • RAMFS = système de fichiers dans un bloc mémoire RAM – Extrêmement rapide – Capacité limité et non persistant • ImDisk – Léger : driver + service + ligne de commande – Open-source mais signé : fonctionne sous Win64 • Installation silencieuse scriptée – schématiquement : – hpcpack create … – rundll32 setupapi.dll,InstallHinfSection DefaultInstall 128 disk.inf Start-Service -inputobject $(get-service -Name imdisk) – imdisk.exe -a -t vm -s 30G -m F: -o rw format F: /fs:ntfs /x /q /Y – $acl = Get-Acl F: $acl.AddAccessRule(…FileSystemAccessRule("Everyone","Write", …)) Set-Acl F: $acl • A exécuter à chaque provisionnement des nœuds Accélération de l’accès local aux données via un RAMFS Optimisations
    25. 25. #mstechdays Innovation Recherche#26 • Tous les systèmes de transferts “classiques” utilisent l’interface Ethernet – Accès Azure Storage via les SDK Azure et HPC Pack – Partage Windows ou lecteur réseau CIFS – Autres protocoles de transfert réseau : FTP, NFS, etc. • Le moyen le plus simple d’utiliser InfiniBand est via MPI 1. Sur une machine : télécharge le fichier d’entrée : Azure  RAMFS 2. mpiexec broadcast.exe : 1 process par machine • Nous avons codé un programme C++ MPI • Si id = 0, lit le RAMFS par blocs de 4Mb et envoi aux autres par InfiniBand : MPI_Bcast • Si id ≠ 0, reçoit les blocs de données et les enregistre dans le fichier sur RAMFS • Utilisation des API Win32 plus rapides que les abstractions standard C ou C++ 3. Le fichier est dans la RAM de tous les nœuds, accessible en tant que fichier par l’application Accélération du transfert réseau Optimisations
    26. 26. Innovation Recherche#mstechdays #27 4. RÉSULTATS
    27. 27. #mstechdays Innovation Recherche#28 Le calcul passe bien à l’échelle, surtout pour les gros fichiers Résultats
    28. 28. #mstechdays Innovation Recherche#29 Les entrées-sorties détériorent le passage à l’échelle Résultats +-
    29. 29. #mstechdays Innovation Recherche#30 Débit Storage régulier (220 Mo/s), latence parfois élevée Broadcast constant @700 Mo/s Résultats
    30. 30. Innovation Recherche#mstechdays #31 5. BILAN
    31. 31. #mstechdays Innovation Recherche#32 Notre retour d’expérience sur la technologie Big Compute • Support des standards HPC : C++, OpenMP, MPI – 10 jours de portage • Des performances solides – Calcul : CPU, RAM – Réseau inter-nœuds • Un support efficace – Communautaire, Microsoft • Interface utilisateur claire et intuitive – manage.windowsazure.com – HPC Cluster Manager • Tout est scriptable et programmable • Cloud plus flexible que cluster figé • Une gestion unifiée des moyens de calcul de l’entreprise et du cloud ! • Transfert de données – Latence parfois élevée du stockage Azure – Débit limité sur Azure storage  répartition sur plusieurs comptes – Disques durs lents (pour HPC), même sur A9 • Administration des nœuds – Les transferts nœuds ↔ manager passent obligatoirement par Azure storage : plus lourd qu’un NAS ou lecteur réseau • Le temps de provisionnement (~7min) est à prendre en compte
    32. 32. #mstechdays Innovation Recherche#33 Azure Big Compute pour la recherche et l’entreprise • Accès au calcul sans barrière administrative ou financière • Mise à disposition des moyens de calculs en quelques minutes – parfait pour l’extension de deadline d’une conférence  • Parfaitement adapté aux chercheurs en algorithmique parallèle – Expériences paramétriques • Un supercalculateur accessible à tous sans investissements • Facilité d’utilisation élastique : dimensionnement à la demande • Interopérabilité native avec un cluster Windows privé – Le cloud absorbe les pics – Meilleur des deux mondes • Datacenters en UE : Irlande + Pays-Bas Modèle de coût prévisible et adapté à l’utilisation Conception moderne, documentation complète, support efficace Le besoin d’administration est réduit par rapport à une infra privée mais reste présent Pour la recherche Pour l’entreprise
    33. 33. #mstechdays Innovation Recherche#34 Merci ? Merci pour votre attention • Antoine Poliakov apoliakov@aneo.fr • Stéphane Vialle stephane.vialle@supelec.fr • ANEO http://aneo.eu http://blog.aneo.eu • Retrouvez nous aux TechDays ! Stand ANEO jeudi 11h30 - 13h Au cœur du SI > Infrastructure moderne avec Azure Tous nos remerciements à Microsoft pour nous avoir prêté les machines ! Une question : n’hésitez pas !
    34. 34. Digital is business

    ×