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



Documents pareils
Architecture distribuée

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

CORBA haute performance

Module BD et sites WEB

Disponibilité et fiabilité des services et des systèmes

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

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

1 LE L S S ERV R EURS Si 5

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

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

Patrons de Conception (Design Patterns)

Rebol, un langage «différent»

M1 IFPRU Cahier des Charges du projet de TER. Vidéo Surveillance sur IP Le système Rapace. Membres du groupe : Encadrés par :

Administration de systèmes

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

CORBA. (Common Request Broker Architecture)

Parcours en deuxième année

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Programmation Internet Cours 4

Calcul de la bande passante réelle consommée par appel suivant le codec utilisé

Architectures n-tiers Intergiciels à objets et services web

Système Principal (hôte) 2008 Enterprise x64

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

2009/2010 DESCRIPTIF DES UNITES D ENSEIGNEMENT OPTIONNELLES SPECIALITE RIM

Dimensionnement Introduction

2. DIFFÉRENTS TYPES DE RÉSEAUX

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

Hébergement de sites Web

Mon Sommaire. INEO.VPdfdf. Sécurisations des accès nomades

NetCrunch 6. Superviser

Description des UE s du M2

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Le filtrage de niveau IP

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Crédits... xi. Préface...xv. Chapitre 1. Démarrer et arrêter...1. Chapitre 2. L interface utilisateur...25

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

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

Contrôleur de domaine et serveur de fichiers

RAPPORT DE CONCEPTION UML :

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

PACK SKeeper Multi = 1 SKeeper et des SKubes

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

Pré-requis techniques. Yourcegid Secteur Public On Demand Channel

Technicien Supérieur de Support en Informatique

NFP111 Systèmes et Applications Réparties

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

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

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

La VOIP :Les protocoles H.323 et SIP

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

Conception des systèmes répartis

L annuaire et le Service DNS

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Gestion de clusters de calcul avec Rocks

Installation et configuration du CWAS dans une architecture à 2 pare-feux

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

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

CAHIER DES CHARGES D IMPLANTATION

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Pré-requis techniques

FileMaker Server 14. Guide de démarrage

«Clustering» et «Load balancing» avec Zope et ZEO

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Votre Réseau est-il prêt?

OPC Factory Server- Réglage des paramètres de communication

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

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

L art d ordonnancer. avec JobScheduler. François BAYART

Urbanisme du Système d Information et EAI

PaperCut MF. une parfaite maîtrise de vos impressions, copies et scans.

NFS Maestro 8.0. Nouvelles fonctionnalités

Introduction au Déploiement

ORACLE PAAS CLOUD MANAGEMENT

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Architectures en couches pour applications web Rappel : Architecture en couches

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Contrôle d accès Centralisé Multi-sites

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Atelier : Virtualisation avec Xen

Encadré par : Michel SIMATIC

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Intergiciel - concepts de base

Guide de démarrage rapide

Master d'informatique. Réseaux. Supervision réseaux

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

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

Rapport du projet Qualité de Service

UPSTREAM for Linux on System z

Transcription:

Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr

Action RASC Plan de cet exposé Contexte Motivations Problématique Domaines d application possibles Projet Concerto Axes du projet Liens avec l action RASC Travaux connexes FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 2

Contexte de l action RASC Laboratoire VALORIA : trois équipes de recherche Aglae Génie logiciel (dévpt et maintenance de systèmes logiciels à objets) Orcade Objets répartis pour la conception d applications distribuées Équipage Interaction homme-machine (via geste et langage) RASC = Resource-Aware Software Components Action transversale fédérant certaines activités des équipes Aglae et Orcade autour du concept de «composant logiciel conscient de ses besoins vis à vis des ressources» FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 3

Resource-Aware Software Components Composant logiciel? Pas encore de consensus sur ce qu est un C.L. Programme exécutable / Application / Bibliothèque / Objet (Java, C++ ) / EJB... Code source / Module / Classe (Java, C++ ) / bytecode (Java) Paquetage (Linux RPM, Java.jar) «Objet» disposant de plusieurs interfaces (LMO 2000, CORBA) Une tendance : le développement à base de COTS COTS = Commercial Off-The-Shelf (ou Component Off-The-Shelf) Composants «sur étagères» Construction de nouveaux composants ou applications par composition (assemblage) de composants pré-existants FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 4

Resource-Aware Software Components Constats Un C.L. a besoin de ressources spécifiques pour fonctionner Quelles ressources? Combien? Dans quelles conditions? Informations rarement explicites dans les C.L. actuels Connaître les ressources nécessaires à chaque C.L. serait un «plus» pour aider à choisir entre plusieurs C.L. sur étagères (COTS) pour déduire (calculer) les besoins spécifiques d un C.L. produit par assemblage de COTS pour qu un C.L. puisse «négocier» l accès aux ressources offertes par la plate-forme sur laquelle il s exécute (contractualisation, et QoS en retour) pour qu une plate-forme puisse «surveiller» l utilisation des ressources par les C.L. qu elle héberge (prévention du déni de service, facturation...) etc. FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 5

Quelles ressources? Ressources «physiques» (proches du matériel) CPU type, vitesse, Mémoire quantité, temps d accès, niveaux de cache, Disque(s) nombre, capacité, temps d accès, débits d accès, Réseau type (Ethernet, Token Ring, ATM ), débits, QoS, Autres IHM (clavier, écran, souris, touchpad), imprimante, scanner, WebCam, GPS, Ressources «logiques» (services offerts) Bibliothèques dynamiques, paquetages de classes Java Répertoires et fichiers spécifiques avec droits d accès appropriés Service de multithreading Protocoles (TCP, UDP, RTP, RSVP, IP, ATM, ) Services divers (DNS, répertoires LDAP ou X.500, ) Liste non exhaustive! FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 6

Problèmes Comment décrire les besoins d un C.L.? Définition d un formalisme générique utilisable si possible tout au long du cycle de vie des C.L. Langage ad hoc? DTD XML? QML? Objets (réflexifs)? Comment décrire les ressources disponibles? A priori avec le même formalisme que ci-dessus Comment exploiter ces informations? À l aide d une «arithmétique» associée Combinaison et/ou comparaison des besoins exprimés, vérification de compatibilité entre besoins exprimés et ressources disponibles, etc. À l aide d outils d observation et de contrôle fin des ressources Observation vérif. ressource utilisée conforme à ressource demandée Contrôle possibilité de mise en œuvre de politiques de scheduling FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 7

Exemple : besoins spécifiques d un composant «serveur HTTP» (1/3) Type de CPU, type et version d OS, bibliothèques Cas d un C.L. compilé Requiert accès réseau Protocole TCP Capacité ouverture port(s) TCP en mode d écoute (LISTEN) Requiert accès système de fichiers Accès en lecture seule, ou... Accès en lecture et exécution (si exécution de programmes CGI possible) Requiert capacité multithreading (éventuellement) Besoins «statiques» Caractérisent toute instance du composant «serveur HTTP» Informations pouvant être associées au code source (ou à l exécutable) FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 8

Exemple : besoins spécifiques d un composant «serveur HTTP» (2/3) Besoins vis à vis du réseau Numéro du port (ou des ports) d écoute Souvent port 80, mais parfois un autre Clients acceptés ou refusés Filtrage des requêtes en fonction de l adresse IP source ou du domaine source Besoins vis à vis du système de fichiers Chemin(s) du (des) répertoire(s) accessible(s) en lecture Chemin(s) du (des) répertoire(s) accessible(s) en exécution (programmes CGI) Nombre de clients pouvant être servis simultanément Nombre de ports TCP pour répondre aux clients Nombre de threads pour traiter les requêtes des clients Besoins «dynamiques» Connus lors de l installation du serveur HTTP, et éventuellement modifiés ensuite en cours d exécution FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 9

Exemple : besoins spécifiques d un composant «serveur HTTP» (3/3) Autres «besoins» possibles... vis à vis du CPU Niveau de priorité Pourcentage d activité CPU (globalement / pour chaque thread) vis à vis du réseau Niveau de priorité Fraction de la bande passante globale Débits min/max par client desservi vis à vis de la mémoire Quota de mémoire «réservé» pour mettre en œuvre un cache rapide Autres idées? FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 10

Exploitation de l information relative aux besoins «statiques» du serveur HTTP Informations pouvant être exploitées avant son déploiement lors d une sélection «sur catalogue» dans un atelier de génie logiciel (e.g., choix de C.L. en fonction d une description de la plate-forme cible) Exemple : il est inutile d essayer d installer notre serveur HTTP sur une plate-forme n ayant pas la bonne combinaison CPU/OS n offrant pas d accès réseau via TCP, ou interdisant le mode LISTEN n offrant pas d accès à un système de fichiers en lecture (ou lecture/exécution) FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 11

Exploitation de l information relative aux besoins «dynamiques» du serveur HTTP Lors de son déploiement sur une plate-forme d accueil Contrôle d admission selon disponibilité des ressources demandées e.g., port(s) demandé(s) accessibles? e.g., répertoire(s) demandé(s) accessible(s)? Prise en compte des besoins exprimés dans la gestion des ressources e.g., «réservation» bande passante, fraction CPU, q té mémoire, etc. En cours d exécution Supervision des ressources utilisées par le serveur, et vérification de la conformité entre ressources utilisées et ressources demandées e.g., création nouveau thread, ouverture nouveau port, etc. en conformité avec besoins exprimés? FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 12

