IRISA/Université de Rennes 1

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Module Systèmes d’exploitation
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Master de recherche informatique Université de Montpellier 2
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Le serveur NAS Network Attached Storage, (NAS) désigne un périphérique de stockage relié à un réseau dont la principale fonction est le stockage de données.
CLUSTERING Grappe d'ordinateurs.
Applications et Techniques
PLAN du COURS Introduction Structure des Systèmes Informatiques
Journées franciliennes 2006 Moussa ELKIHEL (LAAS-CNRS;UPS Toulouse )
Mémoire & Processus Cours SE - SRC
Jean-François Deverge, Sébastien Monnet
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Plan de formation Chapitre 1 : Présentation de SAP
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
wireless sensor networks
Système de stockage réseaux NAS - SAN
Le Concept. Régulation électronique LonWorks communicante pour application poutre froide.
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Application des algorithmes génétiques
Gestion des Périphériques
Synchronisation et communication entre processus
Serveurs Partagés Oracle
Noyau persistant en réseaux pair-à-pair Comment relier la taille à la durée de vie V. Gramoli, A-M. Kermarrec, A. Mostéfaoui, M. Raynal, B. Sericola.
1.2 COMPOSANTES DES VECTEURS
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
Virtual Local Area Network
Configuration de Windows Server 2008 Active Directory
Cloud Computing et mesures de performances
Gestion des bases de données
Internet : la mémoire courte ? Capture de sites Web en ligne Conférence B.N.F, Avril 2004 Xavier Roche(HTTrack)
LES NOMBRES PREMIERS ET COMPOSÉS
Interprétation de séquences dimages pour des applications MédiaSpace Alberto AVANZI François BREMOND Monique THONNAT Projet ORION INRIA de Sophia Antipolis.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Programmation concurrente
1.1 LES VECTEURS GÉOMÉTRIQUES
Universté de la Manouba
Module 3 : Analyse des performances du serveur
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Ordonnancement de tâches
Réseau de stockage étendu
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
LEGO – Rennes, 18 Septembre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de.
Vue d'ensemble Surveillance des journaux d'événements
GDS – Paris, 13 Octobre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de M2RI.
Partage de mémoire à très grande échelle sur des réseaux pair-à-pair
1. Présentation générale du système
Nouvelles technologies de système de fichiers dans Microsoft Windows 2000 Salim Shaker Ingénieur de support technique Support technique serveur Microsoft.
Module 8 : Surveillance des performances de SQL Server
Les Chiffres Prêts?
1 Etat des lieux sur la gestion des ressources pour le calcul haute performance dans les grappes Christine Morin IRISA/Université de Rennes 1 Projet INRIA.
Projet Implémentation du protocole MMT sous Linux
Plan Définitions et exemples Composants de cluster
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Étude d’un protocole de partage de travail entre systèmes Pair à Pair
D. E ZEGOUR Institut National d ’Informatique
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Construction d'une hiérarchie mémoire faible consommation
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Module 3 : Gestion des fichiers de base de données
Historique L’évolution des architectures du début à nos jours.
Chapitre 12 Surveillance des ressources et des performances Module S41.
JI2006Muriel Gougerot - Nicole Iribarnes Virtualisation au LAPP.
Transcription de la présentation:

IRISA/Université de Rennes 1 Gestion des ressources pour le calcul haute performance dans les grappes : état des lieux et perspectives Christine Morin IRISA/Université de Rennes 1 Projet INRIA PARIS ORAP 27 mars 2001

Introduction Grappe = collection de calculateurs indépendants interconnectés utilisée comme une ressource de calcul unique

Attrait des grappes pour le calcul haute performance Grande quantité de ressources (mémoire, disque, processeur) Puissance de calcul Capacité de stockage Réseau d’interconnexion à très haut débit et faible latence Gigabit Ethernet, Myrinet, Memory Channel, SCI, ... Débit au gigabit/seconde Latence de quelques microsecondes

