270 likes | 417 Views
Université de Versailles Saint Quentin en Yvelines. DEA MISI Option: Architecture haute performance. Étude d’un protocole de partage de travail entre systèmes Pair à Pair. Stage réalisé par: Khaled BENCHERIF sous la direction de: Olivier RICHARD. Plan. Le contexte du stage
E N D
Université de Versailles Saint Quentin en Yvelines DEA MISI Option: Architecture haute performance Étude d’un protocole de partage de travail entre systèmes Pair à Pair Stage réalisé par: Khaled BENCHERIF sous la direction de: Olivier RICHARD
Plan • Le contexte du stage • Les motivations des systèmes Pair à Pair • L’état de l’art • Les systèmes P2P existants • Les algorithmes d’équilibrage de charge • La conception et l’implantation • Les expériences et l’évaluation • Conclusion et perspectives
Le contexte général • Le calcul parallèle évolue. • Les supercalculateurs coûteux. • L’évolution d ’Internet (Démocratisation du web). • L’amélioration des capacités des machines connectées à des réseaux de plus en plus performants. • La sous utilisation des machines. La naissance d ’un nouveau concept de l’algorithme parallèle distribuée: Les systèmes Pair à Pair.
Les systèmes Pair à Pair • Faire coopérer plusieurs machines pour résoudre un problème. • Les machines connectées peuvent être très différentes (Hétérogènes). • Supercalculateurs, PC, Téléphones portables,... • Reliées entre elles par un réseau étendu (WAN). variation des débits et disparité des machines. • L’interface dit être unique et transparente pour l ’utilisateur Exemples : SETI@home, Distributed.net, et beaucoup d ’autres
Les motivations du Pair à Pair • Nombre important de ressources connectées en permanence à Internet. • Évolution des capacités des ressources: machines, le réseau (bande • passante, latence). • Sous utilisation de capacités de calcul et de stockage des machines • connectées à Internet. • Applications multi paramètres (les simulations).
Propriétés recherchées des systèmes Pair à Pair • Répartition de charge • Tolérance aux pannes • Une meilleur utilisation des ressources Aspects techniques invisibles à l’utilisateur • Le passage à l’échelle • L’auto organisation dynamique • La sécurité des calcul (triches) Importantes pour l’utilisateur • La sécurité (authentification, sûreté) • L’interactivité
Du partage de charge coopération entre représentants de communauté Pair à Pair Représentant Tâche Ressource disponible Problématique
Positionnement du travail • L’exploitation à grande échelle des ressources reliées à Internet. • Équilibrer la charge entre systèmes de calcul global. • Implanter le partage de travail entre serveurs d’XtremWeb. • Évaluer l’échange de tâches.
Démarche suivie • Principe des systèmes Pair à Pair. • Étudier les systèmes Pair à Pair existants. • Étudier les algorithmes d’équilibrage de charge. • Étudier XtremWeb en détail (installer, tester, examiner les sources). • Conception de la solution. • Implanter le vol de tâche. • Évaluer les performances.
État de l’art • Les plates formes Pair à Pair existantes • Les algorithmes d’équilibrage de charge (vol de tâche)
Classification des systèmes globaux Système P2P Service Calcul global documents Distribué Centralisé Partage, échange Stockage persistant OceanStore XtremWeb Seti@Home Distribué Indexation, routage Centralisé Indexation Architecture Gnutella Chord, FreeNet Napster
Équilibrage de charge par vol de tâche La charge des machines dans un système distribué peut être inégale BUT: Amélioration des performances et exploitation des ressources disponibles Prendre en considération: • . La charge des processeurs • . La vitesse d ’exécution sur les nœuds • . Le temps de transfert des tâches
Classe des algorithmes d’équilibrage de charge • Statiques: cycliques, probabilistes... • Dynamiques: État du système. • Collecte + stockage de données surcoût. • Adaptatifs: Changement de politique, changement de paramètres.
Quelques Algorithmes d’équilibrage de charge • Le vol de tâche aléatoire (Random Stealing RS) • L’envoi préalable aléatoire (Random Pushing RP) • Le vol de tâche hiérarchique (Cluster- aware Hierarchical Stealing CHS) • Le vol de tâche selon la charge (Cluster-aware Load-based Stealing CLS) • Vol de tâche aléatoire avec prise en considération du cluster : (Cluster-aware Random Stealing CRS)
Présentation d ’XtremWeb Serveur Pair à Pair PC worker/Client PC worker/Client WAN PC worker/Client PC worker/Client PC worker/Client Le clientsoumet un travail au serveur. Le serveurgère les tâches et les affecte aux worker Le workerfourni des ressources de calculs pour exécuter les tâches qu’il a récupérées du serveur. Le Result Collectorsert à stocker les résultats envoyés par un worker qui a fini son traitement.
Architecture du serveur XtremWeb Tâches Sélection des tâches Gestionnaire des priorités Base de Données Ensemble d’applications Ensemble des tâches Ensemble des résultats Statistiques Résultat Soumettre des tâches Récupération des résultats Scheduleur Collecteur de résultats Pour une tâche et un hôte donnés :- Sélectionner le binaire et les paramètres de l’application. - MAJ des infos de statistiques. - Sauvegarder les résultats. Serveur HTTP Couche de communication Java-RMI / XMLRPC TCP SSL Requêtes du Client Requêtes du Worker
Architecture du Worker XtremWeb Les threads démons Contrôle Contrôleur d’activité Contrôleur d’activité Requête de fin de tâche Alive Mode utilisateur Mode worker
Vol de tâches entre serveurs XtremWeb workRequest workRequest workRequest Tâche Résultat Tâche Résultat No work
Vol de tâches par les workers XtremWeb workRequest workRequest Tâche Résultat hostRegister @ des serveurs workRequest No work
L’impact de l’équilibrage de charge Exécution d ’XW sans équilibrage de charge Exécution d ’XW avec équilibrage de charge Rmq: Le vol de tâche est synchrone
Le surcoût de l’équilibrage de charge Temps d’exécution total avec et sans équilibrage de charge Exécution d ’XW avec équilibrage de charge
Temps d’attente pour la réception d’une tâche Le vol de tâche est synchrone
Conclusion • Une taxonomie des systèmes Pair à Pair. Service, architecture et l’échelle • Deux algorithmes de distribution de charge: • Vol de tâche entre serveurs. • Vol de tâche par le worker. • Une nouvelle architecture d’XtremWeb. • Diminuer la charge sur un seul noeud. • Exploiter toutes les ressources disponibles. • Améliorer le temps d’exécution global. • Evaluation des algorithmes proposés. • Tâches à gros grains. • Surcoût dépend de: nombre, taille des tâches et le temps de recherche d ’une tâche .
Perspectives (1) • Notre algorithme fait du vol de tâche synchrone: • L’étendre pour fait du vol de tâche asynchrone (récupérer plus d’une tâche, prévoire la disponibilité des ressources). • Implanter le deuxième algorithme et les comparer. • Tester avec des application réelles, et dans des conditions variables de charge. • Maximiser l’exploitation des ressources par: • L’optimisation et l’amélioration des algorithmes de distribution de charge. • L’atténuation de la complexité de ces algorithmes.
Perspectives (2) • Proposer de nouvelles architectures pour les systèmes Pair à Pair. • La coopération entre communautés Pair à Pair peut s’étendre à un • modèle économique. • Les systèmes Pair à Pair ouvrent la voie à beaucoup d ’axes de • recherche: Le passage à l ’échelle, la tolérance aux pannes, l ’hétérogénéité, la • sécurité...
Université de Versailles Saint Quentin en Yvelines DEA MISI Option: Architecture haute performance Étude d’un protocole de partage de travail entre systèmes Pair à Pair Stage réalisé par: Khaled BENCHERIF sous la direction de: Olivier RICHARD