SlideServe
Menu
Préférences
© SlideServe · v2026

Parallel Virtual Machine

mick avatar
16 diapositives · 645 Views · Aug 10, 2014

Parallel Virtual Machine. Rama Vykunta. Introduction. PVM provides a unified frame work for developing parallel programs with the existing infrastructure PVM enables a collection of heterogeneous computer systems as a single parallel virtual machine Transparent to the user. Introduction.

Parallel Virtual Machine - slide 1
01 / 16Parallel Virtual Machine
1 / 17

Télécharger la présentation

Parallel Virtual Machine
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Parallel Virtual Machine Rama Vykunta

  2. Introduction • PVM provides a unified frame work for developing parallel programs with the existing infrastructure • PVM enables a collection of heterogeneous computer systems as a single parallel virtual machine • Transparent to the user

  3. Introduction • A simple computing model based on tasks is used which is given by a set of well defined function calls • An application is written as a set of co-operating tasks • Processes communicate/synchronize with other processes

  4. Introduction • Process management, machine configuration and support for input/output is possible • User can configure the hosts according to the demand. He can position certain tasks on the most appropriate machines • Unit of parallelism in PVM is a task

  5. All tasks on PVM cooperate by sending and receiving messages from one another • PVM supports functional and data parallelism • A well defined library of PVM interface routines are used for programming

  6. Details • PVM system is composed of two parts • Daemon(pvmd) that resides on all computers making the virtual machine • The second part of the system is a library of PVM interface routines • All PVM tasks are identified by an integer task identifier (TID) • A task can join or leave any group any time without having to inform any other task in the affected groups

  7. Details • User can write programs in C, C++ or Fortran which contain embedded calls to the PVM library • Starting PVM • % pvm • pvm>add hostname • pvm>delete hostname • pvm>conf • pvm>ps -a • pvm>halt

  8. Details • To compile use architecture independent ‘aimk’ which automatically determines the architecture and links any OS specific libraries to the application • PVM supports use of multiple consoles, it is possible to run a console on any host and also to run multiple consoles on the same machine

  9. Details • PVM supports two models of computation namely crowd computing and tree computing. • Crowd computing is a collection of closely related processes, typically executing the same code • Tree computing in which processes are spawned dynamically as the computation progresses

  10. Example main() { int cc, tid, msgtag; char buf[100]; printf(“I’m t%x\n”, pvm_mytid()); cc = pvm_spawn(“hello_other”, (char**)0, 0, “”, 1, &tid); if(cc == 1) { msgtag = 1; pvm_recv(tid, msgtag); pvm_upkstr(buf); printf(“from t%x: %s\n”, tid, buf); } else printf(can’t start hello_other\n”); pvm_exit(); }

  11. Example # include “pvm3.h” main() { int ptid, msgtag; char buf[100]; ptid = pvm_parent(); strcpy(buf, “hello, world from”); gethostname(buf + strlen(buf), 64); msgtag = 1; pvm_initsend(PvmDataDefault); pvm_upkstr(buf); pvm_send(ptid, msgtag); pvm_exit(); }

  12. Example • After printing the task ID it initiates the copy of the other program called hello_other using pvm_spawn() function. • The main program recieves the message using pvm_recv() function and the buffer is exracted by pvm_upkstr() • The final pvm_exit() call dissociates the program from the PVM system

  13. XPVM • XPVM is a GUI tool for analyzing the parallel programs in PVM • XPVM is can be used as a trace monitor and a call-level debugger extension to the PVM • XPVM is based on PVM, TCL and TK • XPVM can be used to view task utilization, network view, space-time view and message-queue view.

  14. XPVM • Hosts can be added and removed form the virtual machine • Using the task menu, tasks can be spawned, killed or signaled • Each host is connected to the network by a link and a color is used to indicate the state of the host • Green: Actively running the tasks • White: Host is idling • Yellow: Host is not busy collecting information

  15. XPVM • Space - Time view displays the status of the tasks and hosts during a program execution • Utilization view shows the overall computing state during a given instance • Trace view prints the tasks during each instance of activity • Event History view contains all the trace events in the trace file

  16. References • PVM: Parallel Virtual Machine: A Users' Guide and Tutorial for Networked Parallel Computing MIT Press Scientific and Engineering Computation