Architecture des systèmes

Dimension: px
Commencer à balayer dès la page:

Download "Architecture des systèmes"

Transcription

1 LIG, 2/12/2010 Architecture des systèmes Avancées et défis Sacha Krakowiak Université de Grenoble 1

2 Architecture des systèmes! Architecture art de construire les édifices art de créer et dʼorganiser des formes en vue dʼune fonction, en présence de contraintes 2 2

3 Architecture des systèmes! Architecture art de construire les édifices art de créer et dʼorganiser des formes en vue dʼune fonction, en présence de contraintes Christopher Alexander, Notes on the Synthesis of Form, Harvard University Press,

4 Architecture des systèmes! Architecture art de construire les édifices art de créer et dʼorganiser des formes en vue dʼune fonction, en présence de contraintes! Architecture de systèmes informatiques un (ou des) modèle(s) décrivant la structure et le comportement dʼun système en termes dʼéléments et de relations entre ces éléments une (ou des) méthode(s) pour construire un système répondant à des spécifications Christopher Alexander, Notes on the Synthesis of Form, Harvard University Press,

5 Quelques outils de lʼarchitecte! Des (méta) principes Règles génériques pouvant se décliner sous diverses formes concrètes Abstraction (ex. : hiérarchie de machines abstraites) Séparation des préoccupations (ex. : séparation politique/mécanismes, interface/réalisation) Économie (ex. : optimiser le cas fréquent, contrôle «de bout en bout») 3 3

6 Quelques outils de lʼarchitecte! Des (méta) principes Règles génériques pouvant se décliner sous diverses formes concrètes Abstraction (ex. : hiérarchie de machines abstraites) Séparation des préoccupations (ex. : séparation politique/mécanismes, interface/réalisation) Économie (ex. : optimiser le cas fréquent, contrôle «de bout en bout»)! Des paradigmes Paradigme : démarche, mode dʼorganisation, structure applicable à une large classe de situations, et ayant valeur dʼexemple, dans les deux sens du terme illustration dʼune démarche modèle à suivre 3 3

7 Quelques paradigmes de lʼarchitecture des systèmes! Virtualisation concrétiser un objet idéal multiplier un objet réel 4 4

8 Quelques paradigmes de lʼarchitecture des systèmes! Virtualisation concrétiser un objet idéal multiplier un objet réel! Composition et décomposition séparer les préoccupations (conception individuelle / assemblage) réutiliser les efforts de conception et de réalisation 4 4

9 Quelques paradigmes de lʼarchitecture des systèmes! Virtualisation concrétiser un objet idéal multiplier un objet réel! Composition et décomposition séparer les préoccupations (conception individuelle / assemblage) réutiliser les efforts de conception et de réalisation! Auto-adaptation et réflexivité réagir au changement (prévu ou imprévu) optimiser des critères de qualité 4 4

10 Quelques paradigmes de lʼarchitecture des systèmes! Virtualisation concrétiser un objet idéal multiplier un objet réel! Composition et décomposition séparer les préoccupations (conception individuelle / assemblage) réutiliser les efforts de conception et de réalisation une préoccupation «transversale» Formalisation, preuve! Auto-adaptation et réflexivité réagir au changement (prévu ou imprévu) optimiser des critères de qualité 4 4

11 Les deux faces de la virtualisation! Ascendante (abstraction) Un outil de partage de ressources Création de ressources «hautes» Multiplexage de ressources «basses» interface existante interface exportée 5 5

12 Les deux faces de la virtualisation! Ascendante (abstraction) Un outil de partage de ressources Création de ressources «hautes» Multiplexage de ressources «basses» interface existante interface exportée! Descendante (raffinement) Un outil de conception De la spécification à la réalisation Hiérarchie de machines abstraites interface souhaitée interface existante 5 5

13 Les deux faces de la virtualisation! Ascendante (abstraction) Un outil de partage de ressources Création de ressources «hautes» Multiplexage de ressources «basses» Interface visible, réalisation cachée Transformation (ou non) dʼinterfaces Préservation dʼinvariants! Descendante (raffinement) Un outil de conception De la spécification à la réalisation Hiérarchie de machines abstraites interface existante interface souhaitée interface existante interface exportée 5 5

14 Quoi virtualiser, et pourquoi?! Virtualiser des ressources À lʼintérieur dʼun système dʼexploitation processeur => processus, mémoire physique => mémoire virtuelle écran => fenêtre, périphérique => flot dʼentrée-sortie, 6 6

15 Quoi virtualiser, et pourquoi?! Virtualiser des ressources À lʼintérieur dʼun système dʼexploitation processeur => processus, mémoire physique => mémoire virtuelle écran => fenêtre, périphérique => flot dʼentrée-sortie,! Virtualiser une machine Pour multiplexer les ressources Pour accueillir plusieurs systèmes dʼexploitation Pour assurer sécurité et tolérance aux fautes 6 6

16 Quoi virtualiser, et pourquoi?! Virtualiser des ressources À lʼintérieur dʼun système dʼexploitation processeur => processus, mémoire physique => mémoire virtuelle écran => fenêtre, périphérique => flot dʼentrée-sortie,! Virtualiser une machine Pour multiplexer les ressources Pour accueillir plusieurs systèmes dʼexploitation Pour assurer sécurité et tolérance aux fautes! Virtualiser un réseau Pour spécialiser une fonction (sécurité, performances, ) 6 6

17 Quoi virtualiser, et pourquoi?! Virtualiser des ressources À lʼintérieur dʼun système dʼexploitation processeur => processus, mémoire physique => mémoire virtuelle écran => fenêtre, périphérique => flot dʼentrée-sortie,! Virtualiser une machine Pour multiplexer les ressources Pour accueillir plusieurs systèmes dʼexploitation Pour assurer sécurité et tolérance aux fautes! Virtualiser un réseau Pour spécialiser une fonction (sécurité, performances, )! Virtualiser un environnement dʼexécution Langage de programmation (machine virtuelle dédiée au langage) Plate-forme (+ intergiciel (+ support dʼapplications)) 6 6

18 Brève histoire de la virtualisation Mémoire stable MV Smalltalk Hardware UNCOL P-code (MV Pascal) Abstraction Layer (HAL) JVM (MV Java) CLI (.Net) THE IBM S/38 Windows NT Mémoire virtuelle Processus (processeur virtuel) Machine virtuelle (IBM CP) VM/370 VMware DISCO (grappe virtuelle) Xen Cloud Computing Réseaux de recouvrement (overlay) 7 7

19 Virtualisation pour les langages! Solution mixte entre compilation et interprétation Code source Code source Compilateur Code objet Machine physique Interprète (machine virtuelle) Machine physique 8 8

20 Virtualisation pour les langages! Solution mixte entre compilation et interprétation Code source Compilateur Code objet Machine physique Code source Interprète (machine virtuelle) Machine physique Code source Compilateur Code intermédiaire Machine virtuelle Machine physique 8 8

21 Virtualisation pour les langages! Solution mixte entre compilation et interprétation Code source Compilateur Code objet Machine physique Code source Interprète (machine virtuelle) Machine physique Code source Compilateur Code intermédiaire Machine virtuelle Machine physique! Avantages Portabilité (un seul compilateur) Abstractions «sur mesure» adaptées à un (une classe de) langage(s) Objets, composants, méta-données, Fonctions étendues pour la MV Sécurité Mise au point, mesures Réflexivité Exemples : P-Code (Pascal) JVM (Java) CLI 8 8

22 Virtualisation dʼune ressource : la mémoire stable Read Write observation Disque physique [hypothèses de défaillance] B. W. Lampson and H. E. Sturgis. Crash Recovery in a Distributed Data Storage System, unpublished technical report, Xerox PARC, June 1979, 25 pp. 9 9

23 Virtualisation dʼune ressource : la mémoire stable CarefulPut CarefulGet Disque soigneux Read Write [invariants] élimine défaillances transitoires observation Disque physique [hypothèses de défaillance] B. W. Lampson and H. E. Sturgis. Crash Recovery in a Distributed Data Storage System, unpublished technical report, Xerox PARC, June 1979, 25 pp. 9 9

24 Virtualisation dʼune ressource : la mémoire stable Cleanup Disque stable Disque soigneux StableGet StablePut CarefulGet CarefulPut [invariants] Read Write [invariants] résiste aux défaillances non catastrophiques élimine défaillances transitoires observation Disque physique [hypothèses de défaillance] B. W. Lampson and H. E. Sturgis. Crash Recovery in a Distributed Data Storage System, unpublished technical report, Xerox PARC, June 1979, 25 pp. 9 9

25 Virtualisation dʼune ressource : la mémoire stable Cleanup Disque stable Disque soigneux StableGet StablePut CarefulGet CarefulPut [invariants] Read Write [invariants] résiste aux défaillances non catastrophiques élimine défaillances transitoires observation Disque physique [hypothèses de défaillance] B. B. W. W. Lampson, Atomic and H. Transactions, E. Sturgis. Crash in Distributed Recovery in Systems Architecture a Distributed Data Storage and Implementation, System, unpublished ed. Lampson, technical Paul, report, and Xerox Siegert, PARC, LNCS June 105, 1979, Springer, 25 pp. 1981, pp

26 Machines virtuelles «classiques» Interface machine physique MV1 MV2 Hyperviseur Machine physique 10 10

27 Machines virtuelles «classiques» Interface machine physique Appli. Appli. Appli. MV1 OS MV2 OS Hyperviseur Machine physique 10 10

28 Machines virtuelles «classiques»! Lʼhyperviseur, un super-os Présente une interface uniforme aux machines virtuelles (MVs) Gère (et protège) les ressources physiques Encapsule lʼétat interne des MVs Cʼest un composant critique Isolation Défaillances Sécurité Interface machine physique Appli. Appli. Appli. MV1 OS MV2 OS Hyperviseur Machine physique 10 10

29 Machines virtuelles «classiques»! Lʼhyperviseur, un super-os Présente une interface uniforme aux machines virtuelles (MVs) Gère (et protège) les ressources physiques Encapsule lʼétat interne des MVs Cʼest un composant critique Isolation Défaillances Sécurité Interface machine physique Appli. Appli. Appli. MV1 OS MV2 OS Hyperviseur James E. Smith, Ravi Nair, Virtual Machines, Morgan Kaufmann, 2005 Virtualization Technologies, IEEE Computer, May 2005 Machine physique 10 10

