Gestion autonome de flots d exécution événementiels



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

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

THÈSE. Pour obtenir le grade de. Spécialité : Informatique. Arrêté ministériel : 7 août Présentée et soutenue publiquement par.

Editeur de solutions innovantes C 3. Solution globale managée de communication et de téléphonie sur IP

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

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Communications performantes par passage de message entre machines virtuelles co-hébergées

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Tests de performance du matériel

Initiation au HPC - Généralités

Vol de Tâches Efficace pour Systèmes Événementiels Multi-cœurs

Pour obtenir le grade de. Arrêté ministériel : 7 août Sylvain Genevès

CAHIER DES CHARGES D IMPLANTATION

Exigences système Edition & Imprimeries de labeur

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Drupal : Optimisation des performances

Installation de Premium-RH

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

<Insert Picture Here> Exadata Storage Server et DB Machine V2

VMWare Infrastructure 3

Vérifier la qualité de vos applications logicielle de manière continue

Virtualisation Vserver et OpenVz en entreprise

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

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

Gestion répartie de données - 1

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

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

ORACLE EXADATA DATABASE MACHINE X2-8

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

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

Systèmes d exploitation

Architecture des ordinateurs

Systèmes et traitement parallèles

Parcours en deuxième année

Spécifications Techniques Générales. Techno Pole Internet. Lycée Djignabo / Ziguinchor

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Intel Corporation Nicolas Biguet Business Development Manager Intel France

LOG4430 : Architecture et conception avancée

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

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

Exigences système Edition & Imprimeries de labeur

Appliances et logiciels Security

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

L équipement choisit devra être nomade, il servira aux visiteurs en déplacements et sera donc sujets à des limitations de tailles et de poids.

CONSULTATION : (MAPA) MAT_INFO_2013_03 Marché à procédure adaptée (MAPA) MAT_INFO_2013_03

Exigences système Commercial & Digital Printing

ClariLog - Asset View Suite

ELP 304 : Électronique Numérique. Cours 1 Introduction

Fax sur IP. Panorama

ORACLE EXADATA DATABASE MACHINE X2-2

POSSEDEZ VOTRE SERVEUR WEB DES MAINTENANT!

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Eléments d architecture des machines parallèles et distribuées

Infrastructures Parallèles de Calcul

Continuité de services et plan de reprise d activité

Etude d architecture de consolidation et virtualisation

Présentation Infrastructure DATACENTRE

Acquisition de matériels informatiques

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

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

LOT N 1 : ORDINATEURS BORDEREAU DE PRIX IDENTIFICATION DU FOURNISSEUR. Code DESIGNATION QTE PU HT EN EURO MONTANT TOTAL HT EN EURO MONTANT TTC EN EURO

Cours A7 : Temps Réel

Les environnements de calcul distribué

1. Aménagements technologiques 2. Installation de Microsoft SQL Server Microsoft SQL Server 2008 Service Pack 3

Maîtriser les technologies Big Data pour obtenir des résultats en quasi-temps réel

Network musical jammin

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Messagerie asynchrone et Services Web

Technologie SDS (Software-Defined Storage) de DataCore

Par CADICI Grégory & FRITZ Rémy

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

Exigences système BauBit pro

Déterminer le Nombre de licences pour V-locity 4

SECURIDAY 2012 Pro Edition

ManageEngine Netflow Analyser

Tsoft et Groupe Eyrolles, 2005, ISBN :

Qu est ce qu un un serveur?

Migration d un Cluster Fiber Channel+SAN+Lames sous Xen vers Ethernet +iscsi+serveurs sous KVM

Guide d installation BiBOARD

Journée Utiliateurs Nouvelles du Pôle ID (Informatique) Pierre Neyron, LIG/CNRS

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

IBM Cloudant Data Layer Local Edition

<Insert Picture Here> Solaris pour la base de donnés Oracle

Vers un cache réparti adapté au cloud computing

La gestion de la performance applicative dans des environnements complexes et distribués

Architecture des calculateurs

Symphony. Procédures d installation : Mise à jour vers une version plus récente

Le très haut débit sur le territoire du Parc des Monts d'ardèche

Sommaire. Systèmes d Exploitation Intégration Sage 100 Sage CRM Disponibilité Client Bases de données... 3

Base de données MySQL

SQL2005, la migration Atelier 316

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Nouveautés ArcGIS 10.1 for Server

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Fastilog, votre outil de gestion des activités du personnel

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Transcription:

Gestion autonome de flots d exécution événementiels Fabien GAUD, M2R S&L Équipe SARDES (INRIA/LIG) 18 juin 2007 1 / 31

Sommaire 1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances 5 Conclusion 2 / 31

1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances 5 Conclusion 3 / 31

Problématique But Proposer un modèle de programmation et son modèle d exécution performant Modèles actuels Modèle à base de threads Modèle à base d événements Chacun est performant sous certaines conditions Proposition Un modèle mixte permettant d obtenir le meilleur de ces deux modèles 4 / 31

1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances 5 Conclusion 5 / 31

Principes des threads Modèle à base de threads Les threads sont une forme légère des processus Un processus est l unité de base d une exécution Les processus sont ordonnancés par le système d exploitation Les threads peuvent partager de la mémoire Parallélisation de tout ou partie de l exécution Permet l utilisation des multiprocesseurs Performances Bonnes performances à basse charge Mauvaises performances à haute charge (coût des changements de contexte) 6 / 31

Modèle à base d événements Principes Basé sur une boucle et des événements Un seul et unique flot d exécution (thread) Les traitants doivent être courts et non-bloquants Pas d utilisation possible des multiprocesseurs 7 / 31

