MEAD : temps réel et tolérance aux pannes pour CORBA



Documents pareils
NFP111 Systèmes et Applications Réparties

Systèmes et algorithmes répartis

Software Engineering and Middleware A Roadmap

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Conception des systèmes répartis

CORBA. (Common Request Broker Architecture)

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

CORBA haute performance

Rapport d activité. Mathieu Souchaud Juin 2007

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Introduction au temps réel

Caches web. Olivier Aubert 1/35

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

Patrons de Conception (Design Patterns)

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier

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

Contributions à l expérimentation sur les systèmes distribués de grande taille

La Continuité d Activité

Windows Internet Name Service (WINS)

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

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

October 17, Résumé

Equilibrage de charge (Load

WEA Un Gérant d'objets Persistants pour des environnements distribués

IDEC. Windows Server. Installation, configuration, gestion et dépannage

Le passage à l échelle de serveur J2EE : le cas des EJB

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

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

Oracle Maximum Availability Architecture

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Introduction aux systèmes temps réel. Iulian Ober IRIT

DHCP Failover for Windows Server 2012 By COCHET Anthony

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Conception et contrôle des SMA tolérants aux fautes

Fonctions Réseau et Télécom. Haute Disponibilité

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Architecture distribuée

Ordonnancement temps réel

Continuité. Management de la. d activité. Assurer la pérennité de l, entreprise : planification, choix techniques et mise en œuvre 2 e édition

Applications Embarquées Critiques

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Le cadre des Web Services Partie 1 : Introduction

Ebauche Rapport finale

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

Mise en place Active Directory / DHCP / DNS

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Réplication adaptative sur les réseaux P2P

Windows Server 2012 Les bases indispensables pour administrer et configurer votre serveur

Cours Bases de données

Les Architectures Orientées Services (SOA)

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

1. Introduction à la distribution des traitements et des données

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

CA XOsoft. Suite logiciels. WANSync Solution de réplication des données en LAN ou WAN.

PLAN DE FORMATION TECHNICIEN(NE) D'ASSISTANCE EN INFORMATIQUE TAI

Architectures n-tiers Intergiciels à objets et services web

Comment déployer l'active Directory sur Windows Server 2008 R2. Microsoft France Division DPE

Haka : un langage orienté réseaux et sécurité

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012

PLAN. Industrialisateur Open Source LANS DE SECOURS INFORMATIQUES PRINCIPES GENERAUX ETAT DE L ART SELON BV ASSOCIATES

Programmation parallèle et distribuée

1 Mesure de la performance d un système temps réel : la gigue

Programmation parallèle et distribuée

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Cours n 12. Technologies WAN 2nd partie

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Systèmes et réseaux d information et de communication

Un concept multi-centre de données traditionnel basé sur le DNS

Logiciel HP StorageWorks Enterprise Virtual Array (EVA) Fiche technique

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

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

Etude critique de mécanismes de sécurité pour l architecture Jini

Faulconnier Bastien SIO2. Cahier des charges. Choix et mise en œuvre d'un datacenter pour Infrastructure Cloud. Pour la société :

IBM Tivoli Monitoring, version 6.1

La surveillance centralisée dans les systèmes distribués

Introduction aux applications réparties

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Conception et réalisation d un système d instrumentation distribuée basé sur l architecture Jini

Messagerie asynchrone et Services Web

La haute disponibilité

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

4.2 Unités d enseignement du M1

Projet Active Object

Intergiciel - concepts de base

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Eric Bertrand 08/11/06 Maître de conférence 1

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Analyse de performance, monitoring

CEG4566/CSI4541 Conception de systèmes temps réel

Service d'annuaire Active Directory

Differential Synchronization

Mise en œuvre des serveurs d application

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l

Ordonnancement temps réel

IBM Cloudant Data Layer Local Edition

Transcription:

MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006

Plan 1 Introduction 2 Solutions existantes 3 Concilier tolérance aux pannes et temps réel 4 Architecture de MEAD 5 Conclusion

MEAD : Middleware for Embedded Adaptative Dependability A propos de MEAD... Intergiciel pour CORBA associant temps-réel avec tolérance aux pannes. Développé à l Université Carnegie Mellon de Pittsburgh. Problématique abordée par MEAD Temps-réel et tolérance aux pannes : propriétés antagonistes. Comment concilier ces deux objectifs? approche par interception sous ORB et prédiction de fautes.

Objectifs de MEAD Transparence pour adaptabilité aisée à des applications existantes. Gestion pro-active de fautes : Défaillances du matériel. Défaillances des processus. Fautes de communication : altération des messages, partitionnement du réseau. Limitation des fautes temporelles. Non prise en charge des pannes byzantines.

CORBA : Common Object Request Broker Architecture Standard de l OMG créé en 1992. Architecture de distribution d objets sur un réseau : communication avec ORB. Indépendance du langage de programmation (existence de compilateurs IDL pour de nombreux langages) et du protocole réseau. Pas de tolérance aux pannes, ni de temps-réel en standard.

Fault Tolerant-CORBA Extension CORBA pour garantir la tolérance aux pannes. Réplication des objets CORBA sur différents hôtes (groupes d objets transparents) : IOR IOGR (Interoperable Object Group Reference) Services de surveillance et de notification de panne.

Fault Tolerant-CORBA (2) : modes de réplication supportés Non-réplication (équilibrage de charge) : Pour les objets sans états (les arguments d une invocation suffisent). Réplication passive : Réplicat primaire répondant aux requêtes. Réplicats secondaires de secours. Maintien d un journal de modifications. Mises à jours régulières des réplicats secondaires (points de reprise) à partir du primaire. Réplication active : Égalité de tous les réplicats : traitement de toutes les requêtes. État identique des réplicats non-défaillants. Mécanisme d élimination de réponses multiples : vote sur les sorties (résistance aux fautes byzantines).

Real Time-CORBA Travaux menés par RTESS PTF (Real Time, Embedded and Specialized Systems Platform Task Force). Support d un ordonnancement à priorité fixe (Rate Monotonic). Objectif : éviter les inversions de priorité, respecter les échéances. Nécessite une prédictabilité de la couche réseau.

Real Time-CORBA (2) Gestion des priorités Association à chaque invocation d une priorité CORBA (convertible en priorité système) définie par le client ou le serveur. Isolation du trafic réseau par bandes de priorités. Utilisation de réserves de threads pour les servants. Utilisation de mutex CORBA (avec protocole d héritage de priorité).

Antagonisme du temps réel et de la tolérance aux pannes Non-déterminisme des pannes : fautes temporelles Pannes : évènements asynchrones non-prédictibles. Procédures de récupération après panne (réplication passive) non prévues. Multi-threading sur un système tolérant aux pannes Maintien de la cohérence des réplicats pas de multithreading, ni d utilisation de timers locaux.

Prédiction de pannes Exploitation d indices annonçant une panne future. Identification des scénarios annonciateurs de pannes? Utilisation de techniques statistiques et heuristiques pour la prédiction avec degré de confiance. Mise en place d un prédicateur local de fautes relié à un prédicateur global.

Récupération pro-active Principe Utilisation d un prédicateur de pannes consommation de ressources. Si une panne est prévue avec un haut degré de confiance dans un futur proche : Utilisation du temps restant avant panne pour la migration des processus en danger par le prédicateur global avec récupération pro-active. Rajeunissement de processus par redémarrage. Création de nouveaux réplicats. Avantage Diminution de la latence sur récupération Risques de fautes temporelles diminuées par rapport à une politique réactive.

Décision du déclenchement de récupération pro-active Problématique Quand déclencher la récupération? Un déclenchement trop fréquent surcharge le système. Un déclenchement non-réalisé ou trop tardif nécessite une politique réactive menace de fautes temporelles. Paramètres à considérer Fréquence d invocation des méthodes des objets. Fiabilité de la prédictabilité des pannes. Latence de récupération sur pannes. Délai des communications réseau.

Récupération pro-active pour un système avec réplication passive Après prédiction d une panne du processus primaire : 1 Diffusion de l état interne du processus primaire synchronisation des processus secondaires. 2 Élection du nouveau processus primaire. 3 Remplacement par le nouveau processus primaire.

Compromis entre performance, tolérance aux pannes et ressources

Paramètres d arbitrage du compromis Paramètres ajustables Style de réplication (actif, passif,...). Nombre de réplicats (passage à l échelle). Fréquence de mise en place de points de restauration. Paramètres applicatifs Paramètres obtenus par analyse statique ou dynamique. Contraintes temporelles. Taille des requêtes et réponses trafic réseau. Fréquence des requêtes. Ressources utiles (complexité algorithmique).

Vue d ensemble de l architecture MEAD [3]

Interception Objectif Transparence du support du temps-réel et de la tolérance aux pannes. Adaptation simple à des applications existantes. Utilisation d un ORB standard. Chaîne d interception Insertion de l architecture MEAD sous un ORB standard par chaîne d interception à l exécution. Chaînage des intercepteurs en parallèle ou série. Inspiré de la programmation orientée aspect.

Gestionnaire de réplication Réplication des composants selon une politique définissable par le développeur. Aide à la définition de politiques de réplication par un outil de conseil de fiabilité (reliability advisor). Décide du nombre de réplicats, de leur localisation et du style de réplication. Utilisation de points de sauvegarde différentiels (moins de trafic réseau, récupération plus rapide).

Gestionnaires hiérarchiques de fautes Détecteurs de fautes locales Détecte et remonte dans la hiérarchie les fautes d objets et processus. Passage à l échelle Gestionnaires hiérarchiques : remontée ou non des fautes au gestionnaire de réplication.

Gestionnaires hiérarchiques de ressources Organisation hiérarchique Surveillance locale de l utilisation de ressources par interception. Remontée des informations aux gestionnaires de ressources globaux. Gestionnaire de ressources global racine Vue d ensemble de l utilisation de ressources. Décisions d équilibrage de charge : migration d objets et processus.

Ordonnanceur temps-réel tolérant aux pannes (RT-FT) Ordonnanceur hors-ligne Analyse de faisabilité temps-réel et prévision d ordonnancement en l absence de fautes. Ordonnanceur dynamique Prédiction du temps de récupération dans le pire des cas. Détermination des meilleurs moments pour la récupération.

Gestionnaire de politique de tolérance aux pannes pro-active Détecteur de fautes locales. Analyseur local de fautes. Gestionnaire global de politique pro-active : Réception des rapports des analyseurs locaux. Utilisation d algorithmes de prédiction de pannes. Décisions de migration préventive de processus.

Conclusion Innovations de MEAD Conciliation du temps réel et de la tolérance aux pannes par politique pro-active. Utilisation transparente par interception. Sauvegarde d états différentiels. Ajustement manuel ou automatique de paramètres pour assurer un compromis entre performances, ressources et tolérance aux pannes.

Conclusion (2) Problèmes Surcoût introduit par l interception. Surcoût de la politique pro-active. Difficulté de la prédictabilité des fautes. Non-support des pannes byzantines (projet Starfish).

Références Tom Bracewell and Priya Narasimhan. A middleware for dependable distributed real-time systems. Technical report. Tudor Dumitras and Priya Narasimhan. An architecture for versatile dependability. Technical report. Priya Narasimhan. Middleware for embedded adaptative dependability (MEAD). Soila M. Pertet. Proactive fault-recovery in distributed systems. Master s thesis, Carnegie Mellon University, 2004.