ms services aux techdays : une grande première! près de 40 sessions services 7 interventions rv...
TRANSCRIPT
MS Services aux TechDays : une grande première!
Près de 40 Sessions Services 7 interventions RV Décideurs
IT 1 Stand dédié Messages Services en
Plénière Vidéo
Web TV: experts & caméra mobile Vidéo des coulisses Services
PR Annonce des offres Services Cloud
en conférence de presse Interviews Presse Témoignages clients et partenaires
Pour nous Services, les TechDays c’est :
Objectifs : Notoriété; Image ; Impact business
33
Microsoft Services:Un accompagnement global de nos clients
Architecture & PlanningPlanification
Conseil et ProjetsDéploiement et adoption
SupportOptimisation et Opération
Evaluation
Planification
Développement
Déploiement
Stabilisation
Opérations
Support
Support Premier
Enterprise StrategyConsulting Services
Division Services France 2010
• 180 Consultants• 125 Technical Account Managers • 190 Ingénieurs Support• 17 Responsables de Mission• 41 Partenaires référencés
www.microsoft.fr/services
Division Services Monde 2010
• 82 pays couverts• 18 000 employés• 35 000 partenaires• 44 langues parlées par nos ingénieurs
4
HPC Services pour Excel 20109 Février 2011Thomas Varlet, Muriel Barthelemy, Joyanta Sen
Microsoft France
5
Agenda
• Concept HPC, Architecture• Excel 2010: Concepts• Chemin de migration
• Migration du code existant (VBA)• Retours d’expériences
• Démonstrations VBA (workbook offloading)• Déomonstration UDF (udf offloading)• Démonstration .NET (VSTO / SOA)
6
Concept HPC, Architecture
7
Bibliothèques de distribution
Outils pour utiliser tous ces ressources de calculs - MS-MPI - SOA
Composantes de HPC Server
Ordonnanceur
Gérer les ressources de calculs des machines du cluster pour les utilisateurs
Administration
Administrer/surveiller les machines du cluster
8
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 calculs
* toutes: MPI, SOA, Batch, Interactive, Parametric sweeps. …
Station de travail
Serveur Locaux
Ressources Azure
9
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
10
4. requêtes
6. Réponses
Compute Nodes
Workstation
5. Réponses
3. requêtes
2. Le gestionnaire de session démarre le
job WCF Broker et le
job WCF Service pour le job client
1. Crée une Session
HPC Cluster SOAOrganisation des requêtes
Construit sur des Web Service Standards (WS* interop)
Head Node
Broker Node
11
Excel 2010: Concepts
• Constat:• Excel souvent utilisé comme un environnement
de développement pour de la simulation• Les calculs longs sont caractérisés par des
itérations• Excel sur des nœuds de calcul:
• Excel s’exécutera sur chaque nœud de calcul• SDK avec des exemples d’implémentation• Paralléliser des calculs longs
12
Excel 2010: Concepts
• Exécuter Excel 2010 sur un cluster• Activer l’intégration HPC (installation des outils clients
et/ou paramétrer le nom du cluster et du job)• Définir un modèle de job (ex: le job contiendra la liste
des machines avec Excel et les personnalisations)• Scénario simple:
• Intégration des macros VBA HPC• Définir un répertoire partagé• Positionner/Récupérer des valeurs dans des cellules puis
calculer le classeur Excel• Scénarios plus avancés:
• Développement de son propre service SOA• S’adresse aux développeurs .NET• Utilisation de l’UDF offloading (En C car les XLAM et les
Add-in COM interagissent avec Excel)
13
Partition Execute Merge
Initialize
Finalize
Get Version
• Proposer aux développeurs VBA de créer des classeurs pour un cluster– Pas de connaissance .NET ou HPC/SOA/jobs/tasks nécessaires
• Modèle d’orchestration distribué (pattern fork-join) implémenté à l’aide fonctions de callback VBA
• Execution de classeurs localement ou sur un cluster sans changer le code
HPC Services pour Excel 2010Excuter des classeurs sur un cluster
14
Offloading de classeurs Excel vers les clusters
Compute Nodes
Spreadsheet
Head Node
Brokers
Demande de Session
Affectatio
n Broker
Soumission de tâche
Affectation de tâche
Résultats
Résultats
15
Macros Excel HPC
• Distribution du code VBA5 Macros Excel 2010
16
Macros Excel HPC : Qui et Où ?
17
Function RunModel()' set up variablesNumIterations = Range("C8").Value
' run calculation in a loopFor n = 1 To Range(“Symbols”).Cells.Count
rslt = CalculateSingleIteration(Range(“Symbols”).Cells(n))ConsolidateResults rslt
Next n
' complete Call UpdateCharts
End Function
Boucle de calcul itérative
HPC Services for Excel 2010Code VBA original
18
Dim partitionCount As Integer
Function HPC_Partition() As Variant ' partition work
If (partitionCount < Range(“Symbols”).Cells.Count) Then HPC_Partition = Range(“Symbols”).Cells(partitionCount)Else HPC_Partition = NullEnd If
End Function
Function HPC_Execute( data As Variant ) As Variant ' run single iteration HPC_Execute = CalculateSingleIteration(data)End Function
Function HPC_Merge( data As Variant ) ' insert each execute result into workbook ConsolidateResults dataEnd Function
Function HPC_Finalize() ' update charts Call UpdateChartsEnd Function
HPC Services for Excel 2010Code VBA modifié
19
Function Button_OnClick()' Create a new excelCient instance per session
Set excelClient = New excelClient ' Initialize the excel client with this workbook and a remote workbook path excelClient.Initialize ThisWorkbook calculateLocal = Sheet1.OnLocalButton.Value
' Run on local machine or cluster as chosen in workbook excelClient.Run calculateLocal
End Function
* Execution can be initiated from outside VBA (Excel VSTO add-in, separate process)
La logique métier est déplacée dans le code mais reste inchangéeRéférence: C:\Program Files\Microsoft HPC Pack 2008 R2\Bin\Microsoft.Hpc.Excel.tlb
HPC Services for Excel 2010Execution des classeurs sur un cluster
21
Chemin de migration
• Migration du code existant:• Migrer la feuille en Excel 2010 (cf whitepaper)• Optimiser le code VBA• Enlever les interactions avec l’utilisateur
pendant l’exécution du code :• Boîte de dialogues• Enregistrer les messages d’erreurs plutôt
que les afficher
22
Chemin de migration
• Retours d’expériences:• Application dans le domaine de l’assurance
• Le calcul stochastique est l’étude des phénomènes aléatoires dépendant du temps (théorie des probabilités)
• Calcul initial: 30 jours (beaucoup de simulations et de projections) - Bilan d‘Actif/Passif et projection dans le futur.
• Feuille de Calcul Excel avec des calculs réalisés en VBA (Excel 2003)
• Calcul final: moins de 3 jours (12x)• 4 postes (4 cœurs) utilisés comme des Compute Nodes
23
Etude de migration vers Excel 2010
Optimisation du code
Migration du code VBA vers Excel 2010
HPC (prise en compte des
compute nodes)
Chemin de migration
• Etapes de Migration
• Calcul distribué: Calcul sur plusieurs postes en parallèle et agrégation des résultats
24
Chemin de migration
• Constats:• Migration du code VBA aisée• Gain non négligeable de l’architecture HPC server
et d’Excel 2010 en terme de temps de calcul (temps divisés par 12)
• Gain sur l’utilisation d’investissement existants (Excel 2010)
• La majorité des scénarios sont implémentés en VBA
• Peu de cas avec de l’UDF offloading (XLL)• 1 cas aux US avec une utilisation de .NET/VSTO• Les gains de performances sont importants avec
une évolutivité linéaire jusqu’à 6-8 noeuds
25
Etapes pour migrer une feuille existante• Localisation des itérations dans une application existante• Localisation d'une fonction pour consolider les résultats• Importation des templates de macros• Remplir les fonctions suivantes:
• HPC_Initialize : Initialisation d‘un calcul. Permet de gérer les étapes du calcul
• HPC_Partition: passe des données à HPC_Execute (itération)
• HPC_Execute : Récupère les données de HPC_Partition et exécute le calcul en passant l'itération
• HPC_Merge: Récupère les données de HPC_Execute et ajouter les données dans la feuille de calcul
• Utilisation du cluster manager pour gérer le job
26
DémoVBAExemple simpleExemples avancés : Evaluation du prix d’une action avec des conditions aléatoires
27
UDF Offloading
• Possibilité de lancer les UDFs sur les Compute Nodes
28
DémoUDF:Exécution d’une fonction UDF sur des Compute NodesCalcul de nombres premiers
29
Développement SOA / .NET• Simulation MonteCarlo du SDK:
• Utilisation de VSTO• Le scheduler se réalisera en .NET• Le service WCF sera copié sur chaque compute
node
30
Développement SOA
• Configuration : • Le fichier de configuration sera copié dans le
répertoire:• C:\Program Files\Microsoft HPC Pack 2008 R2\
ServiceRegistrationEt visible dans Configuration / Services
31
Développement SOA
• Concept:• La feuille de calcul appelle un service WCF• Chaque compute note appellera un service WCF
localement et transmettra les données au broker node
• L’information est remontée ensuite du borker node vers le poste client
32
SOA
• Console: liste des jobs, activité des Compute Nodes
33
DémoDémonstration .NET/SOASimulation MonteCarloSuivi: job Management/Default
34
Troubleshooting
35
Comment procéder ?
• En utilisant la console (Cluster Manager)• Utiliser les logs:
• Configuration / Services: positionner l’event level ainsi que le nom des fichiers de log
• En lançant des tests:• Les résultatsS’affichent dans la partiediagnotics
36
Exemple d’erreur
• Le binaire pour le service WCF n’est pas installé sur un poste:
• La version du Framework peut ne pas correspondre (3.5)
37
Etat de santé des Compute Nodes
38
Résolutions
• Installer les prérequis sur les compute nodes• Redémarrage des services (ex: HPC Broker Service)• En cas de lenteur: exclure un à un des compute
nodes pour identifier celui qui pose problème (voir rapports)
39
40
Questions ?
41
Liens
HPC
• Windows HPC Server 2008• http://www.microsoft.com/france/serveur/hpc/default.mspx
• HPC Services for Excel• http://technet.microsoft.com/fr-fr/library/ff877820(en-us,WS.10).
aspx
Compatibilité• Modifications apportées dans Excel 2010
• http://technet.microsoft.com/fr-fr/library/cc179167.aspx• Microsoft Office Code Compatibility Inspector user's guide
• http://technet.microsoft.com/en-us/library/ee833946.aspx• Excel 2010 Object Model Changes Since Earlier Versions
• http://msdn.microsoft.com/en-us/library/ee836187(office.14).aspx
42
43
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic
http://technet.com http://msdn.com
Portail administration et infrastructure pour informaticiens
Portail de ressources technique pour développeurs