The Queen's University of Belfast
Parallel Computer Centre

[Next] [Previous] [Top]

An Introduction to PVM

Parallel Virtual Machine

Version 3.1

January 1996


Acknowledgements

Initially this course was based on a short course prepared by Nilesh Raj, High Performance Computing Centre, University of Southampton.

The original material was completely rewritten and substantially extended by Ruth Dilly and Alan Rea of the Parallel Computer Centre, The Queen's University of Belfast.


Reference

PVM: Parallel Virtual Machine.

A User's Guide and Tutorial for Networked Parallel Computing

A.Giest, A.Beguelin, J. Dongarra, et. al.

The Mit Press


Timetable

Day 1

9.30 - 10.30 Introduction to PVM

10.30 - 10.45 Coffee (Note: spare 15 mins)

11.00 - 11.30 PVM Console

11.30 - 12.00 Practical 1 - Using the Console

12.00 - 12.30 Example PVM Programs

12.30 - 1.00 Practical 2 - Compilation and Execution of PVM Programs

1.00 - 2.00 Lunch

2.00 - 2.30 Architecture Independent Make

2.30 - 3.15 Practical 3 - Aimk

3.15 - 3.30 Coffee

3.30 - 4.15 XPVM

4.15 - 5.00 Practical 4 - XPVM

Timetable

Day 2

9.30 - 10.30 Dynamic Process Groups

10.30 - 10.45 Coffee

11.00 - 12.00 Practical 5 - Dynamic Process Groups

12.00 - 12.30 Dynamic Configuration

12.30 - 1.00 Practical 6 - Dynamic Configuration

1.00 - 2.00 Lunch

2.00 - 3.00 How does PVM work?

3.00 - 3.30 Practical 7 - Complete previous exercises

3.30 - 4.00 Coffee

4.00 - 4.30 How Does PVM work? Part 2

4.30 - Complete practicals, debriefing, solutions, discussion or more practicals


- Acknowledgements
- Reference
- Timetable
An Overview of PVM
- Parallel Virtual Machine
- Key features
- PVM history
- Introduction
- PVM
- Distributed computing
- PVM overview
- Underlying principles
- Terms
- PVM programming paradigm
- Parallel models
- Workload allocation
- Heterogeneity
- Portable
PVM Components and Terminology
- System components
- PVM Terminology
- PVM Terminology
- Message Passing
- Message Buffers
- Packing Data
PVM Console
- PVM Console
- Starting the console
- Configuration of PVM
- Executing a program
- Leaving PVM
- Using a hostfile
- Error handling
- Debugging a PVM Application
- Fault Detection
- Practical
Example Programs
- Example Programs
- PVMFINITSEND()
- PVMFPACK()
- C Packing Functions
- PVMFSEND()
- PVMFRECV()
- PVMFBUFINFO()
- PVMFSPAWN()
- PVMFMCAST()
- Compilation
- Execution
- Practical
Makefiles
- Makefiles
- Practical
Dynamic Process Groups
- Dynamic Process Groups
- Joining a Group
- Leaving a Group
- General Group Functions
- Group Functions
- Example SPMD
Dynamic PVM Configuration
- PVMFCONFIG()
- PVMFADDHOST()
- PVMFDELHOST()
- PVMFNOTIFY()
- PVMFTASKS()
- PVMFKILL()
- PVMFTIDTOHOST()
- PVMFCATCHOUT()
Additional Message Passing Features
- PVMFTRECV()
- PVMFPSEND()
- PVMFSETRBUF()
- Error Handling
- PVMFPERROR()
- Setting and Getting Options
Obtaining and Installing PVM
- How to obtain PVM
- Installing PVM
- Future Enhancements
How Does PVM Work?
- How Does PVM work?
- Design Considerations
- Components
- TIDs
- Architecture Classes
- PVM Daemon
- LIBPVM
- Messages
- PVM Daemon
- Libpvm
- Protocols
- Message Routing
- Task Environment
- Resource Limitations
and finally

[Next] [Previous] [Top]
All documents are the responsibility of, and copyright, © their authors and do not represent the views of The Parallel Computer Centre, nor of The Queen's University of Belfast.
Maintained by Alan Rea, email A.Rea@qub.ac.uk
Generated with CERN WebMaker