Mais …. Les ressources sont distribuées dans les nœuds de la grappe. Les ressources d’un nœud ne peuvent être utilisées que localement si on ne fait rien. Un nœud est sujet aux défaillances.

Idéalement Système à image unique Toutes les ressources (mémoire, disque, processeur) de la grappe devraient être utilisables par une application quelque soit les nœuds sur lesquels elle s ’exécute indépendamment de leur localisation physique Le partage des ressources devrait être transparent à l ’échelle de la grappe La défaillance d’un nœud ne devrait pas perturber les autres nœuds devrait être transparente pour les applications Système à image unique

Plan Gestion globale de la ressource mémoire Gestion globale de la ressource disque Gestion globale de la ressource processeur Vers des systèmes à image unique

Gestion globale de la ressource mémoire Partage de mémoire à l ’échelle de la grappe Mémoire partagée répartie illusion d’une mémoire partagée au dessus de modules mémoire physiquement distribués modèle de programmation simple pour les applications parallèles Exploitation de la ressource mémoire de la grappe Pagination en mémoire distante Caches coopératifs pour les systèmes de fichiers disparité croissante entre la vitesse des processeurs et celle des disques exploitation de la mémoire disponible des nœuds

Mémoire partagée répartie Mise en œuvre logicielle mémoire virtuelle partagée utilisation de la mémoire d ’un nœud comme un cache Ivy [K. Li, Princeton, 86] Treadmarks [P. Keleher, Rice,96] Mise en œuvre hybride exploitation des réseaux à capacité d ’adressage Cashmere (Memory Channel) [M. Scott, Rochester, 97] SCIOS/FS (SCI) [E. Cecchet, SIRAC, INRIA, 99]

Performance Modèles de cohérence cohérence séquentielle beaucoup de communications cohérence faible, cohérence relâchée mise en œuvre complexe Protocoles de cohérence optimisation des schémas de partage fréquents pas de protocole optimal Faux partage Blizzard [D. Wood, Wisconsin, 95] Shasta [Gharachorloo, DEC, 97] Millipede [Schuster, Technion, 99]

Limitations Mise en œuvre au niveau utilisateur Mono-utilisateur Mono-application Pas de partage naturel de données entre applications Pas d’interaction avec le système de fichiers Limitation de la taille des applications Peu de support pour la migration de processus Défaillance d’un nœud Icare [A.-M. Kermarrec, IRISA, 96] Treadmarks + checkpointing [Costa, INESC, 96]

Pagination en mémoire distante Idée Tirer profit de la mémoire disponible des nœuds et de la faible latence du réseau haut débit pour réaliser un mécanisme de pagination efficace Exemples Global Memory Service (GMS) [H. Levy, Washington, 95] Remote Paging [Marcatos, Forth (Grèce), 99]

Exemple : GMS Mémoire locale Mémoire globale Pages référencées localement Pages stockées localement à la demande d ’un nœud distant accès mémoire locale < accès mémoire globale < accès disque

Mise en œuvre Approximation d ’un algorithme de remplacement LRU sur l’ensemble de la grappe Choix d’un nœud ayant de la mémoire inutilisée pour y exporter une page évincée Pas de page exportée sur des nœuds qui utilisent activement leur mémoire Conservation en mémoire globale des pages qui ont une forte probabilité d’être réutilisées Localisation des pages au sein de la grappe à l’aide de répertoires de pages Gestion des défaillances : toute page locale modifiée mise dans la zone globale est préalablement sauvegardée sur disque

Caches coopératifs Constats Certains nœuds ont un cache vide alors que d’autres nœuds n’ont pas assez de place dans leur cache. Quand un nœud a besoin d’un bloc, le bloc se trouve souvent dans le cache d’un autre nœud. Exemples XFS [Berkeley, 95] privilégie la localité physique / taille du cache cohérence des copies multiples singlets conservés en cache le plus longtemps possible PAFS [Cortes, 97] cache global = union des mémoires physiques pas de réplication

