PVM "Parallel Virtual Machine" Les aspects communication



Documents pareils
Cristallisation dõapplication musicales par collaboration

VLAN Virtual LAN. Introduction. II) Le VLAN. 2.1) Les VLAN de niveau 1 (Port-based VLAN)

Introduction. Adresses

Couche application. La couche application est la plus élevée du modèle de référence.

TRANSFERT DE LA BASE DE DONNEES DE LA BIBLIOTHEQUE DU LSE VERS LE WEB

Adonya Sarl Organisme de Formation Professionnelle 75 Avenue Niel PARIS, France

Projet : PcAnywhere et Le contrôle à distance.

Supervision de réseau

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

La continuité de service

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

Optimisation WAN de classe Centre de Données

Pré-requis installation

Réseaux et protocoles Damien Nouvel

Le rôle Serveur NPS et Protection d accès réseau

2011 Hakim Benameurlaine 1

18 TCP Les protocoles de domaines d applications

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

Kaspersky Security Center 9.0 Manuel d'implantation

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

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

L3 informatique Réseaux : Configuration d une interface réseau

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

I. MODULE DÕINTRODUCTION AUX ORDINATEURS. Yannis Delmas 1999, IUFM de Paris

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Guide de configuration de la Voix sur IP

Présentation du modèle OSI(Open Systems Interconnection)

Citrix XenApp 7.5 Concepts et mise en oeuvre de la virtualisation d'applications

MS 2615 Implémentation et support Microsoft Windows XP Professionnel

Le protocole TCP. Services de TCP

NOTIONS DE RESEAUX INFORMATIQUES

Table des matières 1 Accès distant sur Windows 2008 Server Introduction...2

SSH, le shell sécurisé

How To? Sécurité des réseaux sans fils

Symantec Backup Exec.cloud

CA ARCserve Backup r12

pare - feu généralités et iptables

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Programmation parallèle et distribuée

La VOIP :Les protocoles H.323 et SIP

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

Gestion et Surveillance de Réseau

Parallélisme et Répartition

Symantec Protection Suite Enterprise Edition Protection éprouvée pour les terminaux, la messagerie et les environnements Web

Outils de l Internet

Xserve. FonctionnalitŽs clžs

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

MANUEL DE DEPLOIEMENT

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Installation du point d'accès Wi-Fi au réseau

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Préparer la synchronisation d'annuaires

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

ABORDABILITƒ ET CHOIX TOUJOURS (A C T) PROJET DE RATIONALISATION DU PROCESSUS D'APPROBATION

Bluetooth pour Windows

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Vous avez des problèmes d'impression réseau? UniPrint. est la solution qu'il vous faut. Aperçu du produit

Gestion de la mobilité d'entreprise. L'équilibre parfait entre les besoins de l'utilisateur final et ceux de l'entreprise

Guide du coordinateur de système du SCI modulaire 4.0

Table des matières Chapitre 1 Virtualisation, enjeux et concepts Chapitre 2 Ligne de produit XEN

Configuration de WebDev déploiement Version 7

Installation du client Cisco VPN 5 (Windows)

Serveur de sauvegarde à moindre coût

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Phase 1 : Introduction 1 jour : 31/10/13

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

Installation du client Cisco VPN 5 (Windows)

Routage AODV. Languignon - Mathe - Palancher - Pierdet - Robache. 20 décembre Une implémentation de la RFC3561

Installation du client Cisco VPN 5 (Windows)

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Microsoft Windows NT Server

Services TCP/IP : Authentification, partage de fichier et d'imprimante dans un domaine Microsoft

Les messages d erreur d'applidis Client

Fonctionnement d Internet

Algorithmique et langages du Web

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

VPN. Réseau privé virtuel Usages :

Pré-requis installation

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Sécurité et Firewall

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

UNIFIED D TA. architecture nouvelle génération pour une restauration garantie (assured recovery ) que les données soient sur site ou dans le cloud

Services Réseaux - Couche Application. TODARO Cédric

Métriques de performance pour les algorithmes et programmes parallèles

Introduction aux Technologies de l Internet

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Découverte de réseaux IPv6

Bienvenue sur Lab-Windows Il n'y a de vents favorables que pour ceux qui ont un cap

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Avec PICASA. Partager ses photos. Avant de commencer. Picasa sur son ordinateur. Premier démarrage

votre partenaire informatique pour un développement durable Les réalités de la virtualisation des postes de travail

Transcription:

