IMPLEMENTATION OF MULTIPROCESSING WORK-FLOWS IN GRASS GIS PRODUCTION ENVIRONMENT
Automated multiprocessing of aerial photographs, satellite images and GIS datasets has been performed in GRASS GIS production environment in several projects at the Institute of Aerial Geodesy in Kaunas (Lithuania). We used powerful workstations with multi-core Intel processors, 8 Gb RAM and large disk arrays, powered by 64-bit Linux (Ubuntu) operating systems.
The main objective of the experiment was development of a simple and universal method for implementation of parallel computing work-flows by automated distribution of similar processing tasks to be performed on large amount of datasets. In particular, the methodology was implemented with great efficiency in massive fusion of aerial photography and satellite imagery, as well as extraction of vector polygon features from multispectral satellite imagery.
Implementation of multiprocessing work-flows was based on Linux shell scripting algorithm, which produced a list of tasks (images, dataset fragments, etc.) and then reduced that list by the first line on every loop, reading it's content into a variable and passing it into the loop for processing. This way a new dataset was loaded into the processing loop, at the same time being removed from the list.
In GRASS GIS production environment, different mapsets were created for storage of temporary and output files generated while running several copies of the same processing script. All processes were getting dataset name as variable from the same list and reading the dataset from the same GRASS mapset or external file storage. This simple solution created a perfect effect of parallel computing by performing 4 processing tasks simultaneously on 4 processor “cores” with overall efficiency ~4 times higher than a conventional approach without multiprocessing being implemented. The same concept could be implemented on a multiple processor environment with a common network storage of input files.
Gediminas Vaitkus - Institute of Aerial Geodesy