[GRASS-dev] Re: No reply from developer mailing list

Glynn Clements glynn at gclements.plus.com
Tue Mar 24 21:34:24 EDT 2009

Yann Chemin wrote:

> GRASS is mostly a row processing engine when we work on raster data.
> It does have a restriction for parallel processing, it is that it does
> compress rows on writing, but it means also uncompressing them on
> reading. i.e. no row distribution possible directly: because no random
> access.
> Best for raster parallelisation (by blocks or rows) would be Random
> Access. That would certainly mean uncompressed raster data, which is
> an issue on many levels, some philosophical, some practical.

GRASS supports random reads whether the data is compressed or
uncompressed. It used to support random writes provided that the data
is uncompressed, but that was removed in 7.0 because nothing was using
it. It could be re-instated if there was a use for it.

Even without random writes, there's no reason why a multi-threaded
application can't buffer writes and have a worker thread write them
out in order.

A bigger issue is that much of the code in the libraries isn't
thread-safe. It's better in 7.0, although you still can have multiple
threads performing concurrent I/O on a single raster.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list