ms services aux techdays : une grande première! près de 40 sessions services 7 interventions rv...

43

Upload: brice-magnier

Post on 04-Apr-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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
Page 2: 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

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

Page 3: 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

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

Page 4: 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

4

HPC Services pour Excel 20109 Février 2011Thomas Varlet, Muriel Barthelemy, Joyanta Sen

Microsoft France

Page 5: 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

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)

Page 6: 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

6

Concept HPC, Architecture

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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)

Page 13: 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

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

Page 14: 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

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

Page 15: 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

15

Macros Excel HPC

• Distribution du code VBA5 Macros Excel 2010

Page 16: 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

16

Macros Excel HPC : Qui et Où ?

Page 17: 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

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

Page 18: 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

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é

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

26

DémoVBAExemple simpleExemples avancés : Evaluation du prix d’une action avec des conditions aléatoires

Page 26: 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

27

UDF Offloading

• Possibilité de lancer les UDFs sur les Compute Nodes

Page 27: 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

28

DémoUDF:Exécution d’une fonction UDF sur des Compute NodesCalcul de nombres premiers

Page 28: 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

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

Page 29: 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

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

Page 30: 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

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

Page 31: 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

32

SOA

• Console: liste des jobs, activité des Compute Nodes

Page 32: 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

33

DémoDémonstration .NET/SOASimulation MonteCarloSuivi: job Management/Default

Page 33: 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

34

Troubleshooting

Page 34: 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

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

Page 35: 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

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)

Page 36: 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

37

Etat de santé des Compute Nodes

Page 37: 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

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)

Page 38: 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

39

Page 39: 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

40

Questions ?

Page 40: 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

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

Page 41: 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

42

Page 42: 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

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

Page 43: 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