Modèle à base d événements (2) Performances Mauvaises performances à basse charge Bonnes performances à haute charge 8 / 31

Modèle hybride à base d étages Principes Modèle fusionnant la programmation par threads et celle par événements Le programme est un ensemble d étages Les étages communiquent de manière asynchrone Les étages disposent de leur propre pool de threads 9 / 31

Modèle hybride à base d étages (2) Mise en œuvre 3 composants : File, Pool de threads, Traitant L étage connaît la file de l étage suivant Possibilité d ordonnancement par lot 10 / 31

Modèle hybride à base d étages (3) Caractéristiques Utilisation des multiprocesseurs Bonne utilisation des caches grâce à l ordonnancement par lot Possibilité de politiques de qualité de service Performances Mauvaises performances à basse charge (modèle événementiel) Bonnes performances à haute charge 11 / 31

Synthèse Modèle à base de threads Bonnes performances à basse charge Mauvaises performances à haute charge Modèle à base d évènements Mauvaises performances à basse charge Bonnes performances à haute charge Modèle hybride Identique au modèle événementiel avec plusieurs bonnes propriétés 12 / 31

1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances 5 Conclusion 13 / 31

Contribution Un modèle de programmation et une infrastructure d exécution qui permette un modèle d exécution : Asynchrone (événementielle) 14 / 31

Contribution Un modèle de programmation et une infrastructure d exécution qui permette un modèle d exécution : Asynchrone (événementielle) Synchrone (threads) 14 / 31

Contribution Un modèle de programmation et une infrastructure d exécution qui permette un modèle d exécution : Asynchrone (événementielle) Synchrone (threads) Partiellement synchrone 14 / 31

Contribution : détail Architecture permettant d avoir les différents modèles d exécution (synchrone et asynchrone) Heuristiques de décision pour le changement de modèle Validation de l architecture et de certaines de ces heuristiques sur un exemple simple 15 / 31

Architecture 16 / 31

Principes Prise de décision Un gestionnaire de décision local à chaque étage Un gestionnaire de décision global Prise en compte de l avis du possesseur du thread ainsi que de l étage courant Le choix d une suite d exécution asynchrone est prioritaire sur un choix synchrone 17 / 31

Problèmes à résoudre Prise de décision (2) Répartition des threads dans les étages lors d un changement de modèle Gestion des opérations bloquantes 18 / 31

Prise de décision (3) Heuristiques étudiées Débit (nombre de requêtes traitées par seconde) entrant / sortant Nombre d éléments dans les files d attente des étages Heuristiques envisageables Nombre de changements de contexte Nombre de défauts de cache Présence d opérations bloquantes 19 / 31

Implantation Basée sur Sandstorm Implantation en Java du modèle défini par SEDA Environ 25000 lignes de code Environ 200 classes Modifications apportées à Sandstorm Ajout des fonctions de changement de modèle d exécution Ajout des gestionnaires de décision Modification de la gestion des E/S réseau Modification de la gestion des threads Portent sur environ 1/3 du code de Sandstorm 20 / 31

1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances 5 Conclusion 21 / 31

Objectifs Évaluation de performances Vérifier les différences de performances entre le mode synchrone et le mode asynchrone Valider une première solution d adaptation dynamique Architecture Architecture Clients / Serveur Injection de charge en boucle fermée Variation du nombre de clients simultanés Calcul du débit et de la latence pour chaque expérience 22 / 31

Architecture du serveur Caractéristiques Reçoit une requête et renvoi une réponse de même taille Serveur simplifié composé de 3 étages : Lecture, Écriture, Goulot d étranglement Utilisation d E/S réseau synchrones Configuré en mono-processeur 23 / 31

Conditions de test Conditions de tests 7 machines de tests (1 serveur, 6 clients) Plusieurs clients par machine Configuration des machines 2 processeurs Intel Xeon Hyperthreading (1.8 GHz) Carte réseau 1Gb/s Noyau Linux 2.6.20 24 / 31

Résultats sans adaptation dynamique 8000 (b) Debit 7000 6000 5000 req/s 4000 3000 2000 1000 0 0 10 20 30 40 50 60 70 80 90 100 Nombre de clients Sync ASync 25 / 31

Adaptation dynamique du modèle d exécution Mise en œuvre Choix entre les modes d exécution totalement synchrone et totalement asynchrone (initialement synchrone) Heuristiques utilisées Débit (réseau) entrant / sortant Taille de la file des messages entrants Seuils de basculement réglés en fonction des observations précédentes Décision prise en fonction de tendances (N valeurs en dessous/dessus du seuil) Calcul périodique des heuristiques 26 / 31

Résultats avec adaptation dynamique 8000 (b) Debit 7000 6000 5000 req/s 4000 3000 2000 1000 0 0 10 20 30 40 50 60 70 80 90 100 Nombre de clients Sync ASync Avec Adaptation 27 / 31

1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances 5 Conclusion 28 / 31

Problématique Travaux Conclusion Modèle de programmation et modèle d exécution performant Proposition d une architecture permettant un changement dynamique de modèle d exécution Vérification de l intérêt d un changement dynamique de modèle d exécution Proposition d une solution pour avoir un changement autonome de modèle d exécution Résultats Tests menés dans le domaine des serveurs de données Résultats encourageants : gains en débit jusqu à 70% à basse charge et 700% à haute charge 29 / 31

Perspectives Études futures Effectuer un implantation en C de l architecture proposée Améliorer l évaluation de performances (taille des requêtes, différentes injections de charge,...) Étudier les heuristiques proposées mais non traitées Étudier la stratégie d exécution partiellement synchrone Étudier l influence des architectures parallèles 30 / 31

Questions? 31 / 31