La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Optimisation des performances

Présentations similaires


Présentation au sujet: "Optimisation des performances"— Transcription de la présentation:

1 Optimisation des performances
De nos outils informatiques Optimisation des performances

2 Sommaire I-Les bases de l’optimisation II-Les optimisations SSE
Bases algorithmiques Bases programmatiques Bases architecturales Bases matérielles II-Les optimisations SSE Principe de fonctionnement des SSE Utilisation des SSE en programmation Impact des optimisations SSE III-Exemple d’utilisation multicores Présentation de la technologie multicores Tirer partie d’une technologie multicores Utilisation concrète d’un outil pour le parallélisme Les utilisateurs ne supportent plus d’attendre. L’application doit être réactive. Algorithme  solution courante de problème de performance Mais ça ne suffit pas toujours Une des solutions retenue est la « parallélisation » | Réservé au monde professionnel extrême (gros serveur) ça se démocratise Il est nécessaire de s’informer sur les particularités de ces évolutions

3 Bases algorithmiques Exemple basique : la multiplication
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Exemple basique : la multiplication Multiplication « standard » Multiplication russe ou égyptienne Plus rapide que la multiplication standard, la russe l’est surtout grâce à sa base 2. Multiplier par 2 = décalage à gauche, diviser  droite Complexité : O(n²)  O(n log2(n))  O(n log2(3))  … Fürer  intéressant à partir de 464 soit 3x1038 Multiplication  élément de base des algorithmes extrapoler au comportement d’un algorithme…

4 I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation

5 Bases algorithmiques Exemple basique : la multiplication
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Exemple basique : la multiplication Multiplication « standard » Multiplication russe ou égyptienne Algorithme de Karatsuba Algorithme de Fürer Extrapolation à l’algorithmique Plus rapide que la multiplication standard, la russe l’est surtout grâce à sa base 2. Multiplier par 2 = décalage à gauche, diviser  droite Complexité : O(n²)  O(n log2(n))  O(n log2(3))  … Fürer  intéressant à partir de 464 soit 3x1038 Multiplication  élément de base des algorithmes extrapoler au comportement d’un algorithme…

6 Bases programmatiques
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Le langage assembleur Les langages compilés Les langages émulés Plus rapide que la multiplication standard, la russe l’est surtout grâce à sa base 2. Multiplier par 2 = décalage à gauche, diviser  droite Complexité : O(n²)  O(n log2(n))  O(n log2(3))  … Fürer  intéressant à partir de 464 soit 3x1038 Multiplication  élément de base des algorithmes extrapoler au comportement d’un algorithme…

7 Bases architecturales
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Les instructions assembleur Instructions basiques Instructions complexes Les unités ALU et FPU Opérations basiques, elles font intervenir directement les éléments primaires du processeur Les instructions complexes se passent généralement sur plusieurs cycle d’horloge Le « micro PC » régit le tout en commandant à la micro mémoire l’ouverture et la fermeture des liaisons (les bus) afin de synchroniser les divers éléments du processeur Les unités ALU et FPU s’occupent des calculs en stockant les valeurs dans des registres, mémoires ultra rapide.

8 I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation

9 Bases matérielles La course au Mégahertz Des contraintes physiques
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation La course au Mégahertz Des contraintes physiques La solution du « pipeline » Depuis les années 90, le grand public identifie les ordinateurs par leur « fréquence », associant fréquence et performance C’est partiellement vrai Intel et AMD se sont livré une course effrénée entre 1998 et 2006, passant de 900MHz à 3,8 GHz Stoppé par une contrainte physique : ça chauffe |  courants de fuite niveau jonction P/N | passif en 80-90, radiateur de 500g à plus d’1 Kg depuis 2004

10 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Le principe est simple, on empile les blocs qui permettent d’effectuer des opérations Chaque bloc effectue une opération par cycle mémoire En 5 cycles on va par exemple effectué une instruction complète une instruction finie à 4/5 une finie à 3/5 Cependant il y a des inconvénients Si jamais le pipeline a trop « d’étages », il devient « lent ». Pentium 4 version « Prescott » = 31 étages Une instruction simple prend minimum 31 cycles pour être effectuée

11 Bases matérielles La course au Mégahertz Des contraintes physiques
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation La course au Mégahertz Des contraintes physiques La solution du « pipeline » Le « superscalaire »

12 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Plutôt que d’empiler les blocs, pourquoi ne pas les mettre côtes-à-côtes ? Il reste un problème Comment on organise les tâches ? A-t-on toujours besoins de « n » opérations en même temps ?

13 Bases matérielles La course au Mégahertz Des contraintes physiques
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation La course au Mégahertz Des contraintes physiques La solution du « pipeline » Le « superscalaire » Les multi-cœurs ou multicores L’ajout d’instructions SIMD Nous reviendrons plus en détails sur multicores en 3ème partie Architecture « CISC » en rajoutant des opérations permettant un gain de temps Nous allons aborder ça plus en détails dans la prochaine partie SIMD : Single Instruction on Multiples Data

14 Fonctionnement des SSE
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Apparu en 1999 sur Pentium III 70 nouvelles instructions assembleur SSE : Streaming SIMD Extensions  accélérations spécifiques

15 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Principe de fonctionnement des SIMD On effectue la même opération sur plusieurs données et on obtient plusieurs résultats en un seul cycle

16 Fonctionnement des SSE
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Apparu en 1999 sur Pentium III 70 nouvelles instructions assembleur SSE2 ajoute support « 64 bits » SSE3 orienté « traitement du signal » Ces standards on rapidement évolués, supporté plus ou moins complètement par AMD ou Intel, tour à tour

17 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Exemple de l’évolution du SSE chez Intel, principal « militant »

18 Programmation des SSE Ecriture possible en assembleur
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Ecriture possible en assembleur Le codage assembleur permet de tirer partie directement des opérations proposées par les SSE Il y a cependant un inconvénient : Tout les processeurs ont pas forcement les SSE équivalents Faut adapter le code à l’architecture Donc réécrire potentiellement le code plusieurs fois, une fois pour chaque architecture Beaucoup trop long !

19 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Ici on voit le principe d’utilisation d’une opération des SSE 5 instructions sont remplacé par une seule instruction On a potentiellement gagné 4 cycles processeur

20 Programmation des SSE Ecriture possible en assembleur
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Ecriture possible en assembleur Librairies de haut niveau Compilateurs optimisés Intel et AMD proposent des librairies pour utiliser directement en C par exemple, les instructions SSE On peut ainsi bénéficier des apports de ces fonctions sans coder en assembleur. Les librairies transforment les fonctions C en équivalent assembleur tirant partie des SSE Les compilateurs, standards (gcc) ou spécialisés (Intel) proposent des options d’optimisation (-IPO par exemple) pour tirer partie des SSE à la compilation

21 Impact des SSE Comparaison Temps de développement du code vs.
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Comparaison Temps de développement du code vs. Temps d’exécution

22 Impact des SSE Langage C simple Optimisé « -O3 » Langage C correct
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Langage C simple 30s d’exécution, 2min de développement Optimisé « -O3 » 19s, et toujours 2min Langage C correct 22s, 2min 14s une fois optimisé «-O3 »

23 Impact des SSE Langage C optimisé Assembleur simple
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Langage C optimisé 17s sans optimisation compilateur, 11s avec Assembleur simple 9,4s d’exécution, 30min de développement Assembleur avec SSE 6,7s et 45min Assembleur optimal 3,6s et largement plus d’une heure de dév. Ici on passe par des flottants simple au lieu de double Chaque optimisation a un coût de développement élevé Le code assembleur coûte très cher en temps de développement Sans compter les nombreux bugs dans un code très compliqué Sans compter le besoin d’optimisation pour chaque plateforme

24 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Exécution d’un calcul de parcimonie sur des acides aminés On voit ici les gains important qu’apportent les optimisations Il conviendra de doser correctement code assembleur et code de haut niveau pour permettre de garder un haut niveau de compétitivité Oublier l’assembleur dans les projets ne nécessitant pas d’optimisations

