~ubuntu-branches/ubuntu/trusty/pvm/trusty-proposed

« back to all changes in this revision

Viewing changes to Readme.Beoscyld

  • Committer: Bazaar Package Importer
  • Author(s): Steinar H. Gunderson
  • Date: 2006-08-09 00:00:40 UTC
  • mfrom: (2.1.5 dapper)
  • Revision ID: james.westby@ubuntu.com-20060809000040-16kh33tmxx2em716
Tags: 3.4.5-7
Build with SHELL=/bin/bash in debian/rules; fixes FTBFS when /bin/sh
isn't bash. (Closes: #379543)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
This readme file describes the BEOSCYLD (Scyld Beowulf) port of PVM.
 
3
 
 
4
DESCRIPTION:
 
5
 
 
6
The purpose of this port is to implement a version of PVM for use with
 
7
the Scyld Beowulf cluster operating system. Since the slave nodes in a
 
8
Scyld Beowulf cluster do not by default contain a full installation,
 
9
the primary changes for this port were to provide the mechanisms for
 
10
getting jobs out to the slave nodes. There were two major problems to
 
11
solve. Number one, how do we get PVM slave daemons out to the slave
 
12
nodes? And number two, how can a slave daemon spawn a job when there
 
13
typically aren't any binaries on the slave node?
 
14
 
 
15
The first problem is typically solved using 'rsh' or 'ssh'. However
 
16
since Scyld slave nodes don't contain a full Linux installation, these
 
17
tools couldn't be used. The solution was to use 'bpsh'. The bproc shell
 
18
facility is used to migrate PVM slave daemons from the master node to
 
19
the appropriate slave nodes.
 
20
 
 
21
The solution to the second problem was implemented through the magic
 
22
of bproc. The traditional fork/exec sequence could not be used on a
 
23
slave node because in all likelihood the desired binary would not be
 
24
available locally. When a PVM slave daemon performs a task spawn, the
 
25
following sequence occurs: 1) fork is called to create a new process;
 
26
2) using bproc, the new process is moved back to the master node; 3)
 
27
the binary is located on the master by searching the DEFBINDIR path;
 
28
4) once located, bproc is again used to execmove the process back to
 
29
the slave node from which it came.
 
30
 
 
31
The master PVM daemon can be started on the master node using the PVM
 
32
console. You can use the console's add command to add slave nodes to
 
33
your virtual machine. The syntax for the command would be as follows:
 
34
"add .#", replacing the '#' character with the node's assigned number
 
35
in the cluster (as listed in beosetup). Alternately, you can start the
 
36
PVM console by specifying a hostfile name on the command line. This
 
37
file should contain the .# names of the slave nodes you want as part
 
38
of the virtual machine. As with standard PVM, this method automatically
 
39
spawns PVM slave daemons to the appropriate slave nodes in the cluster.
 
40
 
 
41
INSTALLATION & RUNTIME ISSUES:
 
42
 
 
43
This section describes the installation and runtime issues associated
 
44
with the RPM installation of the BEOSCYLD PVM port. If you're working
 
45
from a tarball, with the BEOSCYLD patches applied, you need to define
 
46
the following environment variables (as specified below) as explained
 
47
in the general PVM Readme file:
 
48
 
 
49
    export PVM_ARCH=BEOSCYLD
 
50
    export PVM_RSH=`which bpsh`
 
51
    export PVM_ROOT=<path where PVM resides>
 
52
 
 
53
The use of these variables and others is explained in more detail in
 
54
the pvm_intro man page. It's also probably a good idea to examine the
 
55
build time configuration file: $PVM_ROOT/conf/BEOSCYLD.def.
 
56
 
 
57
Assuming you're using the PVM tools from the RPM installation, the
 
58
following build / runtime information may prove useful.
 
59
 
 
60
1) PVM_ARCH was set to BEOSCYLD when building the binaries.
 
61
 
 
62
2) PVM_ROOT was set to /usr/share/pvm3 when building the binaries. You
 
63
can override this setting at runtime by creating a PVM_ROOT environment
 
64
variable.
 
65
 
 
66
3) RSHCOMMAND was set to /usr/bin/bpsh when building the binaries. You
 
67
can override this setting at runtime by creating a PVM_RSH environment
 
68
variable.
 
69
 
 
70
4) PVMDPATH was set to /usr/sbin/pvmd3 when building the binaries.
 
71
 
 
72
5) The default binary directory search path, DEFBINDIR, was set to the
 
73
following when building the binaries:
 
74
 
 
75
        /usr/bin:$PVM_ROOT/bin/$PVM_ARCH:$HOME/pvm3/bin/$PVM_ARCH
 
76
 
 
77
PVM_ROOT and PVM_ARCH are as defined above and $HOME will of course be
 
78
expanded appropriately at runtime.
 
79
 
 
80
6) All PVM tools and applications which make use of the PVM library, are
 
81
statically linked against /usr/lib/libbproc.a. This alleviates the need
 
82
to have the shared library version of libbproc out on the slave nodes to
 
83
execute PVM binaries.
 
84
 
 
85
KNOWN BUGS:
 
86
 
 
87
This port was verified using the pvmtest33 "pvm test suite" tarball. All
 
88
tests were executed and all tests passed. The only item worth mentioning
 
89
is that if a PVM daemon running on a slave node crashes such that the
 
90
file /tmp/pvmd.uid does not get deleted, the daemon will not restart
 
91
on that slave node until the file is removed. This is not really a bug,
 
92
but a result of PVM's implementation. It's mentioned merely because it
 
93
is an easy thing to verify when things don't appear to be working
 
94
properly with respect to slave nodes. Note that the PVM debugger was
 
95
not tested.
 
96
 
 
97
SUPPORT:
 
98
 
 
99
For questions or comments about this PVM port, contact the author by
 
100
sending an email to Joe Vitale at Scyld Computing Corporation,
 
101
vitale@scyld.com, or by contacting the Scyld Technical Support Team
 
102
directly at support@scyld.com.
 
103
 
 
104
DISCLAIMER:
 
105
 
 
106
THE AUTHOR MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS
 
107
SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESSED
 
108
OR IMPLIED WARRANTY.
 
109