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

 
Copyright © 2007 Scientific Computing Associates, Inc.