77
Calcul distribué : une introduction Emmanuel Jeannot LORIA – Université H. Poincaré [email protected]

Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

Calcul distribué : une introduction

Emmanuel JeannotLORIA – Université H. Poincaré

[email protected]

Page 2: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 2/77

Le concept de Grille

Distribution transparente de l’énergie électrique

Page 3: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 3/77

Le concept de grille informatique (GRID)

Distribution transparente de la puissance de calcul et de stockage à travers le réseau

Page 4: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 4/77

Plan

• Introduction• Architecture• Différentes approches des grilles de

calcul• Quelques défis scientifiques• Exemple de travaux en cours• Conclusion

Page 5: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 5/77

Introduction• La suite du calcul parallèle: distribué et hétérogène• Grille de calcul : grande collection de ressources

distribuées (calculateurs, machines de stockage, instruments, réseaux)

• Utiliser la puissance des réseaux et des machines qui y sont connectées.

• Cibles: de plus en plus d’applications dans divers domaines.

• Objectifs :– Transparence– Efficacité– Simplicité (d’utilisation, de programmation,…)– Sécurité– Extensibilité (passage à l’échelle)– Pluridisciplinarité– …

Page 6: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 6/77

Introduction, suiteUne des idées (long terme): louer la puissance de calcul et les capacités

mémoire sur Internet.

Très grand potentiel :Besoin de « Problem Solving Environment » (PSEs).On n’a pas toujours les ressources disponiblesLes applications ont toujours plus besoin de puissance et de mémoire.On n’a pas toujours la bibliothèque installéeDes bibliothèques ou des environnements ont besoin de rester sur place.Énormément de ressources disponibles.

➨ Utilisation de serveurs de calcul par l’intermédiaire d’une interface simple.

Difficile pour un non-spécialiste.Peu de transparence.Problèmes de sécurité et de gestion des comptes peu abordés…

Page 7: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 7/77

Introduction, finProblèmes à résoudre:

– algorithmique ((re)distribution des données, équilibrage de charge, ordonnancement,...)– système (administration, tolérance aux pannes, sécurité, localisation de ressources, …)– logiciel (interopérabilité, ré-utilisation de code,...)– standardisation

Page 8: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 8/77

Pourquoi maintenant?• Accroissement des besoins• On dispose d’ordinateurs très puissants• Internet et les réseaux fournissent une

connectivité « universelle »• Nouveaux modes de travail : collaboration,

calcul (simulation)• Croissance de la vitesse des réseaux

(« network exponentials ») : changement de vision (géométrie, géographie)

Page 9: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 9/77

Network Exponentials• Performance des réseaux contre ordinateurs

– Vitesse des ordinateurs double tous les 18 mois– Vitesse des réseaux double tous les 9 mois– Différence = 1 ordre de grandeur tous les 5 ans

• 1986 à 2000– Ordinateurs : x 500– Réseaux : x 340 000

• 2001 à 2010– Ordinateurs : x 60– Réseaux : x 4 000