25 Architectures multicores
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Echec de la montée en fréquence Bataille marketing entre Intel et AMD Technologie issue des serveurs « Plusieurs processeurs en un » Avril 2005, Intel et AMD au coude à coude pour sortir un dual core Intel vole la vedette à AMD en sortant à la va-vite un double Pentium 4  Pentium D pour Dual Core AMD a une meilleure architecture, il existe des liens au sein de la puce pour permettre les communications entre cores On réplique tout un ensemble d’unités de calcul, des processeurs au sens ou on l’entendait autrefois, et on les lies ensembles Communication par bus externe  lent Communication par bus interne  rapide mais complexe et donc couteux

26 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Ici nous avons un exemple de Core I7 d’Intel On peut voir les 4 cores pouvant fonctionner de façon autonome La mémoire partagée leur permet de travailler sur des données communes

27 I-Bases optimisation Algorithmiques Programmatiques Architecturales
Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Ici on voit plus en détails les différentes parties Chaque bloc de L3 avec les liens Les liens externes de communication Les contrôleurs de mémoire

28 Tirer partie du multicores
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Difficultés à utiliser plusieurs cores Pas de possibilité de compilation « -O3 » Il faut alimenter les cores Une tâche définie pour chaque core Exemple des interfaces graphiques Unités indépendantes, différentes tâches sur chaque core Les résultats d’un core ne doivent pas être les données d’un autre core, pour pas avoir d’attente Un core s’occupe des interactions graphiques avec l’utilisateur, un autre core s’occupe des opérations liés aux interactions

29 Tirer partie du multicores
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Impossibilité de parallélisation Calculs lourds Calculs matriciels Raytracing Simulations Analyse de données Dans certains cas, il est tout bonnement impossible de paralléliser un calcul car ce dernier est totalement séquentiel Il faut alors se contenter de l’utilisation d’un seul core et les autres cores sont en attente Certains cas permettent cependant de paralléliser le calcul Les gros calculs matriciels permettent de subdiviser les calculs complexes en plusieurs calculs plus simple, très bon exemple d’utilisation de plusieurs cores Raytracing permet de découper l’image finale en de multiples zones, chaque zone est affectée à un core Les simulations de phénomènes physiques peuvent identifier plusieurs acteurs. Chaque acteurs est confié à un core et un dernier compile le phénomène Les analyse de données lourdes telles que l’analyse du code ADN ou autre projets du type etc.

30 Intel Parallel Studio Suite logicielle composée de : Parallel Advisor
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Suite logicielle composée de : Parallel Advisor Parallel Composer Parallel Inspector Parallel Amplifier Advisor : Permet d’étudier le code source et de détecter les endroits ou de lourds calculs peuvent être parallélisés Composer : Ensemble étendu de bibliothèques qui permettent de simplifier l’utilisation de plusieurs cores sur des calculs particulier (bibliothèques multi-threadées) Inspector : détection des accès concurrents à la mémoire, problème d’écriture en cascade Amplifier : superviseur du code, trouve les endroits où on passe trop de temps, attente passive ou active

31 Intel Parallel Studio Threading Bulding Blocks
I-Bases optimisation Algorithmiques Programmatiques Architecturales Matérielles II-Optimisations SSE Fct. des SSE Programmation Impact III-Exemple concret Les multicores En tirer partie Utilisation Threading Bulding Blocks Simplifient l’utilisation des cores en C Débogage pas à pas sur plusieurs threads Détection des verrous infinis Permet la synchronisation des différents threads (processus) et aide à l’échange de données entre ceux-ci Composer permet après une compilation particulière, et longue, d’exécuter le programme pas à pas, malgré les divers processus Ceci est habituellement impossible Concurrence d’accès à une ressource mémoire, chaque processus bloque l’autre, A veut x et détient y, B veut y mais détient x La vérifications des taux de « remplissage » des cores permet de savoir si on a optimisé le code

32 Conclusion Nécessité de connaître Choisir entre Matériel Logiciel
Lien entre les deux Choisir entre Temps de développement Efficacité d’une solution logicielle Il faut connaître son matériel pour savoir comment l’exploiter Il faut connaître les logiciels pour gagner du temps en développement Il faut connaître les deux et leurs liens pour optimiser le fonctionnement d’une application Assembleur efficace mais bien trop long Si réellement besoin, utiliser avec parcimonie Sinon utiliser les bibliothèques spécialisées et les outils qui vont avec tel Intel Parallel Studio

33 Conclusion S’adapter aux multicores
Les logiciels s’alourdissent inutilement Une autre alternative ? Il va falloir un réel effort pour s’adapter à l’architecture multicores Il faut un œil nouveau sur les méthodes de conception logicielles D’un autre côté l’utilisation parfois abusive d’outils de développement alourdi le code Les application connaissent de multiples évolutions sans réelle remise en cause du code de base Le logiciel perd plus en performance qu’il ne gagne en fonctionnalités On voit l’émergence de nouveaux outils pour développer sur carte graphique Elles sont très puissantes 70GFlops sur I7, 1.2 sur HD4870 et 2.72 sur HD5870 ! 731 millions de transistors contre 1.4 milliard sur 4870 et 2.1 milliards sur 5870 ! DirectX11  unification des possibilité de programmation OpenCL précurseur libre, mais pas encore pris en compte par tous

34

35 Système de gestion de service aérien
HELIOPS

36 Sommaire I- La base militaire EALAT II- Présentation du projet
III-Mise en place du projet IV-Etude du projet V-Réalisation du projet Plateforme de développement Développement de l’application Des tests continus Mise en production et futurs développements Au cours de notre dernière mission en entreprise, nous avons pris en charge un nouveau projet, je vais vous le présenter ici Je vais avoir pour but de vous le présenter, ainsi que les enseignements que j’en ai tiré On commencera par découvrir l’entreprise Puis nous présenterons le projet pour mieux comprendre le contexte de l’application Nous enchaînerons par la mise en place de ce dernier Puis par son étude Pour finir par parler de sa réalisation en 4 étapes, de l’installation de la plateforme de développement à la mise en production

37 EALAT Ecole d’Aviation Légère de l’Armée de Terre I-Base EALAT
II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Ecole d’Aviation Légère de l’Armée de Terre Base militaire qui a pour but la formation initiale des pilotes d’hélicoptères

38 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production Vue aérienne de la base Il y a différente services au sein de l’EALAT DFI : Formation initiale des pilotes DAF : gestion finances BML : maintenance matérielle classique etc. Et le BMSI : le service ou je travaille qui est composé de 11 personnes

39 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production Ici nous avons une vue aérienne du bâtiment principal, une ancienne abbaye Le logiciel dont nous avons eu la charge met en jeu 5 services La DFI afin de diriger les opérations via la DDV (Direction Des Vols) et les OPS (Opérations) Regroupe également les différentes brigades avec moniteurs et élèves BGH et Helidax : s’occupent de fournir les hélicoptères nécessaires à la formation Piste : gère les déplacements au sol et est lié au service Essence pour la réapro en Kero La tour de contrôle qui dirige la phase vol depuis le levé de patins jusqu’à l’atterrissage Le Chef De Corps appose sa signature pour des questions de légalité Le BMSI qui s’occupe du développement et effectue le suivit et la maintenance

40 Le projet Succéder à plusieurs essais « ratés » 1- version papier
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Succéder à plusieurs essais « ratés » 1- version papier 2- version Excel basique 3- DIC 4- Excel avec macros En 20 ans, le système de gestion des heures de vol à connu plusieurs système Premier le papier Deuxième documents simple sur support informatique (Excel et peu de macros) Troisième DIC (Diffusion des Informations de Contrôle) Issu de la base aérienne de Cognac rejeté après 2 mois de tests et a coûté cher (machines spécifiques etc.) Quatrième Excel avec pas mal de macros

41 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production On voit ici le système actuel qui va être abandonné : une feuille Excel On peut écrire ce que l’on veut dessus Problème : ça ne sert qu’à être affiché et on ne peut pas travailler à plusieurs dessus. Avantage, on peut faire presque n’importe quoi avec Avec quelques macros on peut en tirer des infos Notre projet