30 Machines virtuelles : comment çà marche Appli. Mode utilisateur OS Trap Instructions privilégiées Mode privilégié Machine physique 11 11

31 Machines virtuelles : comment çà marche Appli. Mode utilisateur Trap Instructions privilégiées OS Interruption Instructions privilégiées Mode privilégié Machine physique 11 11

32 Machines virtuelles : comment çà marche Appli. Appli. OS Mode utilisateur Instructions privilégiées OS Entrées-sorties Interruptions Mémoire virtuelle Trap Instructions privilégiées Interruption Instructions privilégiées Mode privilégié Hyperviseur Trap État MV1 État MV2 Machine physique Machine physique 11 11

33 Machines virtuelles : comment çà marche Appli. Appli. OS Mode utilisateur Instructions privilégiées OS Entrées-sorties Interruptions Mémoire virtuelle Trap Instructions privilégiées Interruption Instructions privilégiées Mode privilégié Hyperviseur Trap État MV1 État MV2 Machine physique Machine physique! Un problème Sur les machines actuelles (IA-32, etc.), lʼeffet de certaines instructions dépend du mode courant (privilégié ou utilisateur) De telles instructions ne sont pas virtualisables 11 11

34 Machines virtuelles Interface modifiée MV1 MV2 Hyperviseur Machine physique 12 12

35 Machines virtuelles Interface modifiée Appli. Appli. Appli. Unix MV1 modifié Windows MV2 modifié Hyperviseur Machine physique 12 12

36 Machines virtuelles! Comment contourner le problème des instructions multi-modes? La paravirtualisation : changer lʼinterface de lʼhyperviseur Remplacer les instructions non virtualisables Lʼinterface nʼest plus celle de la machine physique Les OS doivent donc être modifiés! En pratique, on ne modifie que la HAL (couche dʼabstraction) Interface modifiée Appli. Unix MV1 modifié HAL-U Appli. Appli. Hyperviseur Windows MV2 modifié HAL-W Machine physique 12 12

37 Machines virtuelles! Comment contourner le problème des instructions multi-modes? La paravirtualisation : changer lʼinterface de lʼhyperviseur Remplacer les instructions non virtualisables Lʼinterface nʼest plus celle de la machine physique Les OS doivent donc être modifiés! En pratique, on ne modifie que la HAL (couche dʼabstraction) Interface modifiée La traduction dynamique de code binaire : Remplacer à la volée les instructions non virtualisables Appli. Unix MV1 modifié HAL-U Appli. Appli. Hyperviseur Windows MV2 modifié HAL-W Machine physique 12 12

38 Machines virtuelles! Comment contourner le problème des instructions multi-modes? La paravirtualisation : changer lʼinterface de lʼhyperviseur Remplacer les instructions non virtualisables Lʼinterface nʼest plus celle de la machine physique Les OS doivent donc être modifiés! En pratique, on ne modifie que la HAL (couche dʼabstraction) Interface modifiée La traduction dynamique de code binaire : Remplacer à la volée les instructions non virtualisables Dans lʼavenir : Appli. Unix MV1 modifié HAL-U Les nouveaux processeurs sont conçus pour la virtualisation Appli. Appli. Hyperviseur Windows MV2 modifié HAL-W Machine physique 12 12

39 Grappes virtuelles UC UC UC UC UC UC UC UC Réseau dʼinterconnexion (+ mémoire partagée) niveau physique 13 13

40 Grappes virtuelles MV MV MV Application Application App App OS OS Système dʼexploitation Cellular Disco (Hyperviseur) UC UC UC UC UC UC UC UC Réseau dʼinterconnexion (+ mémoire partagée) niveau physique 13 13

41 Grappes virtuelles MV MV MV Application Application App App OS OS Système dʼexploitation limites de confinement des fautes Cellular Disco (Hyperviseur) UC UC UC UC UC UC UC UC Réseau dʼinterconnexion (+ mémoire partagée) niveau physique 13 13

42 Grappes virtuelles MV MV MV Application Application App App OS OS Système dʼexploitation limites de confinement des fautes Cellular Disco (Hyperviseur) UC UC UC UC UC UC UC UC Réseau dʼinterconnexion (+ mémoire partagée) niveau physique 13 13

43 Grappes virtuelles MV MV MV Application Application App App OS OS Système dʼexploitation limites de confinement des fautes Cellular Disco (Hyperviseur) UC UC UC UC UC UC UC UC Réseau dʼinterconnexion (+ mémoire partagée) niveau physique K. Govil, D. Teodosiu, Y. Huang, M. Rosenblum. Cellular Disco: Resource Management Using Virtual Clusters on Shared-Memory Multiprocessors, ACM Trans. on Computer Systems, 18(3), Aug

44 Réseaux de recouvrement 14 14

45 Réseaux de recouvrement! Objectifs Routage Fiabilité Sécurité, confidentialité Qualité de service Support dʼune plate-forme 14 14

46 Réseaux de recouvrement! Objectifs Routage Fiabilité Sécurité, confidentialité Qualité de service Support dʼune plate-forme! Exemples LʼInternet lui-même Tables de hachage réparti VPN Service spécialisé (distribution de contenu) 14 14

47 Cloud computing : lʼinformatique dans les nuages! Une vision ancienne «computing may someday be organized as a public utility just as the telephone system is a public utility» John McCarthy,

48 Cloud computing : lʼinformatique dans les nuages! Une vision ancienne «computing may someday be organized as a public utility just as the telephone system is a public utility»! en voie de réalisation? John McCarthy,

49 Cloud computing : lʼinformatique dans les nuages! Une vision ancienne «computing may someday be organized as a public utility just as the telephone system is a public utility»! en voie de réalisation?! Virtualisation à grande échelle John McCarthy, 1961 du matériel : Infrastructure as a Service (Amazon EC2) de lʼenvironnement dʼexécution : Platform as a Service (Microsoft Azure) du support dʼapplications : Software as a Service (Google Docs) 15 15

50 Cloud computing : lʼinformatique dans les nuages! Une vision ancienne «computing may someday be organized as a public utility just as the telephone system is a public utility»! en voie de réalisation?! Virtualisation à grande échelle John McCarthy, 1961 du matériel : Infrastructure as a Service (Amazon EC2) de lʼenvironnement dʼexécution : Platform as a Service (Microsoft Azure) du support dʼapplications : Software as a Service (Google Docs)! Un nouveau modèle économique mais des problèmes potentiels 15 15

51 Cloud computing : lʼinformatique dans les nuages! Une vision ancienne «computing may someday be organized as a public utility just as the telephone system is a public utility»! en voie de réalisation?! Virtualisation à grande échelle John McCarthy, 1961 du matériel : Infrastructure as a Service (Amazon EC2) de lʼenvironnement dʼexécution : Platform as a Service (Microsoft Azure) du support dʼapplications : Software as a Service (Google Docs)! Un nouveau modèle économique mais des problèmes potentiels! Un domaine de recherche ouvert [voir journée Clouds, ENS Lyon, 13 décembre 2010] 15 15

52 Questions sur les nuages! Quels sont les traits originaux? 16 16

53 Questions sur les nuages! Quels sont les traits originaux? «Élasticité» : le client paie ce quʼil consomme, facturation à grain fin Pour le client : économie, pas de risque de sur/sous-dimensionnement, capacité potentiellement illimitée Pour le fournisseur : gain (effet dʼéchelle, multiplexage statistique, rentabilisation des investissements) Réactivité aux variations de la demande D. Owens, Securing Elasticity in the Cloud, Comm. of the ACM, vol. 53, no 6, June

54 Questions sur les nuages! Quels sont les traits originaux? «Élasticité» : le client paie ce quʼil consomme, facturation à grain fin Pour le client : économie, pas de risque de sur/sous-dimensionnement, capacité potentiellement illimitée Pour le fournisseur : gain (effet dʼéchelle, multiplexage statistique, rentabilisation des investissements) Réactivité aux variations de la demande! Quels sont les risques et les difficultés? D. Owens, Securing Elasticity in the Cloud, Comm. of the ACM, vol. 53, no 6, June 2010 Limites techniques : évolution, passage à grande échelle, latence 16 16

55 Questions sur les nuages! Quels sont les traits originaux? «Élasticité» : le client paie ce quʼil consomme, facturation à grain fin Pour le client : économie, pas de risque de sur/sous-dimensionnement, capacité potentiellement illimitée Pour le fournisseur : gain (effet dʼéchelle, multiplexage statistique, rentabilisation des investissements) Réactivité aux variations de la demande! Quels sont les risques et les difficultés? D. Owens, Securing Elasticity in the Cloud, Comm. of the ACM, vol. 53, no 6, June 2010 Limites techniques : évolution, passage à grande échelle, latence Perte de contrôle sur les données (localisation, sécurité, ) 16 16

56 Questions sur les nuages! Quels sont les traits originaux? «Élasticité» : le client paie ce quʼil consomme, facturation à grain fin Pour le client : économie, pas de risque de sur/sous-dimensionnement, capacité potentiellement illimitée Pour le fournisseur : gain (effet dʼéchelle, multiplexage statistique, rentabilisation des investissements) Réactivité aux variations de la demande! Quels sont les risques et les difficultés? D. Owens, Securing Elasticity in the Cloud, Comm. of the ACM, vol. 53, no 6, June 2010 Limites techniques : évolution, passage à grande échelle, latence Perte de contrôle sur les données (localisation, sécurité, ) Pas de baisse significative du prix sans sacrifier les garanties de performances les garanties de disponibilité les garanties de sécurité D. Durkee, Why Cloud Computing Will Never Be Free, Comm. of the ACM, vol. 53, no 5, May

57 Virtualisation dans les systèmes embarqués! Contraintes spécifiques Complexité croissante des applications Maîtrise des performances Réduction de la taille de la base informatique de confiance 17 17