Exemple XFS Défaut Remplacement Elimination des blocs inutiles requête envoyée au serveur de stockage si données dans un cache client, requête servie par ce cache réplication de la donnée dans le cache en défaut Remplacement élimination du cache local du bloc LRU ayant des copies distantes s’il n’y a que des singlets, le bloc LRU est envoyé à distance dans un nœud choisi arbitrairement si le nœud distant n’a pas de place, il remplace un bloc ayant des copies multiples ou exporté Elimination des blocs inutiles quand un bloc a été transmis plus de N fois sans être utilisé, il est éliminé (N-forwarding)

Quelques réflexions Mécanismes similaires étudiés dans des contextes différents cohérence au sein d’une DSM au sein d’un système de caches coopératifs (XFS) importation/exportation d’une donnée depuis ou vers une mémoire distante défaut de page dans une DSM sur défaut mémoire ou remplacement dans un système de pagination défaut ou remplacement dans un système de caches coopératifs Pas de factorisation

Plan Gestion globale de la ressource mémoire Gestion globale de la ressource disque Gestion globale de la ressource processeur Vers des systèmes à image unique

Gestion globale de la ressource disque Besoins des applications un système d ’entrées/sorties à haute performance manipulation de gros ensembles de données qui ne tiennent pas en mémoire (out-of-core) accès rapide en lecture et en écriture un système de fichiers qui utilise toutes les ressources disponibles efficacement et de manière transparente Etat des lieux grand nombre de ressources disque dans la grappe mais seuls les processus locaux ont accès aux systèmes de fichiers locaux

Gestion globale de la ressource disque Transparence de l’accès aux ressources Mécanisme standard d’accès aux fichiers distants NFS (montage, convention de désignation) pas d’entrées/sorties haute performance Exploitation de toutes les ressources disponibles pour l’efficacité Systèmes de gestion de fichiers parallèles (RAID logiciel) Fragmentation et distribution des données d’un fichier sur plusieurs disques Accès aux fragments de différents disques en parallèle pour augmenter le débit disque

Distribution des données Distribution cyclique Fichier découpé en fragments de taille fixe Placement des fragments cycliquement sur différents disques RAID-0 (pas de redondance)

RAID et haute disponibilité Plusieurs disques probabilité de défaillance d’un disque élevée Redondance de données et mécanismes de tolérance aux fautes ne pas perdre d ’information si un disque est défaillant Différents niveaux de RAID selon l’organisation et la redondance des données sur les disques

Exemple XFS RAID-5 : un bloc de parité par groupe de blocs de données Pas de spécialisation des disques Problème des petites écritures : journalisation des écritures

Plan Gestion globale de la ressource mémoire Gestion globale de la ressource disque Gestion globale de la ressource processeur Vers des systèmes à image unique

Gestion globale des processeurs Répartition de charge déplacement d ’un processus d’un site chargé vers un site moins chargé en vue d ’améliorer le temps de réponse des processus politique d ’ordonnancement global mécanisme de migration de processus Haute disponibilité reprise d ’un processus sur un nœud distant si son nœud d ’exécution est défaillant mécanisme de sauvegarde de points de reprise

Gestion globale des processeurs Politique d ’ordonnancement Quand migrer un processus ? Quel processus migrer ? Vers quel site migrer ? Mécanisme de migration Gel du processus sur le site d ’origine obtention d ’un état cohérent du processus vis à vis du système et exploitable sur le site de destination Transfert du processus minimisation du temps de transfert Exécution d’un processus migré dépendances résiduelles

Niveau de mise en œuvre Dans le noyau du système d ’exploitation efficacité accès direct aux structures de données internes du noyau complexité exemple : Mosix Au dessus du système d ’exploitation portabilité temps de gel important nombreuses restrictions exemple : les systèmes de contrôle d’admission (batch)

Exemple Mosix Mosix : Multicomputer Operating System for unIX [A. Barak, Hebrew University, 85] noyau Unix, Linux mécanisme de migration de processus ajouté au noyau mécanisme de dissémination de l’information de charge passant à l ’échelle Équilibrage de la charge de toutes les machines Mécanisme pour éviter de dépasser la capacité mémoire des machines utilisation de toute la mémoire de la grappe pour éviter la pagination sur disque

Politique d’ordonnancement Algorithme probabiliste de distribution de l’information de charge chaque machine tient à jour un vecteur de petite taille contenant de l’information sur sa charge et celle de quelques autres machines Périodiquement, le vecteur est envoyé à une autre machine choisie aléatoirement Chaque machine a une forte probabilité d’être choisie par une autre machine et met à jour son vecteur lorsqu’elle reçoit de l’information Migration d’un processus Quand une machine détecte une grande différence de charge avec une autre machine

Mécanisme de migration Appel système dépendant du site de création mandataire corps Retour des résultats, signaux Site sur-chargé Site sous-chargé Corps : contexte utilisateur, contexte noyau indépendant du site Mandataire : contexte noyau dépendant du site

Limitations Pas de migration de sockets Pas de migration de processus partageant de la mémoire Modification importante du noyau Linux Sensibilité d’un processus migré à la défaillance de son site d’origine

Systèmes de contrôle d’admission Systèmes commercialisés Codine Computing in Distributed Network Environment [Genias, Allemagne] LSF Load Sharing Facility [Platform computing, Canada] Prototypes de recherche Condor [Wisconsin State University, USA] migration + point de reprise DQS Distributed Queuing System [Florida State University, USA] PBS Portable Batch System [NASA, USA] Critique batch pas de point de reprise d’applications parallèles surveillance des tâches et re-exécution en cas de problème

Plan Gestion globale de la ressource mémoire Gestion globale de la ressource disque Gestion globale de la ressource processeur Vers des systèmes à image unique

Vers des systèmes à image unique Glunix [NOW,Berkeley, 97] Solaris MC [Khalidi, Sun, 96] Unixware 7 Non Stop Clusters [SCO, 00] Mosix [Hebrew University, Israël,99] Nomad [Biancini, UFRJ, Brésil, 99] Gobelins [Projet PARIS, IRISA]

Objectifs du système Gobelins Exécution d’applications à haute performance sur des grappes de PCs Haute performance Haute disponibilité Simplicité de programmation modèle de programmation par mémoire partagée migration vers une grappe de programmes existants sans modification du code

Gestion globale de la mémoire physique Système d’exploitation Système d’exploitation Systèmes de fichiers Mémoire Virtuelle Systèmes de fichiers Mémoire Virtuelle Conteneurs Périphérique Mémoire Mémoire Périphérique Disque Disque

Mise à l’échelle de la grappe des services systèmes traditionnels Système de mémoire virtuelle partagée Partage de segments de mémoire entre processus/threads Système de caches de fichiers coopératifs Projection de fichiers en mémoire virtuelle partagée Support à la migration de processus/threads Accès transparent aux périphériques distants

Mise en œuvre de Gobelins Extension du noyau Linux Minimisation des modifications du noyau modules Détournement de fonctions bas niveau de gestion mémoire et du système de fichiers Exemple : mise en œuvre des conteneurs 6 fonctions noyau modifiées 150 lignes ajoutées ou modifiées dans le noyau un module (3000 lignes de code)

Conclusion Bilan Systèmes de gestion globale d’une ressource Redondance des mécanismes dans les différents systèmes Intégration ? Difficile avec l’existant Besoin d’un système à image unique Pas encore de solution satisfaisante Peu de support pour les applications parallèles fondées sur le modèle de programmation par mémoire partagée Haute disponibilité Essentiel Concilier efficacité et haute disponibilité Décharger le programmeur de la gestion des points de reprise