[GRASS-user] Parallel processes

Glynn Clements glynn at gclements.plus.com
Wed Oct 21 17:29:10 PDT 2015


Dylan Beaudette wrote:

> My main motivation for asking this question was to determine instances
> where parallel operations in GRASS are _not_ safe. From my reading of
> the wiki, manual pages, and your recent comments on GRASS-dev, it
> would appear that the following operations may not be safe:
> 
> 1. region-altering

Commands which modify the WIND or VAR files cannot safely be executed
in parallel. Similarly, commands which overwrite maps or modify
database tables cannot safely be executed in parallel if they will (or
might) modify the same maps, tables, etc.

For commands which create new maps (or similar), you need to ensure
that they don't concidentally choose the same name for their outputs. 

In short, GRASS doesn't attempt to "lock" maps, files, or similar
entities which it modifies, beyond the fact that each GRASS "session"
locks its current mapset.

> 2. calculations in the presence of a MASK
> 
> 3. reading "external" (r.external) GDAL sources (?)
> 
> 4. some mapcalc expressions

These should be safe if the parallelism is in the form of multiple
processes. The known or suspected issues with r.mapcalc are related to
using multiple threads within a single process.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-user mailing list