58 Virtualisation dans les systèmes embarqués! Contraintes spécifiques Complexité croissante des applications Maîtrise des performances Réduction de la taille de la base informatique de confiance! Un renouveau pour les micro-noyaux Le micro-noyau comme hyperviseur à bas niveau Des systèmes dʼexploitation «sur mesure» pour une application permet de réaliser des «appareils virtuels» (appareil + son OS spécifique) Les pilotes peuvent sortir de la base de confiance Les composants critiques peuvent être isolés dans des MV G. Heiser, The Role of Virtualization in Embedded Systems, Proc. First Workshop on Isolation and Integration in Embedded Systems (IIESʼ08), pp 11-16, April

59 Un micro-noyau vérifié 2010, S. Krakowiak Congrès Specif

60 Un micro-noyau vérifié! Une version du micro-noyau L4 Machine virtuelle donnant une image simplifiée du matériel! Difficultés Asynchronisme Gestion de la mémoire (pointeurs) Accès direct aux fonctions du matériel (MMU, ) Gerwin Klein et al., sel4: Formal Verification of an Operating-System Kernel, Communications of the ACM, vol. 53, no 6, pp , June , S. Krakowiak Congrès Specif

61 Un micro-noyau vérifié! Une version du micro-noyau L4 Machine virtuelle donnant une image simplifiée du matériel! Difficultés Asynchronisme Gestion de la mémoire (pointeurs) Accès direct aux fonctions du matériel (MMU, ) conception prototype Haskell Simulateur Isabelle/HOL spécification abstraite Gerwin Klein et al., sel4: Formal Verification of an Operating-System Kernel, Communications of the ACM, vol. 53, no 6, pp , June , S. Krakowiak Congrès Specif

62 Un micro-noyau vérifié! Une version du micro-noyau L4 Machine virtuelle donnant une image simplifiée du matériel! Difficultés Asynchronisme Gestion de la mémoire (pointeurs) Accès direct aux fonctions du matériel (MMU, ) conception prototype Haskell génération automatique Isabelle/HOL spécification abstraite spécification exécutable Gerwin Klein et al., sel4: Formal Verification of an Operating-System Kernel, Communications of the ACM, vol. 53, no 6, pp , June , S. Krakowiak Congrès Specif

63 Un micro-noyau vérifié! Une version du micro-noyau L4 Machine virtuelle donnant une image simplifiée du matériel! Difficultés Asynchronisme Gestion de la mémoire (pointeurs) Accès direct aux fonctions du matériel (MMU, ) conception prototype Haskell génération automatique Isabelle/HOL spécification abstraite spécification exécutable raffinement preuve Gerwin Klein et al., sel4: Formal Verification of an Operating-System Kernel, Communications of the ACM, vol. 53, no 6, pp , June , S. Krakowiak Congrès Specif

64 Un micro-noyau vérifié! Une version du micro-noyau L4 Machine virtuelle donnant une image simplifiée du matériel! Difficultés Asynchronisme Gestion de la mémoire (pointeurs) Accès direct aux fonctions du matériel (MMU, ) conception prototype Haskell génération automatique Isabelle/HOL spécification abstraite spécification exécutable code C optimisé raffinement preuve raffinement preuve Gerwin Klein et al., sel4: Formal Verification of an Operating-System Kernel, Communications of the ACM, vol. 53, no 6, pp , June , S. Krakowiak Congrès Specif

65 Un micro-noyau vérifié! Une version du micro-noyau L4 Machine virtuelle donnant une image simplifiée du matériel! Difficultés Asynchronisme Gestion de la mémoire (pointeurs) Accès direct aux fonctions du matériel (MMU, )! sel4, base dʼun microviseur OKL4 (Open Kernel Labs) Base installée : un milliard conception prototype Haskell génération automatique Isabelle/HOL spécification abstraite spécification exécutable code C optimisé raffinement preuve raffinement preuve Gerwin Klein et al., sel4: Formal Verification of an Operating-System Kernel, Communications of the ACM, vol. 53, no 6, pp , June , S. Krakowiak Congrès Specif

66 Avancées et défis pour la virtualisation! Renaissance et extension du champ de la virtualisation Des nuages aux systèmes embarqués Plate-formes et applications dématérialisés Portables dʼun support à un autre, dʼun lieu à un autre Outil de gestion globale des ressources Support dʼexpérimentation 19 19

67 Avancées et défis pour la virtualisation! Renaissance et extension du champ de la virtualisation! Défis Des nuages aux systèmes embarqués Plate-formes et applications dématérialisés Portables dʼun support à un autre, dʼun lieu à un autre Outil de gestion globale des ressources Support dʼexpérimentation Pour lʼutilisateur Contrôle sur le management et les données Garanties de disponibilité et de sécurité Pour le concepteur Modélisation et vérification des hyperviseurs Administration automatique des grandes infrastructures Gestion dʼenvironnements virtuels multiples 19 19

68 Composition (et décomposition)! Un objectif dʼapparence simple Composer un système à partir de pièces élémentaires Éléments réutilisables et remplaçables ( échange standard ) Interface visible, réalisation cachée M. D. McIlroy (1968) Mass Produced Software Components, in P. Naur and B. Randell, eds., Software Engineering, NATO Science Committee 20 20

69 Composition (et décomposition)! Un objectif dʼapparence simple Composer un système à partir de pièces élémentaires Éléments réutilisables et remplaçables ( échange standard ) Interface visible, réalisation cachée! mais une route semée dʼembûches Conceptuelles Modèle(s) Expression dʼune description globale Garanties Pratiques Configuration et déploiement Gestion de lʼévolution Infrastructures M. D. McIlroy (1968) Mass Produced Software Components, in P. Naur and B. Randell, eds., Software Engineering, NATO Science Committee 20 20

70 Propriétés de la composition! Composabilité Les propriétés de chaque composant sont préservées dans le système composé 21 21

71 Propriétés de la composition! Composabilité Les propriétés de chaque composant sont préservées dans le système composé Séparation interfaceréalisation Respect de règles de «bon assemblage» 21 21

72 Propriétés de la composition! Composabilité Les propriétés de chaque composant sont préservées dans le système composé Séparation interfaceréalisation Respect de règles de «bon assemblage»! Compositionnalité Les propriétés du système composé se déduisent de celles des composants et des règles dʼassemblage 21 21

73 Propriétés de la composition! Composabilité Les propriétés de chaque composant sont préservées dans le système composé Séparation interfaceréalisation Respect de règles de «bon assemblage» Beaucoup plus difficile!! Compositionnalité Les propriétés du système composé se déduisent de celles des composants et des règles dʼassemblage Modèle formel de composition Expression de la sémantique Garanties à lʼexécution 21 21

74 Deux styles de composition! Dirigé par le flot dʼexécution Méthodes Interfaces Données (encapsulées) Dérivé de modules, objets Divers composants industriels Exemples : OpenCOM, Fractal, OSGi, 22 22

75 Deux styles de composition! Dirigé par le flot dʼexécution Méthodes Interfaces Données (encapsulées)! Dirigé par le flot de données État, transitions Portes (entrée, sortie) Dérivé de modules, objets Divers composants industriels Exemples : OpenCOM, Fractal, OSGi, Flots et filtres Événements Systèmes réactifs Exemples : Ptolemy, Bip, 22 22

76 Deux styles de composition! Dirigé par le flot dʼexécution Méthodes Interfaces Données (encapsulées)! Dirigé par le flot de données État, transitions Portes (entrée, sortie) Les deux peuvent coexister Dérivé de modules, objets Divers composants industriels Exemples : OpenCOM, Fractal, OSGi, Flots et filtres Événements Systèmes réactifs Exemples : Ptolemy, Bip, Propriétés communes Description globale Préservation à lʼexécution Indépendance par rapport au langage Dépendances explicites 22 22

77 Brève histoire de la (dé)composition Modèles de composants Simula-67 Objets Smalltalk-80 RM-ODP fabrique de Types Modula liaison abstraits Mesa Clu Ada Fractal, Koala, Ptolemy, UML 2, BIP, 1960 Flot de Acteurs Langages Systèmes données pipes Unix synchrones hybrides subroutines procédures mass-produced software components information hiding programming in the large RPC MILs ADLs SOM COM, DCOM,.Net OSGi Conic, Darwin, EJB Services Web Wright, Rapide, ACME, ADML, ArchJava software architecture: an emerging discipline ADLs dynamiques Configuration formalisation types, preuves 23 23

78 Architecture de systèmes composés (1) Interface Connecteur Composant Composant Composant 24 24

79 Architecture de systèmes composés (1) Interface Connecteur Composant Composant Configuration Composant 24 24

80 Architecture de systèmes composés (1) Interface Connecteur Composant Composant fournie requise Composant flot entrée flot sortie Configuration 24 24

81 Architecture de systèmes composés (1) Interface Connecteur Composant Composant fournie requise Composant flot entrée flot sortie Configuration! Flot dʼexécution ou flot de données Similitudes Composants matériels ou logiciels Une configuration est un composant Les interfaces sont typées Différences Rôle des interfaces, ou ports Modèle dʼinteraction (séquentiel, parallèle) Synchrone, rendez-vous, événements, etc

82 Architecture de systèmes composés (1) Interface Connecteur Composant Composant fournie requise Composant flot entrée flot sortie Configuration! Flot dʼexécution ou flot de données Similitudes Composants matériels ou logiciels Une configuration est un composant Les interfaces sont typées Différences Rôle des interfaces, ou ports Modèle dʼinteraction (séquentiel, parallèle) Synchrone, rendez-vous, événements, etc. Description globale Implicite (dépendances) Explicite (Architecture Description Language, ADL) Rôle des connecteurs Assurer la liaison Opération complexe en système réparti Gérer lʼinteraction En particulier dans les modèles parallèles 24 24

83 Architecture de systèmes composés (2)! Cycle de vie Configuration Déploiement Exécution Reconfiguration 25 25

84 Architecture de systèmes composés (2)! Cycle de vie Configuration Déploiement Exécution Reconfiguration! Réflexivité Examiner son propre état («introspection») Agir sur son propre état («intercession») Méta-niveau et connexion causale Interface de management Exemples Rainbow, OpenCOM, Fractal, Interface de management méta-niveau niveau de base 25 25