Constats Les besoins d un C.L. ne sont pas tous connus statiquement L information se «raffine» tout au long du cycle de vie du C.L. On ne peut identifier une fois pour toutes l ensemble des ressources à prendre en compte, ni la façon de les caractériser Le formalisme développé doit «accompagner» le C.L. pendant son cycle de vie Pendant l exécution, on doit pouvoir maîtriser les ressources Observer l utilisation qui en est faite par chaque C.L. Contrôler l accès à ces ressources (droits d accès, réservation, etc.) On doit disposer de mécanismes ad hoc (au niveau O.S. ou middleware) FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 13

Plan d action Environnement de développement / expérimentation Java + Linux Description des ressources, expression des besoins Au niveau modélisation UML ou dérivé (e.g., QML) En cours d utilisation objets Java Format intermédiaire «portable» Observation et contrôle des ressources dialecte XML Développement d outils Java de type intersticiel (middleware) Code natif pour interaction avec l OS (Linux) Interception des accès aux ressources depuis Java (sockets, fichiers, etc.) Supervision et gestion des ressources (contrôle d admission, gestion dynamique de priorité, etc.) FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 14

Domaines d application Génie logiciel Assemblage de C.L. guidé par description plate-forme cible «Validation» de C.L. via vérification de comportement à l exécution Code mobile Plates-formes d accueil «sécurisées» avec supervision des C.L. Migration conditionnée par une négociation préalable des ressources C.L. adaptables (adaptabilité aux variations de l environnement) Qualité de service Renforcement QoS via garanties sur disponibilité ressources (contrats) etc. Appel à collaborations! FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 15

Projet Concerto Objectifs Définition et mise en œuvre d un modèle de composants parallèles adaptables Modélisation par composants ( objets) Exécution sur grilles de calculateurs Réactivité aux variations de l environnement (adaptation et reconfiguration) FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 16

Axes du projet Concerto Composant parallèle (C.P.) = collection Collection = données + activités distribuées Ajout, retrait, modifications d éléments Opérateurs agissant sur l ensemble des éléments d une collection Prise en compte des ressources Thèmes de l action RASC considérés dans le cadre particulier des systèmes distribués (déploiement de C.P. sur des grilles) Support d exécution Exécutif adapté au support de C.P. sur grilles Services objets performants (sérialisation, appel à distance ) Mécanismes de supervision et de contrôle des ressources FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 17

Prise en compte des ressources nécessaires aux composants parallèles Identification de quelques classes de «besoins» types Architecture (CPU, mémoire, disques, protocoles et QoS réseau, topologie, etc.) Services (disponibilité paquetages Java ou code natif, possibilité réservation de ressources, localisation autres composants, etc.) Définition d un formalisme pour l expression de ces besoins DTD XML + passerelle vers le monde Java? Langage ad hoc? Définition d une API d interaction avec le support d exécution Expression des besoins Notification d événements si l environnement change (variations de la charge CPU, des performances du réseau, etc.) Négociation/renégociation de l accès aux ressources FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 18

Supervision et contrôle des ressources Supervision (monitoring) de l utilisation des ressources CPU Mémoire Réseau etc. Mécanismes de gestion (scheduling) de ces ressources Contrôle d admission Réservation avec «garantie de service» etc. Mécanisme de notification Utilisation de ressources non conforme Ressources indisponibles etc. FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 19

Travaux connexes Global Grid Forum Groupe de travail Grid Information Service Dialectes XML pour description «objets» relatifs aux grilles Groupe de travail Scheduling and Resource Management Méthodes et outils pour ordonnancement et gestion des ressources (contrôle d admission, etc.) Projet Globus Réservation de ressources et applications «adaptatives» Langage RSL (Resource Reservation Language) + API associée Enregistrement et localisation des ressources et services via répertoires LDAP Approches focalisées sur l administration de grilles Niveau de granularité = application (et besoins associés) Dans Concerto, granularité plus fine (grain = composant) FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 20

Action RASC Résumé Développement et support de composants logiciels Prise en compte des ressources Expression des besoins (statiques/dynamiques) Supervision/contrôle des ressources utilisées Projet Concerto Composants parallèles adaptables Collections distribuées Prise en compte des ressources spécifiques au contexte de la distribution sur grille Support exécutif pour supervision/contrôle des ressources FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 21

Questions? Remarques? Points de vue? FG/UBS/VALORIA/05-01 Rencontres Grappes 2001 (Berder) 22