Moore’s Law vs. storage improvements vs. optical improvements. Graph from Scientific American (Jan-2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins.

Page 10: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 10/77

Plan• Introduction• Architecture

– Applications– Middlewares– Services-protocoles– Infrastructure– Problématique de l’intégration– Problématique de l’interopérabilité

• Différentes approches des grilles de calcul• Quelques défis scientifiques• Exemple de travaux en cours• Conclusion

Page 11: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 11/77

Architecture logiciel

Infrastructure

Services-protocoles

Applications

Inté

grat

ion Middlewares

Interopérabilité

Page 12: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 12/77

Applications

• Calcul scientifique• Physique des particules (LHC)• Bio-informatique• Chimie quantique• Imagerie médicale• Simulation multi-physique

Page 13: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 13/77

Middlewares (intergiciels)

• Interface entre les applications et les services (ou les ressources)

• Permet de :– Programmer la grille – Virtualiser l’infrastructure – Exécuter des applications sur la grille

• Beaucoup de travaux dans ce domaine

Page 14: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 14/77

Services-protocoles1. Déjà existants dans les réseaux standards :

– XML– DNS– TCP-IP– …

2. Mis en œuvre pour la grille– Service de prévision (NWS)– Service de stockage (IBP) – Protocole de transfert (gridFTP)– OGSA (Open Grid Services Architecture)– …

Page 15: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 15/77

Infrastructure• Réseaux

– Wide Area Network (WAN) • Internet• backbone Gbit/s (VTHD, GEANT, TERAGRID)

– Local Area Network (LAN)– System Area Network (SAN)

• Machines de calcul– PCs– Grappes– Ordinateurs parallèles

• Instruments : fournisseurs de données– Accélérateur de particules– (radio)-télescope– Séquenceur (génome)

• Stockage – Centre de stockage– Service de stockage dans le réseau

Page 16: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 16/77

Infrastructures en FranceR eim s

C aenRouen

Ren nes N ancy

S tras bourg

Po it ie rs

Bo rd eaux

L yon

G renob le

Tou lou se .

M on tpellie r

M arse il le

N antes

B esan çon

C lerm ont -F er rand

Lim oges

P ar is

D ijon

L il le

S oph ia

C om piè gne

O rlé ans

C or te

2 .4 Gb i t/s622 M bi t/s

155 M b i t/s

34 M bi t/s

8 M b it/s

N R D

N IO

N O C

RENATER• Ressources de calcul

– Centres de calcul nationaux (terascale)

• IDRIS, CINES, méso-centres, ressource des laboratoires, …

• Réseaux– Réseau opérationnel

RENATER– Réseau expérimental VTHD

(projet RNRT)VTHD

Page 17: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 17/77

Problématique de l’intégration

Infrastructure

Services-protocoles

Middlewares

Applications Faire communiquer les couches entre elles :

• Spécifier les rôles à chaque niveau • Définir des APIs/interfaces standardisés (ex : gridRPC)• Optimiser le transfert des données•…

Inté

grat

ion

Page 18: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 18/77

Problématique de l’interopérabilité

Infrastructure

Services-protocoles

Middlewares

Interopérabilité

Beaucoup d’environnements :– PSE– Portails WEB– Serveurs de calculs– …

Objectif : faire coopérer les éléments d’une même couche ensemble.

Coopération ?– Standards– Protocoles– API– Descripteurs de problème

Exemple : couplage de code

Page 19: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 19/77

Plan• Introduction• Architecture• Différentes approches des grilles de calcul

– Portail web– Internet computing– Méta-computing– Super-calculateur virtuel– Réseaux pair à pair (peer-to-peer)

• Quelques défis scientifiques• Exemple de travaux en cours• Conclusion

Page 20: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 20/77

Différentes approches1. Différents types d’applications2. Différents besoins pour les utilisateurs3. Différentes plate-formes cibles4. Différents modèles d’exécution

Différentes solutions

Actuellement : effort de standardisation (GGF)

Page 21: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 21/77

Modèles de déploiement• Client-serveur

– Centralisé ou Distribué– Utilisation de caches

pour éviter la congestion– Information centralisée

• Pair-à-Pair (P2P)– Chaque pair est à la fois

client et serveur– Distribution de la charge

dans le réseau (si parité!)– Information distribuée

Client

Internet

serveur

Client

ClientClient

Client

Client

ClientClient

Client

Client

CacheProxy

serveur

Client/Serveur

Internet

serveur serveur

Client/Serveur

Client/Serveur Client/

Serveur

Client/Serveur

Client/Serveur

Client/Serveur

Client/Serveur

Client/Serveur

Zone de congestion

Zone de congestion

Page 22: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 22/77

Différents types de GRIDCaractéristiques

des nœuds :

Les systèmes de Calcul Global ou

« Mega Computing » ou « Internet Computing »

Les systèmes Pair à Pair

Les systèmes distribués à grande échelle

Grands sitesde calcul,Clusters

• <100• Stables• Identificationindividuelle

• Confiance

• ~100 000• Volatiles• Pas d’identindividuelle

• Pas de confiance

Les Grilles de calcul ou « GRID »

2 types de grands systèmes distribués

PCWindows,Linux

Page 23: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 23/77

Portail Web• Sans doute la première incarnation

du concept de grille

• Accès à l’information– A partir d’une adresse http– A partir d’un moteur de recherche

• Transparence lors de l’accès à l’information– On ne sait pas toujours d’où vient

l’information (ex. images de cette présentation)

Serveur Web Serveur Web

Moteur de Recherche

Serveur Web Serveur Web

Client

Page 24: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 24/77

Punch/NetCare

PUNCH/NetCare : portail webdédié à l’architecture des ordinateurs

Utilise les cycles libres parmi 600 PCs.

http://punch.perdue.edu

Page 25: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 25/77

l’Internet Computing• Principe

– Des millions de PC en attente…– Utilisation des cycles processeurs inutilisés

(environ 47% en moyenne dans une entreprise*) via un économiseur d’écran

• Exemples– SETI@HOME

• Recherche de signaux extra-terrestres• 4,5 millions d’utilisateurs• 55,06 Teraflop/s (à comparer aux 35,86

Teraflop/s de l’ordinateur le plus puissant au monde au Japon!)

– DECRYPTHON• Etablir la carte des 500 000 protéines du

vivant– RSA-155

• Casser des codes cryptographiques* d’après une enquête d’Omni Consulting Group

Page 26: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 26/77

Seti@home

Page 27: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 27/77

Méta-computing

AGENT(s)

A

S3

Client

S2 !

Requête

Réponse (C)

A, B, C

C=Op(C, A, B) S4S1 S2

C

Page 28: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 28/77

Méta-computing• Principe

– Acheter du service de calcul sur Internet– Services = applications pré-installées sur un calculateur

• Appels bloquants ou non-bloquants: Matlab, C, Fortran, Scilab...

• Exemples– Netsolve (Univ. Tennessee)– NINF (Univ. Tsukuba)– DIET (ENS-Lyon/INRIA)

Page 29: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 29/77

Distributed Interactive Engineering Toolbox

Hiérarchie d’agents (extensibilité)

Fonctionne sur le mode gridRPC (appel de procédure à distance sur la grille)

Utilise CORBA pour l’exécution de calculs sur les serveurs

ReD : RedirectorMA : Master AgentLA : Leader AgentSeD : Server DaemonCRD : Computational ResourceDeamon

ReD : RedirectorMA : Master AgentLA : Leader AgentSeD : Server DaemonCRD : Computational ResourceDeamon

Page 30: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 30/77

Supercalculateur virtuel• Principe

– Agréger les ressources distribuées en un supercalculateur

– Faire exécuter ses applications sur ce supercalculateur (mpirun)

“10 GFlops, EOS data,20 Mb/sec -- pour 20 minutes”

MetacomputingDirectoryService

GRAMGRAM

Courtier deressource

Service d’information :localisation + sélection

Allocateurs deressources

de GLOBUS

ForkLSFEASYLLCondoretc.

“Quels ordinateurs ?”“Quelle vitesse ?”“Disponibilité ?”

“50 processeurs + stockagede 10:20 à 10:40 pm”

“20 Mb/sec”

• Exemples– Globus– Légion– Unicore

GRAM

GRAM = Grid Resource Information Management

Page 31: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 31/77

The Globus Project™Making Grid computing a reality

• Close collaboration with real Grid projects in science and industry

• Development and promotion of standard Grid protocols to enable interoperability and shared infrastructure

• Development and promotion of standard Grid software APIs and SDKs (System Development Kit) to enable portability and code sharing

• The Globus Toolkit™: Open source, reference software base for building grid infrastructure and applications

• Global Grid Forum (GGF): Development of standard protocols and APIs for Grid computing

Page 32: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 32/77

Vue Globus

Application

Connectivity“Talking to things”: communication (Internet) & sécurité

Resource“Partager les ressources”: négociation des accès, contrôle de l’utilisation

Collective“Coordonner les ressources”: services pour la gestion de l’infrastructure, services distribués spécifiques aux applications

InternetTransport

Application

Link

Proto

cole In

ternet

Fabric“Contrôle local”: accès et contrôle des ressources

Page 33: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 33/77

Système Pair à Pair(Peer to Peer)

• Applications dédiées– Napster, Gnutella, Freenet, – KaZaA, Music-city,– Jabber,

• Projets de recherche– Globe (Tann.), Cx (Javalin), Farsite, – OceanStore (USA), XtremWeb (LRI),– Pastry, Tapestry/Plaxton, CAN,

Chord, • Autres projets

– Cosm, Wos, peer2peer.org, – JXTA (sun), PtPTL (intel),

Toutes les ressources (PC) sont égales, les opérations se font à parité, de pair à pair.

PC volontaireParticipant à la mise enrelation entre Pair

Client

VolontaireInternet

req.

VolontaireApplicationProvider

Page 34: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 34/77

Système Pair à Pair :Un exemple Gnutella

PC

PC

PC

PC

PCPC

Diffusion

DiffusionDiffusion

Table des voisins :@IP a@IP b @IP z

Objectif : partager des ressources (fichiers audio/vidéo)- Spécifications du protocole ouvertes (permet d’écrire des clients)- Système totalement distribué PC

PC PC

Table des voisins :@IP 1@IP 2 @IP x

PCRessource

- Diffusion de la requête aux voisins directs, propagation par inondation- Durée de vie de la requête, évitement de boucles- Transfert du résultat par requête HTTP (avec possibilité d’inversion)

Page 35: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 35/77

NAPSTER• Entre le client/serveur et le P2P

– Accès à des données via un site unique contenant un index

• Stockage de données• Partage des données

– Données « inaltérables »– Copies multiples sans aucun

contrôle• Limites de l’approche

– Plutôt du client/serveur que réellement P2P

– Serveur « attaquable »• Par les tribunaux…• Ou par d’autres…

Utilisateur B Napster(Client + Serveur)

Serveur NapsterAssociation musique-IP

Utilisateur A Napster(Client + Serveur)

Page 36: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 36/77

Rationalisation des systèmes P2PCaractéristiques fondamentales

• Extensibilité : jusqu’à 100 k voir 1 M machines• Hétérogénéité : différents matériels et OS• Dynamicité : nombre de clients et de serveurs évolue constamment• Disponibilité : le propriétaire d’une ressource doit pouvoir définir une

politique de partage de sa ressource• Tolérance aux pannes : le système (et peut être les applications) doivent

supporter l ’existence d’éléments défaillants• Utilisabilité : malgré les propriétés précédentes, le système doit rester

facilement programmable et maintenable• Sécurité : le système doit être sécurisé pour les participants, les serveurs

et l’application. Un comportement malicieux ne doit pas pouvoir corrompre l’application. Un agent externe ne doit pas pouvoir se faire passer pour un serveur.

Page 37: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 37/77

Une plate-forme de recherche opensource pour étudier :• Le Calcul Global (extensibilité ,organisation des serveur,…)• Le Calcul Pair à Pair (volatilité, communication inter-nœud, sécurité)• Fusion des systèmes de Calcul Global et Pair à Pair

Plate-forme de Recherche (étudier de nouveaux mécanismes)Plate-forme de Production (identifier les problèmes des utilisateurs)

Les requêtes peuvent être relativesà des données ou des calculs Acceptation concerne des

calculs ou des données

System CGP2P

Mon PCrequête

résultat

un PCaccepte

fournit

PC

PCPC

PC

PC

PC

PC PC

PC

Un autre PC

accepte

fournit

CommunicationsPotentielles pour lesApplications parallèles

Page 38: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 38/77

Plan• Introduction• Architecture• Différentes approches des grilles de calcul• Quelques défis scientifiques

– Pour les applications– Algorithmes pour les middlewares– Services optimisés

• Exemple de travaux en cours• Conclusion

Page 39: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 39/77

Programmer la grille• Programmer un ordinateur parallèle : (très)

difficile• Grille (hétérogène, distribuée) : plus

compliquée qu’un ordinateur parallèle.• Problèmes encore plus difficiles que pour le

parallélisme.• Jonction de plusieurs communautés :

parallélisme, systèmes distribués, réseaux, etc.

Page 40: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 40/77

Recherche en calcul distribué

Infrastructure

Services-protocoles

Modèles algorithmiques de programmation, couplage de code, ...Applications

Middlewares Algorithmes pour middlewares,…

Nouveaux services optimisés,…

Distribuée, hétérogène,…

Page 41: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 41/77

Modèles algorithmiques

• Utiles pour concevoir et prédire la performance d’algorithmes.

• Existe pour les machines séquentielles.• Plusieurs modèles en parallélisme (PRAM, passage

de messages, BSP, PRO, …).

Page 42: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 42/77

Vers une algorithmique des grilles de calcul

• Programmer une grille de calcul comme un calculateur parallèle virtuel

• Repenser l’algorithmique parallèle– Essentiellement conçu pour des architectures parallèles régulières

et à configuration statique• Caractéristiques des grilles informatiques

– Unité de calcul hétérogène– Non-prédictibilité des performances des réseaux– Aspect dynamique des ressources de calcul

• Problèmes et défis– Politique d’ordonnancement des calculs– Équilibrage dynamique par redistribution intensive des données– Recouvrement calcul/communication

Page 43: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 43/77

Application : couplage de code• Une application = un assemblage de plusieurs

codes de calcul

Mécanique des structures

Thermique

Optique

Dynamique

Conceptionde

Satellite

Application de couplage

Grappe de PC

SAN

SAN

Grappe de PC

LAN

WAN

SupercomputerVisualisation

Page 44: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 44/77

Couplage de codeSimulation multi-physique utilisation de codes parallèles• distribués (car parfois propriétaires)• de différentes naturesProblèmes :• Interaction efficace• Transfert des données• Réutilisation du codeUne solution : approche par composants parallèles• Encapsulation du code• Communication par des interfaces

Page 45: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 45/77

Algorithmes pour les middlewares Problème de l’ordonnancement

✬ Mauvaise allocation des ressources ⇒ mauvaises performances

Allocation :• ressources disponibles,• charge,• taille des données,• localisation des données,• le temps de calcul,• …

Métrique :• optimiser les besoins de l’application• optimiser les besoins de chaque client• régime permanent

Page 46: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 46/77

Algorithmes pour les middlewares Problème de la persistance et de la redistributionBesoin de stocker et de redistribuer les données pour éviter des transferts inutiles.

Redistribution de données entre grappes = problème de décomposition d’un graphe bipartie valué.

832

1

43

=

2

2+

2

1

+

Page 47: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 47/77

C=A*B ?A sur S1B sur S2

Serveur 2B

Bande passantevitesse

C=A*B sur S1

C=A*BReception de B par serveur 2

OK ! Prêt à recevoir B

Envoie B sur Serveur 1

B

Serveur 1AB

Redistribution : principe

AGENT

Contrôle

Données

Page 48: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 48/77

Standardisation des services : OGSA

Page 49: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 49/77

Service : évaluation de la performance

Important de connaître la performance fourniepar les ressources :– État de l’infrastructure.– Goulot d’étranglement.– Ajout de nouvelles ressources.– …

Page 50: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 50/77

Service de prédiction de la performance

Prédire : optimiser les décisions

Plusieurs approches :– Statistique (Network Weather Service : NWS)– Stochastique– Simulation

Besoin de modèles fiables

Page 51: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 51/77

NWSService distribué :

- supervision périodique- prédiction dynamique

Utilise des senseurs deperformance

Prédictions suivant modèles statistiques

Page 52: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 52/77

Service de sécurité

Besoin :– transactions sûres,– authentification des utilisateurs,– autorisations personnalisées.

Problème : différentes législations

Page 53: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 53/77

Sécurité dans les réseaux Pair à Pair

Êtes-vous prêt à laisser exécuter n’importe quoi sur votre PC ?

Solution : technique du sandbox (isolation du code de calcul)

Calcul

SandboxSystème

Page 54: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 54/77

Autres problèmes/services

• Découverte de ressources– hardware et software

• Visualisation de données– Passage à l’échelle

• Services aux utilisateurs– Outils pour le support et

les utilisateurs finaux.

• Tolérance aux pannes– Serveurs ou agents

• Check-pointing– E/S parallèles rapides– Garbage collection

Page 55: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 55/77

Problème des données• Taille importante des données (cf. datagrid)

• Besoin :– Écriture et lecture à distance.– Traitement à distance (filtres …).– Publication (données accessibles par les

autres utilisateurs).– Découverte d’informations.– Nommage global.

Transparence!

Page 56: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 56/77

IBP : Internet BackplaneProtocol

Service de stockage anonyme distribué.

Serveur IBP de stockage sur le réseau (dépôts)

Client IBP récupère une clé après le stockage de ses données sur n serveurs

Clé : permet à tous client de récupérer les données stockées.

Page 57: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 57/77

Plan• Introduction• Architecture• Différentes approches des grilles de calcul• Quelques défis scientifiques• Exemple de travaux en cours

– AdOC : réalisation d’un service de compression dynamique et adaptatif (Jeannot, Knutsson, Bjorkman)

• Conclusion

Page 58: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 58/77

AdOC : IntroductionUne partie des performances des supports d’exécution

dépend de leurs capacités à transmettre efficacement de grandes quantités de données

Transmettre des donnés :– de grande taille (quelques MO → X GO/TO),– aussi rapidement que possible,– sur des réseaux standards,– en gérant l’hétérogénéité,– pour des applications et des middlewares de type grid (mais

pas seulement).

Page 59: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 59/77

Idée « naïve »

InternetInternet

Ne marche pas si :

Tcomp( )+Tsend( )+Tuncomp( )>Tsend( )

Page 60: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 60/77

A quoi faut-il s’adapter?

• La vitesse du réseau,• la charge courante du réseau,• la vitesse CPU actuelle de l’émetteur et

du récepteur,• le type de donnée (ASCII, exe, .gz,

etc.),• la taille des données.

Page 61: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 61/77

AdOCAdaptive On-line Compression Algorithm.

Travail type « proof of concept » basé sur deux idées :

1. recouvrement Compression/communication,

2. adaptation dynamique du niveau de compression.

Page 62: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 62/77

Implantation d’AdOCUn algorithme/bibliothèque de niveau

utilisateur

1. Multithreading : recouvrement compression/communication

2. File d’attente où sont stockées les données compressées (supervision du changement de taille)

Page 63: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 63/77

Compression Dynamique Adaptative

Paquets compressésà différents niveauxDonnée à transmettre

RéseauThread decompression adaptatif

Thread d’envoi des paquets

File d’attente∆ taille de la file

En cours d’intégration dans omniORB.

Compression basée sur la zlib

Page 64: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 64/77

Expériences

Deux fichiers de test:– Oilpann.hb : matrice creuse ASCII

(Harwell-Boeing format)– Bin.tar : tarball de binaires

Page 65: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

65/77

Évolution du niveau compression et de la taille de la file d’attente

Page 66: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

66/77

Temps de transfert moyens: ASCII

FTP niv=1 niv=9 scp scp -C

01

23

45

67

89

1011

1213

1415

1617

Tm

/Tad

oc

100 Mbps 10 mbps Internet ADSL 56Kbps

Networks

Page 67: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

67/77

Temps de transfert moyens : binaires

FTP niv=1 niv=9 scp scp -C

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

100 Mbps 10 Mbps Internet ADSL 56Kbps

Tm

/Tad

oc

Networks

Page 68: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 68/77

Bibliothèque AdOCBibliothèque qui implante l’algorithme AdOC :1. Recepteur multithreadé2. File d’attente optimisée (« zerocopy »)3. API : sendFile/recvFile +

adoc_read/adoc_write + setMaxLevel/setMinLevel

4. Thread-safe5. Opensource (LGPL) :

http://www.loria.fr/~ejeannot/adoc

Page 69: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 69/77

Utilisation dans NetSolve

AGENT(s)

A

S3

Client

A, B, C

Réponse (C)

S2 !

Requête

Op(C, A, B) S4S1 S2

C

Page 70: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 70/77

Intégrer AdOC dans NetSolve

Multiplication de matrice à distance sur Internet

0

500

1000

1500

2000

2500

0 200 400 600 800 1000 1200

Taille de la matrice

Tem

ps

NetSolveNetSolve + AdOC340%

Page 71: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 71/77

AdOC :Conclusion/travaux futurs• AdOC : bibliothèque et algorithme de

compression adaptative.• Service pour les middlewares.• Permet d’accroître les performances• Travaux futurs :

– Ajouter des algorithmes de compression très rapides,

– ajouter des algorithmes de compression plus efficaces,

– faire des tests sur des réseaux plus rapides (XGbps).

Page 72: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 72/77

Plan

• Introduction• Architecture• Différentes approches des grilles de

calcul• Quelques défis scientifiques• Exemple de travaux en cours• Conclusion

Page 73: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 73/77

Conclusion

Gros besoin pour les scientifiques et les industriels.Mais, utilisation transparente des ressources sur Internet

loin d’être atteinte!

Page 74: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 74/77

Conclusion

Plusieurs approches en fonction des besoins et de l’infrastructure cible.

Effort de standardisation (GGF)

Succès de certains middlewares

Réalisation de nouveaux services

Page 75: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 75/77

Conclusion

Bien identifier ce qui est technologique Les effets de modes et les buz-words…

De ce qui est plus fondamentalLes nouveaux concepts…

Page 76: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 76/77

Vers de nouveaux systèmes d’exploitation Grid-aware ?

• Conception de systèmes d’exploitation GRID-aware– Actuellement : essentiellement middleware– Gestion des ressources = rôle de l’OS !

Page 77: Calcul distribué : une introductioncdsweb.u-strasbg.fr/meeting3/Calcul_distribue.pdf · ¾On n’a pas toujours la bibliothèque installée ¾Des bibliothèques ou des environnements

6 mai 2003 Emmanuel Jeannot - journée calcul et données distribués 77/77

Remerciements

Certains transparents ont été emprunté à :– T. Priol– F. Capello– Globus Team– M. Cosnard– …