[GRASSLIST:5911] Re: Working with grass in clusteres enviroments.

H Bowman hamish_nospam at yahoo.com
Sat Mar 29 08:57:23 EST 2003


> > I was wondering if, when and how Grass will ever support clustering.
> > Now days, setting  up a openMosix cluster is cheap and easy, 
>
> No.
>
> Or, to put it another way, if anyone is planning on adding parallelism
> to GRASS modules, they are likely to be disappointed. The core GRASS
> libraries aren't remotely threadsafe, so any parallelism would have to
> be restricted to pure memory-to-memory operations; making multiple
> concurrent calls to GRASS library functions won't work, and can't be
> made to work without a fundamental re-write (i.e. discarding GRASS and
> re-implementing equivalent functionality from scratch).
> 
> For the foreseeable future, the only feasible way to exploit
> parallelism would be to run multiple sessions.


Note that (as far as I understand) mosix clusters will not split up
running processes, just shift the job to the most available/fastest
processor in the cluster. It is a lot like having an asymmetric
multi-processor system.. mosix is a load balancing tool mainly.

The time your job takes to run is proportional to the fastest single
processor available to it, NOT the sum total of all the available
processing power in the cluster. You'd need a Beowulf Cluster and
specially written threaded code if you wanted that.

For example, your job will take the same time to run on a mosix cluster
of two or two thousand 2.4GHz computers. You can just run a lot more
jobs on the two thousand computer cluster without a slow down.

I don't think running GRASS on a mosix cluster would be any different
from backgrounding a job, e.g. "s.surf.rst {...} &", and then continuing
on doing other stuff. As long as you are very careful not to interfere
with any of the input/output files belonging to another process, of
course.

I had two concurrent s.surf.rst calculations running the other day
testing different tension= parameters, and everything seemed to work
correctly. It is in this type of usage where a dual-processor computer
(or mosix cluster) would be most useful to you, I would think.


I think I've got that right anyway.

Hamish




More information about the grass-user mailing list