85 Formalisation de la composition : trois exemples! Déterminer la validité de la construction dʼun système composé (composabilité) Configuration dʼun assemblage de composants 26 26

86 Formalisation de la composition : trois exemples! Déterminer la validité de la construction dʼun système composé (composabilité) Configuration dʼun assemblage de composants! Déterminer la validité de lʼexécution dʼun système composé (compositionnalité) Applications du typage 26 26

87 Formalisation de la composition : trois exemples! Déterminer la validité de la construction dʼun système composé (composabilité) Configuration dʼun assemblage de composants! Déterminer la validité de lʼexécution dʼun système composé (compositionnalité) Applications du typage! Déterminer la validité de lʼévolution dʼun système composé Reconfiguration 26 26

88 Un problème de configuration! Source : EDOS (Environment for the development & Distribution of Open Source Software) Projet de recherche collaborative du 6ème programme-cadre européen Distribution de logiciel libre, constitué de packages Description implicite, par un ensemble de relations Référence :

89 Un problème de configuration! Source : EDOS (Environment for the development & Distribution of Open Source Software) Projet de recherche collaborative du 6ème programme-cadre européen Distribution de logiciel libre, constitué de packages Description implicite, par un ensemble de relations! Gestion des relations entre packages Dépendance : spécifie des packages (y compris numéros de version) qui doivent être présents pour faire fonctionner le package courant Conflit : spécifie des packages qui ne peuvent pas coexister avec le package courant Pré-dépendance : spécifie des packages qui doivent déjà être présents pour pouvoir déployer le package courant Taille typique : packages, relations Référence :

