TOC, 1, 2, 3,
4, 5, 6,
7, 8, 9,
10, 11, 12,
13, 14
13) MISCELLANEOUS
13.1) How can I use Linda on multiple
Shared Memory Multiprocessors?
How can I use Linda on multiple Shared
Memory Multiprocessors? (e.g. several SGI challenge machines).
If you
want to run a single Linda job across multiple shared memory machines, you have
two possible options:
1) Use Network Linda. This method is simple, and
allows multiple shared memory machines and single CPU workstations to work
together in a simple way. The main disadvantage is that Tuplespace is not
accessed via shared memory.
You will have to set some resources in the
configuration file to cause multiple processes to be created on a single shared
memory machine. For example, for an 8 node machine named
homer:
Tsnet.homer.maxsprocspernode: 8
Tsnet.homer.speedfactor:
8.0
You may also want to turn off the getload
resource. You will also have to increase maxworkers, since it defaults to the
number of distinct nodes. This can be done on the command line or in the
configuration file. For example, imagine that you want to run myapp
on homer, marge, and bart,
three 8-node machines.
$ ntsnet -n
12:23 myapp
will start 23 worker processes, and require that at
least 12 join. We use 23 instead of 24 because the master process adds one
more.
Using the configuration file:
Tsnet.myapp.maxworkers:
23
2) Using shared memory Linda and Paradise.
You can
link together multiple shared memory Linda using Paradise operations. Each
machine runs a separate Linda execution, using the hardare shared memory for its
own private Tuplespace. Global coordination is achieved via the Paradise
Tuplespace. Using this method, the Linda Tuplespaces are supported via hardware
shared memory, which gives better performance. The main drawback is additional
programming effort for the Paradise coordination framework.
TOC, 1, 2, 3,
4, 5, 6,
7, 8, 9,
10, 11, 12,
13, 14