Date of this Version
A general-purpose parallel Raster Processing programming Library (pRPL) was developed and applied to speed up a commonly used Cellular Automaton model with known tractability limitations. The library is suitable for use by geographic information scientists with basic programming skills, but who lack knowledge and experience of parallel computing and programming. pRPL is a general-purpose programming library that provides generic support for raster processing, including local-scope, neighborhood-scope, regional-scope, and global-scope algorithms as long as they are parallelizable. The library also supports multi-layer algorithms. Besides the standard data domain decomposition methods, pRPL provides a spatially-adaptive quad-tree-based decomposition to produce more evenly distributed workloads among processors. Data parallelism and task parallelism are supported, with both static and dynamic load-balancing. By grouping processors, pRPL also supports data-task hybrid parallelism, i.e., data parallelism within a processor group and task parallelism among processor groups. pSLEUTH, a parallel version of a well-known Cellular Automata model for simulating urban land use change (SLEUTH), was developed to demonstrate full utilization of the advanced features of pRPL. Experiments with real-world datasets were conducted, and the performance of pSLEUTH measured. We conclude not only that pRPL greatly reduces the development complexity of implementing a parallel raster-processing algorithm, it also greatly reduces the computing time of computationally intensive raster-processing algorithms, as demonstrated with pSLEUTH.