90 Formalisation de lʼinstallabilité dans EDOS! chaque package p (version v) est désigné par une variable booléenne p v! chaque contrainte sur une version (e.g., v > 4.0 ) est traduite dans la disjonction des packages qui satisfont cette contrainte, e.g., p v1! p v2!! chaque dépendence est interprétée comme une implication, e.g., aterm => libc6 " (libce6! xlibs) "! chaque conflit entre des packages (soit a et b) est interprétée comme la formule (a " b) 28 28

91 Formalisation de lʼinstallabilité dans EDOS! chaque package p (version v) est désigné par une variable booléenne p v! chaque contrainte sur une version (e.g., v > 4.0 ) est traduite dans la disjonction des packages qui satisfont cette contrainte, e.g., p v1! p v2!! chaque dépendence est interprétée comme une implication, e.g., aterm => libc6 " (libce6! xlibs) "! chaque conflit entre des packages (soit a et b) est interprétée comme la formule (a " b) Alors un package p v est installable ssi il existe une affectation de valeurs qui rende p v VRAI et qui satisfasse la conjonction de toutes les implications logiques introduites par les dépendances et les conflits

92 Formalisation de lʼinstallabilité dans EDOS! chaque package p (version v) est désigné par une variable booléenne p v! chaque contrainte sur une version (e.g., v > 4.0 ) est traduite dans la disjonction des packages qui satisfont cette contrainte, e.g., p v1! p v2!! chaque dépendence est interprétée comme une implication, e.g., aterm => libc6 " (libce6! xlibs) "! chaque conflit entre des packages (soit a et b) est interprétée comme la formule (a " b) Alors un package p v est installable ssi il existe une affectation de valeurs qui rende p v VRAI et qui satisfasse la conjonction de toutes les implications logiques introduites par les dépendances et les conflits. Lʼinstallabilité des packages est équivalente à la satisfaisabilité booléenne (SAT), problème NP-complet. Dans les situations pratiques, il est néanmoins traitable

93 Compositionnalité dans Dream Dream : canevas pour la construction dʼintergiciels de communication Un message est une séquence de champs nommés. Exemple [Nom: "test"] [TS: 10] [IP: ] Un message circule entre des composants qui le traitent Exemple de traitements : ajouter, supprimer, consulter un champ Opérations interdites (provoquent une erreur à lʼexécution) Ajouter un champ présent, supprimer ou consulter un champ non présent M. Leclercq, V. Quéma, J.-B. Stefani, "DREAM: A Component Framework for Constructing Resource- Aware, Configurable Middleware," Distributed Systems Online, IEEE, 6:9, Sept

94 Compositionnalité dans Dream Dream : canevas pour la construction dʼintergiciels de communication Un message est une séquence de champs nommés. Exemple [Nom: "test"] [TS: 10] [IP: ] Un message circule entre des composants qui le traitent Exemple de traitements : ajouter, supprimer, consulter un champ Opérations interdites (provoquent une erreur à lʼexécution) Ajouter un champ présent, supprimer ou consulter un champ non présent (X) Duplicator (X) (X) canaux ReadTS AddTS M. Leclercq, V. Quéma, J.-B. Stefani, "DREAM: A Component Framework for Constructing Resource- Aware, Configurable Middleware," Distributed Systems Online, IEEE, 6:9, Sept

95 Compositionnalité dans Dream Dream : canevas pour la construction dʼintergiciels de communication Un message est une séquence de champs nommés. Exemple [Nom: "test"] [TS: 10] [IP: ] Un message circule entre des composants qui le traitent Exemple de traitements : ajouter, supprimer, consulter un champ Opérations interdites (provoquent une erreur à lʼexécution) Ajouter un champ présent, supprimer ou consulter un champ non présent (X) Duplicator (X) (X) canaux ReadTS AddTS erreur si TS absent de X erreur si TS présent dans X M. Leclercq, V. Quéma, J.-B. Stefani, "DREAM: A Component Framework for Constructing Resource- Aware, Configurable Middleware," Distributed Systems Online, IEEE, 6:9, Sept

96 Compositionnalité dans Dream Dream : canevas pour la construction dʼintergiciels de communication Un message est une séquence de champs nommés. Exemple [Nom: "test"] [TS: 10] [IP: ] Un message circule entre des composants qui le traitent Exemple de traitements : ajouter, supprimer, consulter un champ Opérations interdites (provoquent une erreur à lʼexécution) Ajouter un champ présent, supprimer ou consulter un champ non présent (X) Duplicator (X) (X) canaux ReadTS AddTS erreur si TS absent de X erreur si TS présent dans X Les types Java ne permettent pas ces vérifications M. Leclercq, V. Quéma, J.-B. Stefani, "DREAM: A Component Framework for Constructing Resource- Aware, Configurable Middleware," Distributed Systems Online, IEEE, 6:9, Sept

97 Types Dream! Exemple (tschunk: pre(ts); Y) (tschunk: pre(ts); Y) (X) Duplicator (X) (X) canaux ReadTS abs ou liste de champs (tschunk: abs(ts); Z) (tschunk: pre(ts); Z) AddTS 30 30

98 Types Dream! Exemple (tschunk: pre(ts); Y) (tschunk: pre(ts); Y) (X) Duplicator (X) (X) canaux ReadTS abs ou liste de champs (tschunk: abs(ts); Z) Repose sur un nouveau calcul de processus, avec un algorithme dʼinférence de types AddTS (tschunk: pre(ts); Z) Typing Component-Based Communication Systems. M. Lienhardt, C. A. Mezzina, A. Schmitt, and J.-B. Stefani. In Proc. 11th Formal Methods for Open Object-Based Distributed Systems (FMOODS) & 29th Formal Techniques for Networked and Distributed Systems (FORTE), June

99 Types Dream! Exemple (tschunk: pre(ts); Y) (tschunk: pre(ts); Y) (X) Duplicator (X) (X) canaux ReadTS abs ou liste de champs (tschunk: abs(ts); Z) Repose sur un nouveau calcul de processus, avec un algorithme dʼinférence de types AddTS (tschunk: pre(ts); Z) Il faut résoudre (X) = (tschunk: pre(ts); Y) (X) = (tschunk: abs(ts); Z) ce qui est impossible Le système nʼest pas typable, et aura une erreur à lʼexécution Typing Component-Based Communication Systems. M. Lienhardt, C. A. Mezzina, A. Schmitt, and J.-B. Stefani. In Proc. 11th Formal Methods for Open Object-Based Distributed Systems (FMOODS) & 29th Formal Techniques for Networked and Distributed Systems (FORTE), June

100 Reconfiguration (1)! Quʼest-ce que la reconfiguration (dynamique)? Changement de la composition et/ou de la structure dʼun système en cours dʼexécution ajouter/supprimer un composant, déplacer un composant, changer des liaisons, modifier des attributs, 31 31

101 Reconfiguration (1)! Quʼest-ce que la reconfiguration (dynamique)? Changement de la composition et/ou de la structure dʼun système en cours dʼexécution ajouter/supprimer un composant, déplacer un composant, changer des liaisons, modifier des attributs,! Pourquoi reconfigurer un système? Maintenance, optimisation, insertion de sondes de mesure, réaction aux défaillances, surcharges, attaques, Opération naturelle pour les mobiles, réseaux de capteurs, etc

102 Reconfiguration (1)! Quʼest-ce que la reconfiguration (dynamique)? Changement de la composition et/ou de la structure dʼun système en cours dʼexécution ajouter/supprimer un composant, déplacer un composant, changer des liaisons, modifier des attributs,! Pourquoi reconfigurer un système? Maintenance, optimisation, insertion de sondes de mesure, réaction aux défaillances, surcharges, attaques, Opération naturelle pour les mobiles, réseaux de capteurs, etc.! Quelques bonnes pratiques Reconfiguration dirigée par lʼarchitecture Utilisation de la réflexivité Maintien de la cohérence Préservation dʼinvariants Perturbation minimale Interface de management méta-niveau niveau de base 31 31

103 Reconfiguration (2)! Spécification dʼinvariants Architecturaux : contraintes sur la structure Pas de circuit, pas de partage de composant, contraintes spécifiques à lʼapplication Comportementaux : contraintes sur lʼétat Cohérence de lʼétat, résistance aux pannes 32 32

104 Reconfiguration (2)! Spécification dʼinvariants Architecturaux : contraintes sur la structure Pas de circuit, pas de partage de composant, contraintes spécifiques à lʼapplication Comportementaux : contraintes sur lʼétat Cohérence de lʼétat, résistance aux pannes! Utilisation de la réflexivité Réification de lʼarchitecture Inspection et modification de lʼétat 32 32

105 Reconfiguration (2)! Spécification dʼinvariants Architecturaux : contraintes sur la structure Pas de circuit, pas de partage de composant, contraintes spécifiques à lʼapplication Comportementaux : contraintes sur lʼétat Cohérence de lʼétat, résistance aux pannes! Utilisation de la réflexivité Réification de lʼarchitecture Inspection et modification de lʼétat! Mécanique de la reconfiguration Détection de quiescence Interposition dynamique Remplacement de composant 32 32

106 Mise en œuvre de la reconfiguration : exemple! Un modèle de composants Fractal, fournit la réflexivité (interfaces de management) M. Léger, Th. Ledoux, Th. Coupaye. Reliable Dynamic Reconfigurations in a Reflective Component Model, Proc. CBSE 2010, LNCS 6092, pp , Springer Verlag 33 33

107 Mise en œuvre de la reconfiguration : exemple! Un modèle de composants Fractal, fournit la réflexivité (interfaces de management)! Un modèle pour lʼexpression des règles dʼassemblage Relations entre interfaces, attributs, composants ex : un composant possède une interface, une interface est liée à une interface, un composant contient un composant, Contraintes dʼintégrité : prédicats sur les éléments et relations M. Léger, Th. Ledoux, Th. Coupaye. Reliable Dynamic Reconfigurations in a Reflective Component Model, Proc. CBSE 2010, LNCS 6092, pp , Springer Verlag 33 33

108 Mise en œuvre de la reconfiguration : exemple! Un modèle de composants Fractal, fournit la réflexivité (interfaces de management)! Un modèle pour lʼexpression des règles dʼassemblage Relations entre interfaces, attributs, composants ex : un composant possède une interface, une interface est liée à une interface, un composant contient un composant, Contraintes dʼintégrité : prédicats sur les éléments et relations! Un outil de vérification des contraintes dʼintégrité Cohérence globale : Alloy (langage déclaratif + solveur SAT) Réalisation en Fractal : FPath M. Léger, Th. Ledoux, Th. Coupaye. Reliable Dynamic Reconfigurations in a Reflective Component Model, Proc. CBSE 2010, LNCS 6092, pp , Springer Verlag 33 33

109 Mise en œuvre de la reconfiguration : exemple! Un modèle de composants Fractal, fournit la réflexivité (interfaces de management)! Un modèle pour lʼexpression des règles dʼassemblage Relations entre interfaces, attributs, composants ex : un composant possède une interface, une interface est liée à une interface, un composant contient un composant, Contraintes dʼintégrité : prédicats sur les éléments et relations! Un outil de vérification des contraintes dʼintégrité Cohérence globale : Alloy (langage déclaratif + solveur SAT) Réalisation en Fractal : FPath! Une exécution transactionnelle Opérations via FScript (action sur interfaces de management) Garanties ACID M. Léger, Th. Ledoux, Th. Coupaye. Reliable Dynamic Reconfigurations in a Reflective Component Model, Proc. CBSE 2010, LNCS 6092, pp , Springer Verlag 33 33

110 Avancées et défis pour la composition! Avancées Composants, architectures logicielles Patrons et canevas pour la composition Début de formalisation 34 34

111 Avancées et défis pour la composition! Avancées! Défis Composants, architectures logicielles Patrons et canevas pour la composition Début de formalisation Bases formelles Multiplicité de modèles et des langages peut-être inévitable Intégration matériel-logiciel Compositionnalité en particulier : performances, synchronisation, temps physique Systèmes à grande échelle X 34 34

112 Systèmes auto-adaptables! Pourquoi des systèmes auto-adaptables? Maintenir lʼintégrité et la qualité de service dʼun système dans un environnement variable et imprévisible Besoins Charge Défaillances Attaques 35 35

113 Systèmes auto-adaptables! Pourquoi des systèmes auto-adaptables? Maintenir lʼintégrité et la qualité de service dʼun système dans un environnement variable et imprévisible Besoins Charge Défaillances Attaques! Approches de lʼauto-adaptation Centralisée Comportement global imposé Modèle : automatique, boucle de commande Décentralisée Comportement global résultant dʼinteractions locales Modèle : systèmes biologiques 35 35

114 Brève histoire des systèmes auto-adaptables Contrôle dʼadmission Tolérance aux fautes «Autonomic Adaptation computing» Systèmes dirigée par Régulateur réflexifs lʼarchitecture de charge Ordinateurs Programmes Programmation reconfigurables par aspects Application des reconfigurables méthodes de lʼautomatique 2010 Aloha Routage adaptatif Ethernet QoS dans les réseaux Systèmes multi-agents «Colonies de fourmis» Algorithmes épidémiques Gestion de lʼénergie Réseaux pair à pair Réseaux de capteurs 36

115 Auto-adaptation par rétroaction Comportement souhaité capteurs Système de commande Analyse, Décision Action Système commandé actionneurs 37 37

116 Auto-adaptation par rétroaction Comportement souhaité capteurs Système de commande Analyse, Décision Action Modèle du système commandé Modèle de la charge charge Système commandé actionneurs 37 37

117 Auto-adaptation par rétroaction Comportement souhaité capteurs Système de commande Analyse, Décision Action Modèle du système commandé Modèle de la charge charge Système commandé actionneurs Pour un système informatique, comment définir Le comportement souhaité? Les capteurs? Les actionneurs? Les modèles? La stratégie de décision? 37 37

118 Auto-adaptation par rétroaction Comportement souhaité Système de commande Modèle du système commandé capteurs Analyse, Décision Action Modèle de la charge Domaines dʼaction Qualité de service charge Système commandé actionneurs Tolérance aux fautes Sécurité Configuration Pour un système informatique, comment définir Le comportement souhaité? Les capteurs? Les actionneurs? Les modèles? La stratégie de décision? 37 37

119 Un exemple : auto-adaptation pour la QoS! Objectifs Contrat (Service Level Agreement), décliné en sous-objectifs (SLO) Exemple : 95% des requêtes sont servies en moins de 5 s Réduction du coût 38 38

120 Un exemple : auto-adaptation pour la QoS! Objectifs Contrat (Service Level Agreement), décliné en sous-objectifs (SLO) Exemple : 95% des requêtes sont servies en moins de 5 s Réduction du coût! Capteurs Problème : modélisation de la charge Problème : les paramètres de QoS sont difficiles à capturer Plus accessibles : lʼoccupation des ressources 38 38

121 Un exemple : auto-adaptation pour la QoS! Objectifs Contrat (Service Level Agreement), décliné en sous-objectifs (SLO) Exemple : 95% des requêtes sont servies en moins de 5 s Réduction du coût! Capteurs Problème : modélisation de la charge Problème : les paramètres de QoS sont difficiles à capturer Plus accessibles : lʼoccupation des ressources! Actionneurs Agir sur la demande : le contrôle dʼadmission Autre idée : applications auto-adaptables Agir sur lʼoffre : allocation de ressources (physiques, virtuelles) 38 38

122 Un exemple : auto-adaptation pour la QoS! Objectifs Contrat (Service Level Agreement), décliné en sous-objectifs (SLO) Exemple : 95% des requêtes sont servies en moins de 5 s Réduction du coût! Capteurs Problème : modélisation de la charge Problème : les paramètres de QoS sont difficiles à capturer Plus accessibles : lʼoccupation des ressources! Actionneurs Agir sur la demande : le contrôle dʼadmission Autre idée : applications auto-adaptables Agir sur lʼoffre : allocation de ressources (physiques, virtuelles)! Stratégie Seuils Commande proportionnelle / intégrale ] combinaison 38 38

123 Un exemple ancien avec contrôle dʼadmission taux dʼactivité CPU # # et n mesurés sur dernier intervalle dʼobservation (t- t, t) 100% Charge normale Sous-charge Surcharge a) modèle simple de comportement du système n Nombre de remplacements de page 39

124 Un exemple ancien avec contrôle dʼadmission taux dʼactivité CPU # # et n mesurés sur dernier intervalle dʼobservation (t- t, t) 100% Charge normale Sous-charge Surcharge a) modèle simple de comportement du système n Nombre de remplacements de page every t do if (overload) move one process from ready set to waiting set else if (underload and (waiting set $)) $ admit one waiting process to ready set 39

125 Un exemple ancien avec contrôle dʼadmission taux dʼactivité CPU # # et n mesurés sur dernier intervalle dʼobservation (t- t, t) Prévention de lʼécroulement : expériences IBM M44/44X (1968) 100% Charge normale B. Brawn, F. Gustavson. Program behavior in a paging environment. Proc. AFIPS FJCC, pp (1968) Sous-charge Surcharge a) modèle simple de comportement du système n Nombre de remplacements de page every t do if (overload) move one process from ready set to waiting set else if (underload and (waiting set $)) $ admit one waiting process to ready set Temps dʼexécution (secondes) sans contrôle dʼadmission avec contrôle dʼadmission Nombre de processus actifs b) effet de la limitation de charge par contrôle dʼadmission 39

126 Auto-adaptation pour la QoS : exemple (1) clients Web Application Stockage actionneurs capteurs commande Fournisseur Nuage 40 40

127 Auto-adaptation pour la QoS : exemple (1) clients Web Application Stockage actionneurs capteurs commande Fournisseur Nuage Exemple : commande de lʼétage «stockage de données» Allocation de serveurs à partir dʼun fournisseur de nuages Objectif : garantir le temps de réponse en présence de pics de charge Expérience sur Hadoop Distributed File System H. C. Lim, S. Babu, J. S. Chase. Automated Control for Elastic Storage, International Conf. On Autonomic Computing (ICAC), June 7-11,

128 Auto-adaptation pour la QoS : exemple (2)! Organisation de la commande Pour lʼallocation de serveurs actionneur : allouer/libérer des serveurs (interface du fournisseur) capteur : taux dʼutilisation du CPU (bien corrélé avec temps de réponse) stratégie : commande intégrale avec seuil (stabilité) 41 41

129 Auto-adaptation pour la QoS : exemple (2)! Organisation de la commande Pour lʼallocation de serveurs actionneur : allouer/libérer des serveurs (interface du fournisseur) capteur : taux dʼutilisation du CPU (bien corrélé avec temps de réponse) stratégie : commande intégrale avec seuil (stabilité) Pour la reconfiguration de lʼétage stockage (répartition de données) actionneur : fraction de bande passante allouée à la reconfiguration (qui interfère avec le traitement) capteur : temps nécessaire en fonction de la taille + impact de la reconfiguration sur le temps de réponse 41 41

130 Auto-adaptation pour la QoS : exemple (2)! Organisation de la commande Pour lʼallocation de serveurs actionneur : allouer/libérer des serveurs (interface du fournisseur) capteur : taux dʼutilisation du CPU (bien corrélé avec temps de réponse) stratégie : commande intégrale avec seuil (stabilité) Pour la reconfiguration de lʼétage stockage (répartition de données) actionneur : fraction de bande passante allouée à la reconfiguration (qui interfère avec le traitement) capteur : temps nécessaire en fonction de la taille + impact de la reconfiguration sur le temps de réponse Coordination entre les deux commandes ci-dessus but : eviter sur- ou sous-allocations ; éviter les oscillations moyen : machine à états assurant lʼalternance entre les deux commandes avec temporisation 41 41

131 Auto-adaptation pour la QoS : exemple (3) ENTATION! Résultats tone Guest Application Très bonne réactivité à un pic de charge modified and configured Cloudstone to run with front-end application server tier, PostgreSQL as or structured data, and HDFS as a distributed stort objects such as PDF documents and image files. (a posteriori) Bonne ing an HDFS class abstraction to Cloudstone to DFS storage corrélation APIs. We alsoentre added new temps paramestone s configuration de réponse file so that et users utilisation can easily tch between different file systems without having ource code. CPU In all, this involved adding 200 lines stone. The experiments use a block size in the 0KB, which is the maximum size of binary files udstone. The HDFS replica count is set to three ctices from production deployments. tributes the content objects (files) across an elasge nodes, called datanodes. A namenode tracks g replica counts and locations for each file. implementation, HDFS does not ensure that storest-balanced, since its internal policy isbasedon ty. However, Cloudstone s workload generator is t structured data and content objects are accessed ibution, which naturally balances requests across es. ified HDFS to expose the rebalancer s bandwidth ctuator to the external controller. We created an he HDFS namenode that notifies all HDFS datan Time (s) x 10 4 CPU Utilization (%) WH CPU Utilization Target (20%) (a) Average CPU utilization of the HDFS datanodes with static provisioning CPU Utilization (%) Rebalance +9 Storage Nodes WH CPU Utilization y h (20%) Time (s) x 10 4 y l Response Time (s) Response Time Target (3s) Time (s) x 10 4 (b) Response time of the Cloudstone application with static provisioning Response Time (s) Response Time Target (3s) Time (s) x 10 4 (c) Average CPU utilization of (d) Response time of the Cloudstone application with dynamic the HDFS datanodes with dynamic provisioning provisioning Figure 6: The performance of Cloudstone with static allocation (a,b) and our control policy (c,d), under a 10-fold increase in workload volume. The time periods with high volume of workload 42 is labeled as WH. 42

132 Auto-adaptation pour la QoS : exemple (3) ENTATION! Résultats tone Guest Application Très bonne réactivité à un pic de charge modified and configured Cloudstone to run with front-end application server tier, PostgreSQL as or structured data, and HDFS as a distributed stort objects such as PDF documents and image files. (a posteriori) Bonne ing an HDFS class abstraction to Cloudstone to DFS storage corrélation APIs. We alsoentre added new temps paramestone s configuration de réponse file so that et users utilisation can easily tch between different file systems without having ource code. CPU In all, this involved adding 200 lines stone. The experiments use a block size in the 0KB, which is the maximum size of binary files udstone. The HDFS replica count is set to three ctices from production deployments. tributes Figure the6 content of: objects (files) across an elasge nodes, called datanodes. A namenode tracks g replica H. C. counts Lim, and S. Babu, locations J. S. forchase. each file. implementation, Automated HDFS Control does for not Elastic ensurestorage, that storest-balanced, International sinceconf. its internal On Autonomic policy isbasedon ty. However, Computing Cloudstone s (ICAC), June workload 7-11, generator 2010 is t structured data and content objects are accessed ibution, 2010 which ACM, naturally Inc. balances requests across es. Included here by permission. ified HDFS to expose the rebalancer s bandwidth ctuator to the external controller. We created an he HDFS namenode that notifies all HDFS datan Time (s) x 10 4 CPU Utilization (%) WH CPU Utilization Target (20%) (a) Average CPU utilization of the HDFS datanodes with static provisioning CPU Utilization (%) Rebalance +9 Storage Nodes WH CPU Utilization y h (20%) Time (s) x 10 4 y l Response Time (s) Response Time Target (3s) Time (s) x 10 4 (b) Response time of the Cloudstone application with static provisioning Response Time (s) Response Time Target (3s) Time (s) x 10 4 (c) Average CPU utilization of (d) Response time of the Cloudstone application with dynamic the HDFS datanodes with dynamic provisioning provisioning Figure 6: The performance of Cloudstone with static allocation (a,b) and our control policy (c,d), under a 10-fold increase in workload volume. The time periods with high volume of workload is labeled as WH

133 Avancées et défis pour lʼauto-adaptation! Avancées Interaction fructueuse avec lʼautomatique domaine continu (boucle de commande) domaine discret (synthèse de contrôleurs) résultats pour QoS Composants et architectures réflexifs 43 43

134 Avancées et défis pour lʼauto-adaptation! Avancées! Défis Interaction fructueuse avec lʼautomatique domaine continu (boucle de commande) domaine discret (synthèse de contrôleurs) résultats pour QoS Composants et architectures réflexifs Approches multiniveaux (piloté vs auto-organisé) Expression des objectifs objectifs multicritères (performances, énergie, disponibilité, ) prise en compte de situations non prévues Modélisation, vérification, garanties liaison continu-discret, prise en compte du temps Sécurité 43 43

135 Remarques finales! Sur les paradigmes de lʼarchitecture Permanence des concepts, raffinement (lent ) dans leur mise en œuvre Nouveaux paradigmes mobilité, autonomie, 44 44

136 Remarques finales! Sur les paradigmes de lʼarchitecture Permanence des concepts, raffinement (lent ) dans leur mise en œuvre Nouveaux paradigmes mobilité, autonomie, puissance de lʼabstraction puissance (et développement) des modèles 44 44

137 Remarques finales! Sur les paradigmes de lʼarchitecture Permanence des concepts, raffinement (lent ) dans leur mise en œuvre Nouveaux paradigmes mobilité, autonomie,! Quelques défis pour lʼavenir Conceptuels modéles formels pour lʼarchitecture validité de la construction modélisation de la sécurité systèmes hybrides Pratiques description déclarative des environnements et contraintes génération automatique de systèmes spécialisés puissance de lʼabstraction puissance (et développement) des modèles administration et qualité de service des très grands systèmes 44 44

Cʼest quoi, le «virtuel»? Le virtuel en informatique. Le virtuel en informatique : de la machine au musée. Virtualisation des infrastructures

Cʼest quoi, le «virtuel»? Le virtuel en informatique. Le virtuel en informatique : de la machine au musée. Virtualisation des infrastructures Aconit, 24 avril 2012 Cʼest quoi, le «virtuel»?! Initialement Le virtuel en informatique : de la machine au musée Sacha Krakowiak Université de Grenoble Sens courant : un potentiel gain virtuel victoire

Plus en détail

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. [email protected]

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. Slimane.bah@emi.ac.ma Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24.2 1 Semestre 4 : Fev. 2015 Grid : exemple SETI@home 2 Semestre 4 : Fev. 2015 Grid : exemple SETI@home

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE Sylvain SIOU VMware Laurent DELAISSE Hitachi Data Systems 1 Hitachi Data Systems Corporation 2012. All Rights Reserved

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données Cloud Computing Frédéric Desprez LIP ENS Lyon/INRIA Grenoble Rhône-Alpes EPI GRAAL 25/03/2010! Introduction La transparence d utilisation des grandes plates-formes distribuées est primordiale Il est moins

Plus en détail

Elasticité logicielle pour optimiser l empreinte énergétique

Elasticité logicielle pour optimiser l empreinte énergétique Ecole des Mines de Nantes Elasticité logicielle pour optimiser l empreinte énergétique Thomas Ledoux (équipe Ascola, INRIA-EMN, LINA) direction des études décembre 2010 page 1 Relation logiciel empreinte

Plus en détail

Chapitre 4: Introduction au Cloud computing

Chapitre 4: Introduction au Cloud computing Virtualisation et Cloud Computing Chapitre 4: Introduction au Cloud computing L'évolution d'internet Virt. & Cloud 12/13 2 Définition Le cloud computing est une technologie permettant de délocaliser les

Plus en détail

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy Séminaire Aristote, 17 Déc. 2009 Ecole Polytechnique Palaiseau Plan L'univers du cloud Ressources Grilles, middleware

Plus en détail

Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris. ArcGIS et le Cloud. Gaëtan LAVENU

Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris. ArcGIS et le Cloud. Gaëtan LAVENU Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris ArcGIS et le Cloud Gaëtan LAVENU Agenda Qu'attendent nos clients du Cloud Computing? Les solutions de Cloud ArcGIS dans le Cloud Quelles attendent

Plus en détail

+ = OpenStack Presentation. Raphaël Ferreira - CoFounder. @ enovance. Credits : Thanks to the OpenStack Guys 1

+ = OpenStack Presentation. Raphaël Ferreira - CoFounder. @ enovance. Credits : Thanks to the OpenStack Guys 1 + = OpenStack Presentation Raphaël Ferreira - CoFounder @ enovance Credits : Thanks to the OpenStack Guys 1 INTRODUCTION 2 Les entreprises déploient des clouds pour... Répondre aux besoins de ressources

Plus en détail

Virtualisation & Sécurité

Virtualisation & Sécurité Virtualisation & Sécurité Comment aborder la sécurité d une architecture virtualisée? Quels sont les principaux risques liés à la virtualisation? Peut-on réutiliser l expérience du monde physique? Quelles

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec [email protected] Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

VMware : De la Virtualisation. au Cloud Computing

VMware : De la Virtualisation. au Cloud Computing VMware : De la Virtualisation. au Cloud Computing Tunis, le 12 Décembre 2012 Jamal Belhachemi BDM South EMEA 2010 VMware, Inc. Tous droits réservés. 2010 #1 dans les priorités des Directeurs Informatiques

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Cycle Innovation & Connaissance 12 petit déjeuner Mardi 15 mai 2012. Cloud Computing & Green IT : nuages ou éclaircies?

Cycle Innovation & Connaissance 12 petit déjeuner Mardi 15 mai 2012. Cloud Computing & Green IT : nuages ou éclaircies? Cycle Innovation & Connaissance 12 petit déjeuner Mardi 15 mai 2012 Cloud Computing & Green IT : nuages ou éclaircies? Jean-Claude TAGGER, professeur SKEMA Business School AGENDA Le Cloud : Quelques définitions

Plus en détail

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS) FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE Database as a Service (DBaaS) 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may

Plus en détail

Hébergement MMI SEMESTRE 4

Hébergement MMI SEMESTRE 4 Hébergement MMI SEMESTRE 4 24/03/2015 Hébergement pour le Web Serveurs Mutualités Serveurs Dédiés Serveurs VPS Auto-Hébergement Cloud Serveurs Mutualités Chaque Serveur héberge plusieurs sites Les ressources

Plus en détail

EXALOGIC ELASTIC CLOUD MANAGEMENT

EXALOGIC ELASTIC CLOUD MANAGEMENT EXALOGIC ELASTIC CLOUD MANAGEMENT Jean-Marc Digne Ingénieur Avant Vente Oracle France 1 The following is intended to outline our general product direction. It is intended for information purposes only,

Plus en détail

Histoire et actualité de lʼinformatique

Histoire et actualité de lʼinformatique Histoire et actualité de lʼinformatique Évolution, problèmes, perspectives Sacha Krakowiak Université de Grenoble Séance 6 Progrès et défis actuels Progrès et défis actuels Quelques sujets dʼactualité

Plus en détail

Du Datacenter au Cloud Quels challenges? Quelles solutions? Christophe Dubos Architecte Microsoft

Du Datacenter au Cloud Quels challenges? Quelles solutions? Christophe Dubos Architecte Microsoft Du Datacenter au Cloud Quels challenges? Quelles solutions? Christophe Dubos Architecte Microsoft Microsoft et le Cloud Computing Quelle approche? Le Cloud, un accélérateur de la transformation Un modèle

Plus en détail

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction Plan du cours Autres modèles pour les applications réparties Introduction [email protected] http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Virtualisation, Sécurité et Gestion des périphériques Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Novembre 2009 Gérard Padiou Systèmes d exploitation

Plus en détail

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par. École Doctorale d Informatique, Télécommunications et Électronique de Paris THÈSE présentée à TÉLÉCOM PARISTECH pour obtenir le grade de DOCTEUR de TÉLÉCOM PARISTECH Mention Informatique et Réseaux par

Plus en détail

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBLITÉ CONTINUE ET MOBILITÉ DES DONNÉES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

La virtualisation, des postes de travail

La virtualisation, des postes de travail La virtualisation, des postes de travail W. Guyot-Lénat" Service Commun Informatique" UFR Sciences" Université Blaise Pascal" Menu" Mise en bouche : " présentation SCI" Petits mots de Gartner" Quelques

Plus en détail

La tête dans les nuages

La tête dans les nuages 19 novembre 2010 La tête dans les nuages Démystifier le "Cloud Computing" Jean Bernard, Directeur, Gestion des services Radialpoint SafeCare Inc. Au sujet de Radialpoint Radialpoint offre des solutions

Plus en détail

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBILITE CONTINUE ET MOBILITE DES DONNEES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

Modélisation des interfaces matériel/logiciel

Modélisation des interfaces matériel/logiciel Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS Axel François bureau C19 (2eme étage) cours disponibles en pdf sur : www.iut-arles.up.univ-mrs.fr/francois 1 PLAN En Cours : qu'est-ce qu'un ordinateur? à quoi

Plus en détail

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud Grid and Cloud Computing Problématique Besoins de calcul croissants Simulations d'expériences coûteuses ou dangereuses Résolution de

Plus en détail

VMware Infrastructure The New Computing Platform. Stéphane CROIX Systems Engineer

VMware Infrastructure The New Computing Platform. Stéphane CROIX Systems Engineer VMware Infrastructure The New Computing Platform Stéphane CROIX Systems Engineer La nouvelle plateforme informatique Une seule plateforme pour résoudre les différents «challenges» de l entreprise d aujourd

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT [email protected]

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT [email protected] Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Forthcoming Database

Forthcoming Database DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of

Plus en détail

Containers : Outils magiques pour les Devops? OpenNebula et son écosystème pour une infrastructure cloud agile

Containers : Outils magiques pour les Devops? OpenNebula et son écosystème pour une infrastructure cloud agile Containers : Outils magiques pour les Devops? OpenNebula et son écosystème pour une infrastructure cloud agile AGENDA TAS Group REX : OpenNebula Questions TAS GROUP Software company and system integrator

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA? Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA? Jean-Marc Pierson [email protected] IRIT, Université de Toulouse Agenda! Le Cloud! Le SOA! Quelle différence!?! Cloud et SOA! Mise en

Plus en détail

Élasticité des applications à base de services dans le Cloud

Élasticité des applications à base de services dans le Cloud 1/40 Élasticité des applications à base de services dans le Cloud Mourad Amziani 12 Tarek Melliti 1 Samir Tata 2 1 IBISC, EA4526, Université d'évry Val-d'Essonne, Évry, France 2 UMR CNRS Samovar, Institut

Plus en détail

L état de la virtualisation

L état de la virtualisation L état de la virtualisation Par : Marc Balardelle Atelier 313 Plan de la présentation Les hyperviseurs Les faits saillants de VMWorld 2008 L'architecture de services L'état du bureau virtuel Les hyperviseurs

Plus en détail

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Mémoires 2010-2011 www.euranova.eu MÉMOIRES ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Contexte : Aujourd hui la plupart des serveurs d application JEE utilise des niveaux de cache L1

Plus en détail

Gestion répartie de données - 1

Gestion répartie de données - 1 Gestion répartie de données - 1 Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Gestion répartie de données Plan de la présentation Introduction

Plus en détail

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008 Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server

Plus en détail

Le cloud computing au service des applications cartographiques à haute disponibilité

Le cloud computing au service des applications cartographiques à haute disponibilité Le cloud computing au service des applications cartographiques à haute disponibilité Claude Philipona Les Rencontres de SIG-la-Lettre, Mai 2010 camptocamp SA / www.camptocamp.com / [email protected]

Plus en détail

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services 69 Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services M. Bakhouya, J. Gaber et A. Koukam Laboratoire Systèmes et Transports SeT Université de Technologie de Belfort-Montbéliard

Plus en détail

APX et VCE, Modèle d industrialisation de l intégration et du déploiement. Olivier BERNARD, VCE

APX et VCE, Modèle d industrialisation de l intégration et du déploiement. Olivier BERNARD, VCE APX et VCE, Modèle d industrialisation de l intégration et du déploiement Olivier BERNARD, VCE Généralisation des réseaux, suprématie d IP Consumérisation des terminaux informatiques Evolution vers une

Plus en détail

Cloud Computing : Généralités & Concepts de base

Cloud Computing : Généralités & Concepts de base Cloud Computing : Généralités & Concepts de base Les 24èmes journées de l UR-SETIT 22 Février 2015 Cette oeuvre, création, site ou texte est sous licence Creative Commons Attribution - Pas d Utilisation

Plus en détail

Christophe Dubos Architecte Infrastructure et Datacenter Microsoft France [email protected]

Christophe Dubos Architecte Infrastructure et Datacenter Microsoft France chrisdu@microsoft.com Christophe Dubos Architecte Infrastructure et Datacenter Microsoft France [email protected] Microsoft et le Cloud Computing Quelle approche? Voyage au Cœur du Cloud Microsoft Self Service Client Délégation

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Plate-forme Cloud CA AppLogic pour les applications d entreprise

Plate-forme Cloud CA AppLogic pour les applications d entreprise FICHE PRODUIT : CA AppLogic Plate-forme Cloud CA AppLogic pour les applications d entreprise agility made possible CA AppLogic est une plate-forme Cloud Computing clés en main permettant aux clients de

Plus en détail

Introduction à MapReduce/Hadoop et Spark

Introduction à MapReduce/Hadoop et Spark 1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -

Plus en détail

LIVRE BLANC. Citrix XenDesktop. La virtualisation de poste de travail : la check-list de l acheteur. www.citrix.fr

LIVRE BLANC. Citrix XenDesktop. La virtualisation de poste de travail : la check-list de l acheteur. www.citrix.fr La virtualisation de poste de travail : la check-list de l acheteur www.citrix.fr Sommaire Introduction...3 La mise à disposition de postes de travail...3 L expérience utilisateur doit être améliorée...4

Plus en détail

Introduction. Gestion de la consommation énergétique. Contexte du cloud computing Instrumentation et contrôle

Introduction. Gestion de la consommation énergétique. Contexte du cloud computing Instrumentation et contrôle Ctrl-Green Projet ANR INFRA (2012-2015) Coordinateur Noel De Palma (UJF/LIG) Partenaires UJF/LIG, ENSEEIHT/IRIT, INRIA, Eolas Business&Decision, Scalagent Introduction Gestion de la consommation énergétique

Plus en détail

Culture numérique Cloud computing

Culture numérique Cloud computing Culture numérique Cloud computing Hervé Le Crosnier Université de Caen Basse-Normandie [email protected] Processus John McCarthy «computation may someday be organized as a public utility.» Transformations

Plus en détail

Introduction aux systèmes temps réel

Introduction aux systèmes temps réel Introduction aux systèmes temps réel Frank Singhoff Bureau C-203 Université de Brest, France LISyC/EA 3883 [email protected] UE applications de l informatique, Université de Brest Page 1/22 Plan du

Plus en détail

Systèmes et algorithmes répartis

Systèmes et algorithmes répartis Systèmes et algorithmes répartis Tolérance aux fautes Philippe Quéinnec Département Informatique et Mathématiques Appliquées ENSEEIHT 4 novembre 2014 Systèmes et algorithmes répartis V 1 / 45 plan 1 Sûreté

Plus en détail

Cloud Computing Stratégie IBM France

Cloud Computing Stratégie IBM France Cloud Computing Stratégie IBM France Daphné Alécian, Cloud Market Manager 1 2 2 Le Cloud Computing induit des changements majeurs en terme d usage et de comportement Définition : Caractéristiques : Un

Plus en détail

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. [email protected] http://www.metz.supelec.

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr http://www.metz.supelec. 3A-IIC - Parallélisme & Grid Stéphane Vialle [email protected] http://www.metz.supelec.fr/~vialle Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation

Plus en détail

CA Automation Suite for Data Centers

CA Automation Suite for Data Centers FICHE PRODUIT : CA Automation Suite for Data Centers CA Automation Suite for Data Centers agility made possible «La technologie a devancé la capacité à la gérer manuellement dans toutes les grandes entreprises

Plus en détail

Adopter une approche unifiée en matière d`accès aux applications

Adopter une approche unifiée en matière d`accès aux applications Adopter une approche unifiée en matière d`accès aux applications Présentée par Jean-Steve Shaker Architecte de solutions - Virtualisation 2012 Technologies Metafore Inc. L évolution 2012 Technologies Metafore

Plus en détail

Serveur d'application à la juste taille

Serveur d'application à la juste taille Serveur d'application à la juste taille 18 Mars 2010 [email protected] Plan Contexte JOnAS 5, plate-forme de convergence JavaEE/OSGi Caractéristiques essentielles pour le Cloud Computing & l'autonomic

Plus en détail

ORACLE PAAS CLOUD MANAGEMENT

ORACLE PAAS CLOUD MANAGEMENT ORACLE PAAS CLOUD MANAGEMENT Jean-Marc Digne Ingénieur Avant-Vente Oracle France 1 The following is intended to outline our general product direction. It is intended for information purposes only, and

Plus en détail

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect [email protected]. 2010 IBM Corporation

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation Perspectives pour l entreprise Desktop Cloud JC Devos IBM IT Architect [email protected] Principe technique Disposer d un poste de travail virtuel accessible par la plupart des terminaux disponibles Ce

Plus en détail

Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Cloud Computing Stratégie Esri

Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Cloud Computing Stratégie Esri Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Cloud Computing Stratégie Esri Gaëtan LAVENU Plan de la présentation Evolution des architectures SIG Qu'est ce que le Cloud Computing? ArcGIS et

Plus en détail

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational

Plus en détail

Protection et amélioration de la sécurité des systèmes d'exploitation

Protection et amélioration de la sécurité des systèmes d'exploitation Protection et amélioration de la sécurité des systèmes d'exploitation Jérémy Briffaut ENSI Bourges LIFO Martin Perès Université de Bordeaux LaBRI Jonathan Rouzaud-Cornabas INRIA Rhône Alpes Jigar Solanki

Plus en détail

Section I: Le Contexte du DATA CENTER Pourquoi l AGILITE est Nécessaire dans le DataCenter

Section I: Le Contexte du DATA CENTER Pourquoi l AGILITE est Nécessaire dans le DataCenter Agile Data Center CONTENU Section I: Le Contexte du DATA CENTER Pourquoi l AGILITE est Nécessaire dans le DataCenter Section II: VERS UNE APPROCHE SERVICE Le DataCenter AGILE (ADC) Une Infrastructure Elastique

Plus en détail

Cloud Computing et SaaS

Cloud Computing et SaaS Cloud Computing et SaaS On a vu fleurir ces derniers temps un grands nombre de sigles. L un des premiers est SaaS, Software as a Service, sur lequel nous aurons l occasion de revenir. Mais il y en a beaucoup

Plus en détail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures Le stockage 1. Architecture de stockage disponible a. Stockage local ou centralisé L architecture de stockage à mettre en place est déterminante pour l évolutivité et la performance de la solution. Cet

Plus en détail

Software Engineering and Middleware A Roadmap

Software Engineering and Middleware A Roadmap Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems

Plus en détail

Introduction au Déploiement

Introduction au Déploiement Introduction au Déploiement Noël De Palma - Projet SARDES - INRIA - IMAG LSR Remerciement à d. donsez 03/03/06 PLAN Définition et problématique OSGI FRACTAL JADE Conclusion 03/03/06 2 Définition Environnement

Plus en détail

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 CNAM 2010-2011 Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 Déploiement d une application dans le cloud. 1. Cloud Computing en 2010 2. Offre EC2

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine [email protected] Transparents Disponibles

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle [email protected] http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

.Réinventons l innovation. www.gosis.com

.Réinventons l innovation. www.gosis.com .Réinventons l innovation Définitions Définition: Environnement de stockage et d exécution élastique de ressources informatiques impliquant plusieurs acteurs, connectés par Internet. Cet environnement

Plus en détail

Introduction au Cloud Computing

Introduction au Cloud Computing Contenu Introduction au Cloud Computing... 2 Définition du Cloud... 2 Modèles d usage... 3 Iaas, Paas,SaaS : qui est responsable de quoi?.... 3 Iaas : votre datacenter dans le cloud... 3 SaaS : l alternative

Plus en détail

EMC Forum 2014. EMC ViPR et ECS : présentation des services software-defined

EMC Forum 2014. EMC ViPR et ECS : présentation des services software-defined EMC Forum 2014 EMC ViPR et ECS : présentation des services software-defined 1 2 3 4 5 Software is Eating the World Marc Andreessen co-fondateur de Netscape Les entreprises qui utilisent efficacement le

Plus en détail

Virtualisation des Serveurs et du Poste de Travail

Virtualisation des Serveurs et du Poste de Travail Virtualisation des Serveurs et du Poste de Travail Les enjeux de la virtualisation Les acteurs du segment La virtualisation de serveurs Les concepts Les technologies d architectures L offre La virtualisation

Plus en détail

VIRTUALISATION : MYTHES & RÉALITÉS

VIRTUALISATION : MYTHES & RÉALITÉS VIRTUALISATION : MYTHES & RÉALITÉS Virtualisation Définition Marché & Approche Microsoft Virtualisation en PME Quel(s) besoin(s) Quelle(s) approche(s) Témoignage Client Mr Rocher, DSI CESML Questions /

Plus en détail

Administration d'infrastructures logicielles avec Jade

Administration d'infrastructures logicielles avec Jade Administration d'infrastructures logicielles avec Jade Daniel Hagimont IRIT, décembre 2006 Contexte Infrastructures logicielles réparties Complexité et hétérogénéité Besoin d administration Fonctions d

Plus en détail

L INFORMATIQUE SOUS FORME DE SERVICE POUR VOTRE ENTREPRISE. Farid BENREJDAL Senior Systems Engineer VMware

L INFORMATIQUE SOUS FORME DE SERVICE POUR VOTRE ENTREPRISE. Farid BENREJDAL Senior Systems Engineer VMware L INFORMATIQUE SOUS FORME DE SERVICE POUR VOTRE ENTREPRISE Farid BENREJDAL Senior Systems Engineer VMware ... VERS L IT AS A SERVICE Phase I Phase II Phase III Gain en CapEx / Consolidation Gain en fiabilité

Plus en détail

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

Dossier de presse. Offre Allinclouded by Flexsi Le cloud privé sur mesure, enfin pour les PME!

Dossier de presse. Offre Allinclouded by Flexsi Le cloud privé sur mesure, enfin pour les PME! Dossier de presse Paris, le 14 mai 2013 Offre Allinclouded by Flexsi Le cloud privé sur mesure, enfin pour les PME! Avec sa nouvelle offre Allinclouded, Flexsi permet à chacun, quʼil soit sur PC ou Mac,

Plus en détail

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010. Guillaume ANSEL M2 ISIDIS 2009-2010 / ULCO Dossier d étude sur la virtualisation LA VIRTUALISATION 18/01/2010 Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques.

Plus en détail

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS) Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS) Responsables: Tanguy Risset & Marine Minier [email protected] [email protected] http://master-info.univ-lyon1.fr/m2rts/

Plus en détail

Un exemple de cloud au LUPM : Stratuslab

Un exemple de cloud au LUPM : Stratuslab Un exemple de cloud au LUPM : Stratuslab Plan de la présentation Le cloud : une idée nouvelle? La boîte à outils du cloud Les différents types de cloud (Iaas, Paas, Saas) Présentation de Stratuslab Démonstration

Plus en détail

XtremWeb-HEP 8.0.0. Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

XtremWeb-HEP 8.0.0. Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire XtremWeb-HEP 8.0.0 Interconnecting jobs over DG Virtualization over DG Oleg Lodygensky Objectives 1.Deploy Virtual Machines in XtremWeb-HEP desktop grid to: protect volunteer resources generalize «pilot

Plus en détail

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma [email protected] Applications réparties Def : Application s exécutant

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0 DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0 INDEX : DOCUMENTATION - FRANCAIS... 2 1. INSTALLATION... 2 2. CONFIGURATION... 2 3. LICENCE ET COPYRIGHT... 3 4. MISES

Plus en détail

Qu est ce que le Cloud Computing?

Qu est ce que le Cloud Computing? Qu est ce que le Cloud Computing? Makhlouf Hadji Ingénieur de Recherche Qu est ce que le Cloud Computing? Agenda: Virtualisation des Ressources Introduction au Cloud Computing Caractéristiques du Cloud

Plus en détail

Bonjour. Yohan PARENT, Cyprien FORTINA, Maxime LEMAUX, Hyacinthe CARTIAUX

Bonjour. Yohan PARENT, Cyprien FORTINA, Maxime LEMAUX, Hyacinthe CARTIAUX Bonjour I.Le contexte II.Le cloud computing III.L'expérimentation des solutions libres sur Grid'5000 1.Eucalyptus 2.OpenNebula 3.OpenStack IV.Tableau Comparatif V.Conclusion I.Le contexte 1)Le projet

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail