720 likes | 838 Views
Julien CHIDIAK DESS ASS Joël TAKVORIAN ___________________________________________________________. GRID COMPUTING & CALCUL DISTRIBUE. Année universitaire 2003-2004. Plan de l’exposé:. Définitions Enjeux Fonctionnement Projets existants Perspectives.
E N D
Julien CHIDIAK DESS ASS Joël TAKVORIAN___________________________________________________________ GRID COMPUTING & CALCUL DISTRIBUE Année universitaire 2003-2004
Plan de l’exposé: Définitions Enjeux Fonctionnement Projets existants Perspectives
Définitions EnjeuxFonctionnementProjets existantsPerspectives
Le calcul distribué Répartir un projet en une multitude de calculs qui seront exécutés en parallèle par plusieurs machines.
Le grid computing Forme particulière du calcul distribué: Chaque PC peut avoir accès aux ressources du réseau de son organisation virtuelle. C’est un mode de partage de ressources décentralisé.
DéfinitionsEnjeuxFonctionnementProjets existantsPerspectives
Enjeux du calcul distribué : Utiliser la puissance laissée disponible pour permettre de donner des ressources nécessaires à des utilisateurs en ayant le besoin : Diminution des coûts matériels (par ex : recherche médicale) Augmentation des capacités de calculs (diminution de la durée des calculs)
Intérêts du grid computing : • Toute la capacité des serveurs est exploitée en les interconnectant dans un réseau et en leur faisant exécuter en commun différentes tâches. • Aujourd'hui, on travaille avec des serveurs séparés par application, ainsi nombre d'entre eux ne sont pas utilisés pendant de longues périodes. • En combinant les serveurs, il est possible d'économiser sur le matériel. • La fiabilité des réseaux informatiques augmente, permettant aux serveurs de reprendre les tâches d'autres ordinateurs refusant tout service. Le grid computing devient le cheval de bataille de compagnies telles Oracle, IBM, HP ou encore Google.
Exemples de chiffres expliquant les intérêts du Grid computing : Pour le décryphton : 6 supercalculateurs extrêmement coûteux pour réaliser le calcul en 50 jours 10 000 PC participants à raison de 2 heures par jour : décryptage réalisé en 500 jours soit 17 mois 100 000 PC participants à raison de 2 heures par jour : décryptage réalisé en 50 jours 200 000 PC participants à raison de 2 heures par jour : décryptage réalisé en 25 jours, moins d'1 mois !
Définitions EnjeuxFonctionnementProjets existantsPerspectives
Système dédié à un unique projet. Système dédié à plusieurs projets. Grilles informatiques. Plusieurs types de systèmes distribués
Programme client : reçoit les données brutes du serveur analyse ces données envoie les résultats au serveur. Système pour un unique projetUn tel système sera construit sur une architecture client-serveur. Programme serveur : définit de petites unités de calcul distribue ces unités aux programmes clients reçoit les résultats
Difficultés : sécurité et authenticité des données au niveau du serveur. • cryptage des données transmises • détection des incohérences au niveau du serveur • Système d’authentification de l’utilisateur pour générer des statistiques personnalisées.
Système dédié à plusieurs projets Il s'agit d'un système capable de gérer plusieurs projets sans que ceux-ci soient nécessairement connus à l'avance. • Le programme client devra être capable d'exécuter un algorithme qu'il ne connait pas. Pour cela, il devra reconnaitre un langage de script, ou pouvoir exécuter un programme Java. • Le programme client aura également besoin de disposer de fonctionnalités génériques (envoi et réception de données, statistiques, etc.) afin de faciliter le développement des scripts de projet.
Système dédié à plusieurs projetsSécurité • Dans ce système distribué, il faut en plus sécuriser le programme client afin de l'empêcher d'interprêter un script indésirable. nécessité d'instaurer un système d'authentification de l'envoyeur envoyé avec le script. l'utilisateur doit pouvoir être maître des types de projets auxquels il désire participer. Le système devrait donc attendre d'obtenir son accord avant le traîtement d'un calcul concernant un nouveau projet sur sa machine.
Les "Grilles Informatiques"système non hiérarchisé • Ce système fonctionne sur un mode "peer-to-peer" : tous les participants partagent des ressources, et chacun (sous certaines conditions) pourra utiliser ces ressources pour son propre compte. • Le réseau sur lequel est implanté un tel système s'appelle une grille. • Il s'agit d'un modèle complexe, plus difficile à mettre en oeuvre que ceux vus précédemment.
Grilles informatiques Deux points cruciaux à développer : • la mise au point des protocoles d'échanges standards, qui serviront à la communication entre les sites participants. • l'élaboration d'outils de développement (outils de bas niveau et middleware).
Grilles informatiques Le mode peer-to-peer nécessite davantage de mesures de contrôle pour plus de sécurité. On utilisera donc des règles de partages qui ont pour but : • de définir clairement l'objet du partage • de définir qui est autorisé à y accéder, et dans quelles mesures. Par exemple, le programme P à le droit d'accéder au répertoire R en lecture et écriture dans la limite de 100 Mo de données écrites.
Grilles informatiquesProtocoles Ils doivent être : • standards, pour assurer l'interopérabilité entre différentes grilles et pour faciliter le partage du code source • extensibles pour satisfaire à des besoins spécifiques.
Grilles informatiquesOutils de développement Ils doivent : • intégrer les protocoles précédemment définis • être portables, pour permettre de créer des applications multi-plateformes • être extensibles.
Les Organisations Virtuelles • Il s'agit d'un ensemble d'individus et/ou d'institutions réunis sur une grille informatique. • Exemples d'OVs : un consortium d'industriels travaillant sur un nouvel avion, les membres d'un programme de collaboration internationale en physique nucléaire, ou même un fournisseur de puissance de calcul, ou d'espace de stockage. • Grâce aux standards garantissant l'interopérabilité, plusieurs organisations virtuelles peuvent collaborer sur un ou plusieurs projets.
Globus "Globus Toolkit" est un outil de développement bas niveau. C'est la solution la plus utilisée pour le développement de grilles. • Ensemble de services distincts et autonomes pour un développement adapté à l'objectif. • Chaque service bénéficie d'une API qui lui est propre. • Les standards sont massivement utilisés.
Globus Liste non exhaustive de fonctionnalités : • authentification unique • définition des ressources • localisation de ressources • acquisition des ressources • débuter un calcul réparti • fournir un accès aux fichiers distants • contrôle permanent des calculs en cours • permettre une collaborations sur les calculs • etc.
Globus the globus hourglass
Unicore • Unicore est le principal système concurrent à Globus. • D'origine allemande, il est surtout utilisé en Europe. • Il fournit des outils graphiques pour la gestion d'une grille. Il est plus adapté aux utilisateurs finaux. • Il existe des solutions d'interopérabilité entre Globus et Unicore.
ProActive est une bibliothèque 100% Java créée par l'équipe OASIS de l' INRIA. Elle est destinée à toute sorte d'applications distribuées. Utilisée conjointement à Globus, elle simplifie grandement la programmation des grilles informatiques. ProActive
Middlewares • Ils fournissent des méthodes de haut niveau pour simplifier la programmation. • Apportent le support de web services. • Apportent le support de XML. • Permettent une adaptation de Globus à d'autres langages de programmation. (Java, Python, etc.) • etc.
Middlewares - exemples • Le Java CoG kit : fournit un mapping entre le toolkit Globus et l'API Java. • Le Condor Project de l'université du Wisconsin, est un système clé en main dédié aux calculs intensifs scientifiques. • Le Grid Engine, de Sun Microsystem. • etc.
Définitions EnjeuxFonctionnementProjets existantsPerspectives
Les utilisations du Grid Computing (ou calcul distribué) La recherche médicale La recherche spatiale Les calculs mathématiques Le business d’entreprise
Les types d’institutions concernées : • Laboratoires pharmaceutiques (publique ou privé) • Les laboratoires universitaires (publique) • Les groupes de recherche (publique) • Les entreprises (publique ou privé) • Concours de communautés
Exemples de projets : • Décrypthon • genome@home & folding@home • seti@home • UnitedDevice • Distributed.net
DECRYPTHON • Projet Français lancé avec le télethon 2001 • Groupe de recherche Genoming • Cartographier le protéome • Réalisé entre décembre 2001 et mai 2002. • Une base de données au service de la lutte contre les maladies génétiques (myopathie…)
DECRYPTHON en quelques chiffres : • 550.000 protéines comparées et classifiées • Pour ces travaux, les chercheurs se sont appuyés sur la puissance de 75 000 ordinateurs contribuant chacun à hauteur d'environ 200 heures de calcul. Si l'on n'utilisait qu'un seul ordinateur personnel standard, le calcul prendrait environ 625 000 jours, soit environ 1 710 années.
Université de Stanford (Etats Unis) 2 grands projets : Commencé en 2001 Commencé en 2000
Comprendre le Génome humain pour : Créer de nouvelles protéines pour des thérapies Créer de nouveaux médicaments Comprendre l’évolution des protéines Constituer une base de données de gènes utile à la recherche médicale
Comprendre les associations de protéines. Prévenir des maladies telles que : • Alzheimer • Vache folle • Parkinson… Dues à de mauvaises associations de protéines.
OS type Active Total Number CPUs Windows Number Active CPUs 106502 Number Users Number Teams 500059 Last Update Mac OS X 3912 28491 572990 118185 272838 28185 2003-11-26 01:05:46 Linux 7771 44396 Other 0 13 Total 118185 572959
Recherche d’intelligence extraterrestre via décryptage de signaux radio • Créé en 1996 • Ouvert au public en 1999
Total Users 4768803 Results received 1132024000 Total CPU time 1710992.095 years Floating PointOperations 3.999078e+21 Average CPU timeper work unit 13 hr 14 min 24.9 sec seti@home en quelques chiffres :
Location Users Resultsreceived Total CPU time Average CPU timeper work unit home 3483525 687502931 1030544.912 years 13 hr 07 min 51.4 sec work 939992 371708026 566026.958 years 13 hr 20 min 22.1 sec school 191784 56895304 88742.404 years 13 hr 39 min 48.2 sec none 52727 15923336 25930.312 years 14 hr 15 min 54.7 sec Les lieux de calcul :