42 Mise en place Capitaine Génovèse, chef MOA Mr Nerrin et moi-même, MOE
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Capitaine Génovèse, chef MOA Mr Nerrin et moi-même, MOE Sergent Etourneaux, tests et validations Planning projet Nom du projet HELIOPS Première version du planning de projet réalisé en début de projet pour établir des jalons

43 Etude du projet Visites des services impliqués
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Visites des services impliqués Réunions pour cahier des charges Fonctionnement du service aérien Réunion pour comprendre le contexte - Méca placent les infos machines dispo - Météo donne info sur journée lendemain - Chefs de brigades donnent desiderata pour lendemain - DDV ou OPS place ces vols sur Arlequin - Chefs brigade vont saisir les Ordres De Vol - Chef de corps signe ODV - Méca désigne vigies - Lendemain « consomme » cet Arlequin - Tour de Contrôle fait décoller et atterrir les vols - Les Chefs de Bords remplissent les formulaires de retour de vol

44 Etude du projet Méthodologie UML Réalisation base de données test
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Méthodologie UML Diagramme de flux Diagramme des cas d’utilisation Diagramme de séquence Réalisation base de données test Maquettage

45 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production Diagramme de flux d’HELIOPS

46 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production Cas d’utilisations

47 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production Séquence

48 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production Maquette

49 Mise en place Serveur 2008 Visual Studio 2008 SP1 Silverlight Tools
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Serveur 2008 Visual Studio 2008 SP1 Silverlight Tools Microsoft SQL Serveur 2008 SP1 Subversion Windows Sharepoint Services Je vais vous parler un peu de la plateforme de développement Les outils que nous avons utilisé

50 Développement Etude des possibilités techniques I-Base EALAT
II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Etude des possibilités techniques Sérialisation de la couche métier : Hibernate, un poil lourd en c# Linq, découverte et très probant Silverlight : problème d’accès à la couche métier Développement d’un service WCF équivalent Web Service de Microsoft Communications asynchrones avec le client Silverlight Distant

51 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production L’architecture du projet se dessine enfin : Une base de données Un serveur d’application Des clients disséminés au sein de l’EALAT

52 Développement Etude des possibilités techniques
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Etude des possibilités techniques Résolution de problèmes techniques Accès asynchrone  problème de performances et de temps d’attente Résolu par l’envoie d’information par paquet pour réaliser un « cache » local

53 I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation
Plateforme Développement Tests continus Production Principe d’attente du client sur la version de développement

54 Tests continus Validation du développement Ajustements Débogage
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Validation du développement Ajustements Débogage Dès la première version disposant de suffisamment de fonctionnalité pour être testé, nous avons fait validé l’application Cela permet de réaliser des ajustements, les utilisateurs n’ayant parfois pas réussi à exprimer correctement leurs besoins Cela permet également de réaliser le débogage de l’application Gros changement lors de l’application qui n’a pris que 3 jours, pour réajuster les fonctionnalités

55 Mise en production et futur
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Vidéo des tests finaux

56 Mise en production et futur
I-Base EALAT II-Le projet III-Mise en place IV-Etude V-Réalisation Plateforme Développement Tests continus Production Mise en place progressive Saisie avec les deux systèmes Récupération des « retours » utilisateurs

57

58

59

60

61

62 Conclusion Mission majeure Projet de grande envergure
Satisfaire les utilisateurs Maîtrise de technologies innovantes Maîtrise du planning serré Implication forte de la MOA Tests continus Solide expérience en gestion de projet Mission majeure confiée par le Capitaine Sikora et par la DFI, partie DDV/OPS Projet de longue durée, 6 mois, prévu pour au mois 10 à 12 mois réel à 2 Satisfaire un panel très large d’utilisateurs, du chef de corps aux pilotes en passant par les OPS/DDV, par la tour de contrôle, les mécas, les pistes… Maîtriser Silverlight, WCF, tout ce qui est autour (Imprimer absent de Silverlight) La MOA nous a suivit tout au long du projet, très présente elle a réellement été le plus de ce projet Les tests continus ont aussi été un plus

63 Récompense …?

64

65

66

67

68

69


Télécharger ppt "Optimisation des performances"

Présentations similaires


Annonces Google