PVM "Parallel Virtual Machine" Les aspects communication Gilles Requilé Laboratoire de Mécanique et Génie Civil - CNRS URA 1214 - Université Montpellier II requile@lmgc.univ-montp2.fr INTRODUCTION Le syst me PVM ("Parallel Virtual Machine") est un logiciel constituž d'un ensemble de programmes et de librairies permettant d'utiliser des machines de calcul hžtžrog nes, insžržes dans un environnement de ržseaux basžs sur le protocole INTERNET (IP), pour mettre en oeuvre des technologies de calcul parallèle et distribué. PVM est issu d'un projet interne de l'oak Ridge National Laboratory (ORNL) aux USA en 1989. La premi re version a servi de base en 1991 ˆ un projet plus vaste commun ˆ trois universitžs des USA et soutenu par plusieurs programmes tant gouvernementaux qu'industriels [1]. Ces techniques de calcul parall le sont maintenant utilisžes dans pratiquement toutes les disciplines scientifiques. La mise à disposition des codes sources de PVM dans le "domaine public" ainsi que le fort džveloppement des ržseaux de tžlžcommunications, en particulier la couverture mondiale ržalisže par les protocoles IP et leur pržsence sur toutes sortes de plates-formes, ont ŽtŽ des ŽlŽments džterminants dans son succ s. Deux autres phžnom nes ont facilitž sa popularisation : - d'une part, l'acc s aux machines spžcifiques ˆ multiprocesseurs reste toujours tr s onžreux et d'une complexitž importante ; les logiciels permettant d'en utiliser les ressources sont encore fortement "proprižtaire" (bien que dans ce dernier domaine les recherches sur des langages "portables" avancent rapidement) ; - d'autre part la banalisation des stations de travail, dont la puissance ne cesse d'augmenter, et qui sont devenues d'un abord "simple" et d'un prix attractif. La force de PVM est d'utiliser cet existant maintenant bien connu des utilisateurs - syst me d'exploitation, langages de programmation normalisés (FORTRAN, C) - et de n'introduitre essentiellement que deux concepts non directement familiers aux scientifiques : le passage de message, l'utilisation de la mžmoire distribuže (hormis bien sžr les techniques ližes ˆ l'algorithmique parall le elle-m me). Dans cet exposž nous nous bornerons ˆ džcrire les aspects communication (protocoles...). PRINCIPES DE PVM PVM est implantž aussi bien sur les machines monoprocesseur (dans ce cas la technique de la mžmoire distribuže est utilisže) que sur des machines multiprocesseurs ˆ architecture explicitement parall le (dans ce cas la gestion de la mžmoire partagže est possible). Afin de simplifier et pour mettre en lumi re les mžcanismes propres aux communications nous ne considžrerons dans cet exposž que des machines monoprocesseur interconnectžes via des ržseaux IP, ce qui est le cas courant d'un groupe de station de travail et nous

utiliserons la terminologie d'unix pour parler des fonctions du syt me d'exploitation, bien que d'autres syst mes d'exploitation supportent PVM. Posons aussi, tr s schžmatiquement, que la parallžlisation d'un programme complexe consiste ˆ džcouper certaines Žtapes en sžquences indžpendantes dont l'exžcution peut tre, ˆ un moment donnž, ržpartie entre les diffžrentes machines disponibles. Chaque machine poss de son propre syst me d'exploitation, ses propres ressources : disque, mžmoire, processeur... Le processeur sera identifié par un nombre entier. Une table sera cržže pour assurer la correspondance entre adresse de machine au sens IP et ce numéro de processeur. Ces séquences indépendantes de programme sont, dans la terminologie PVM, džnommžes tâches. Chaque a deux fonctions : - ržaliser les traitements pržvus par la sžquence de programme sur la partie des donnžes qui lui sont affectžes ˆ ce moment lˆ, - assurer les communications avec le programme principal (lui-m me une ) et Žventuellement les autres s (Žchange des donnžes initiales et des donnžes traitžes, informations de synchronisation...). Une tâche PVM sera, sur la machine, constituže par un process au sens UNIX. La machine virtuelle va donc fournir les moyens pour identifier chaque tâche indžpendamment du syst me d'identification des process : un TID ("Task IDentifier") lui sera attribuž ; schžmatiquement ce sera la concatžnation du numžro du processeur et du PID du process. S 1 bit G 1 bit N processeur 12 bits N process 18 bits Figure 1 : Format des TID (32 bits) S : TID pour ou pour G : multicast vers les s en groupe On remarquera la possibilitž de cržer des groupes de tâches ce qui permet par exemple de ržaliser des synchronisations. Ces groupes sont alors adressables par multicast. Les mžcanismes de communication inter-s sont donc essentiels dans PVM. Ils sont basžs sur la technique de passage de message ("Passing Message") dont la taille n'est limitže que par les contraintes locales de chaque machine (mžmoire...). Des protocoles spžcifiques, b tis sur UDP et TCP, ont ŽtŽ con us pour ržaliser d'une mani re optimale ces communications inter-process. LE SYSTEME PVM Le logiciel PVM est composž de trois parties : - le "daemon" () lancž sur chaque machine (processeur) : la machine virtuelle est l'ensemble des explicitement mis en relations entre-eux par une džclaration de l'utilisateur. Ces "daemon", ˆ l'žcoute des requ tes externes et internes sont aussi chargžs de router les messages entre s. Les coopèrent entre-eux par l'intermédiaire de "sockets" UDP. - une librairie de primitives (libpvm) permet ˆ l'utilisateur de gžrer et d'ordonnancer luim me la coopžration des s (fonctions C ou sous-programmes FORTRAN) au sein de son programme : envoi et ržception de messages, lancement de process, coordination des s, modifications de la configuration,... Les tâches coopèrent entre-elles par l'intermédiaire de "sockets" TCP. - une console, sorte de "shell", est une cržže par un programme (pvm) qui va servir ˆ gžrer la "vie" de l'ensemble des s de la machine virtuelle (comme le "shell" sous

UNIX permet de gžrer la vie des process) : kill, status, ajout ou suppression de machines... xpvm est une forme évoluée de cette console dans un environnement X11. connexion UDP connexion TCP machine console Figure 2 : Schéma des modes de connexion du système PVM Les messages entre s exžcutžes sur deux processeurs diffžrents transiteront par l'intermždiaire des "daemon" qui en assurent le routage. LES PROTOCOLES Deux types de connexions sont Žtablies avec des comportements diffžrents : - Les Žchanges - utilisent des connexions de type "datagram" sur UDP (nžcessitž d'un grand nombre de connexions simultanžment ouvertes). adresse TID destination finale 32 bits adresse TID de l'émetteur 32 bits numéro de séquence numéro d'acquittement A F DE S C I AOO non utilisé K N T MM Figure 3 : En-tête de paquet entre "daemon" Les numžros de sžquence et d'acquittement (sur 16 bits) sont incržmentžs ˆ chaque transmission ˆ la fin de laquelle une mesure de "round-trip delay" est effectuže pour tre utilisž, parmi d'autres crit res (caractžristiques de la machine,...), ˆ Žtablir la stratžgie de ržpartition des s entre processeur. Les bits SOM et EOM permettent de gžrer la fragmentation (premier et dernier paquet du message) indispensable aux longs messages. Le bit DAT indique que le paquet vžhicule des donnžes et que le numžro de sžquence est valide et le bit ACK indique que le numžro d'acquittement est valide. Le bit FIN permet au d'informer qu'il va mettre fin ˆ la connexion. - Les Žchanges tâche-tâche ou -tâche utilisent des connexions de type "stream" sur TCP (nžcessitž d'une connexion fiabilisže). On remarque ici l'absence de mžcanisme d'acquittement. Seuls les bits EOM et SOM permettent de gžrer la fragmentation comme pržcždemment.

adresse TID destination finale 32 bits adresse TID de l'émetteur 32 bits longueur du paquet E S O O non utilisé M M Figure 4 : En-tête de paquet entre "daemon" et tâche ou entre tâche et tâche En ce qui concerne les donnžes vžhiculžes via les messages, PVM permet d'opžrer une conversion dans le mode de repržsentation. En effet les plates-formes constituant la machine virtuelle peuvent tre hžtžrog nes ; le protocole XDR peut alors tre employž. L'utilisateur devra explicitement utiliser, dans son programme, les primitives adžquates destinžes ˆ encoder (ou džcoder) le message. CONFIGURATION ET MISE EN OEUVRE Le syst me PVM est installž directement sous le ržpertoire de l'utilisateur. Le premier "daemon" est lancž manuellement par l'utilisateur en m me temps que la console pvm. Ensuite, si l'on simplifie, l'ajout de machine est fait par qui utilise rsh : ceci nžcessite la pržsence du fichier.rhost sur la machine distante. Si l'on ne souhaite pas utiliser ce mžcanisme, il est possible d'employer rexec, qui impose alors une validation de l'opžration par le mot de passe de l'utilisateur sur la machine concernže. Bien sur, une version du syst me PVM devra exister sur la machine distante, o l'utilisateur devra pouvoir tre reconnu et identifiable ("login" et "password"). La situation la plus simple consiste ˆ travailler sur des machines homog nes, ˆ ne possžder qu'une seule version de PVM et ˆ rendre visible le ržpertoire de l'utilisateur sur toutes les machines, via NFS. La liste ainsi que les caractžristiques de connexion des machines insžrables dans la machine virtuelle seront indiqužes dans un fichier situž dans le ržpertoire de l'utilisateur, en outre un certain nombre de variables d'environnement seront initialisžes via le "shell". Le "resolver" devra tre en service sur toutes les machines concernžes. L'environnement X11 est fortement conseillž pour utiliser les outils annexes au syst me PVM lui-m me : console XPVM, HeNCE (outil d'aide ˆ la parallžlisation)... Une abondante littžrature est disponible [2] et [3] en plus du manuel [1] pour l'assistance ˆ la mise en oeuvre. REFERENCE, DISTRIBUTION ET DOCUMENTATIONS [1] Al Geist, Adam Geguelin, Jack Dongarra, Weilcheng Jiang, Robert Manchek, Vaidy Sunderman "PVM : Parallel Virtual Machine. A users' Guide and Tutorial for Networked Parallel Computing" The MIT Press Cambridge, Massachusetts, London, England (1994). Disponible en POSTSCRIPT (voir [2] ci-après). [2] Où trouver PVM : A la source : Par e-mail : En France (mirror): http://www.netlib.org/pvm3/index.html echo "send index from pvm3" mail netlib@ornl.gov ftp://ftp.irisa.fr/pub/mirrors/netlib/pvm3 [3] Groupe de discussion sur les news : comp.parallel.pvm