Abstract
Cluster-based parallel computing technology has been widely used in the geosciences. However, how to implement the corresponding parallel algorithm in a simple way, and how to make parallel algorithms more efficient and effective, are still of great value to this research area, especially to beginners who are new to parallel computing. In this research, a contour line generation algorithm is paralleled with a message passing interface-based parallel computing as a case study to illustrate the improvement and optimization methods for the aforementioned problems to high performance geo-computation newcomers. Through experiments it can be concluded that: (1) In order to implement parallel algorithms in a simple way, we adopt the single program/multiple data mode, which is a method that evenly distributes tasks. We make the processes independent by reading the input files simultaneously, while writing results in parallel and gathering them with the master. (2) Even small hotspots should also be considered in the optimization procedure in order to get an efficient parallel algorithm. (3) Implementing a suitable parallel algorithm should consider many factors, such as the state of the network, I/O throughput, and also the desired application and user requirements.






















Similar content being viewed by others
Notes
SuperMike-II, HPC in the Center for Computation & Technology, Louisianan State University. It has a 146 TFlops peak performance supplied by 440 computing nodes and 50 GPU nodes. Detailed information can be found on the website: http://www.hpc.lsu.edu/resources/hpc/system.php?system=SuperMike-II.
References
Aguilar, J.O., Atoche, A.C., Alvarez, R.C., Castillo, J.V., Villalón-Turrubiates, I., Pérez-Martínez, O.: Enhancement and edge-preserving denoising: an OpenCL-based approach for remote sensing imagery. IEEE J. Sel. Topics Appl. Earth Obs. Remote Sensing 9, 5482–5492 (2016)
Akhter, S.: Porting a GRASS raster module to distributed computing, examples for MPI and Ninf-G. OSGeo J 2, 1 (2007)
Armstrong, M.P., Kathryn Cowles, M., Wang, S.: Using a computational grid for geographic information analysis: a reconnaissance. Prof. Geogr. 57, 365–375 (2005)
Arunadevi, J., Johnsanjeevkumar, A., Sujatha, N.: Intelligent transport route planning using parallel genetic algorithms and MPI in high performance computing cluster. In: Proceedings of the 15th International Conference on Advanced Computing and Communications (ADCOM 2007), pp. 578–583 (2007)
Ball, J.E., Anderson, D.T., Chan, C.S.: Comprehensive survey of deep learning in remote sensing: theories, tools, and challenges for the community. SPIE, p. 54 (2017)
Benedičič, L., Cruz, F.A., Hamada, T., Korošec, P.: A GRASS GIS parallel module for radio-propagation predictions. Int. J. Geogr. Inf. Sci. 28, 799–823 (2014)
Bernabe, S., Lopez, S., Plaza, A., Sarmiento, R.: GPU implementation of an automatic target detection and classification algorithm for hyperspectral image analysis. IEEE Geosci. Remote Sens. Lett. 10, 221–225 (2013)
Brawer, S.: Introduction to Parallel Programming. Academic Press Professional, Inc, New York (1989)
Bunting, P., Clewley, D., Lucas, R.M., Gillingham, S.: The remote sensing and GIS software library (RSGISLib). Comput. Geosci. 62, 216–226 (2014)
Campos, I., Coterillo, I., Marco, J., Monteoliva, A., Oldani, C.: Modelling of a watershed: a distributed parallel application in a grid framework. Comput. Inform. 27, 285–296 (2012)
Cappello, F., Etiemble, D.: MPI versus MPI + OpenMP on the IBM SP for the NAS Benchmarks. In: Presented at ACM, IEEE SC2000 Conference, Dallas, TX (2000).
Casas, I., Taheri, J., Ranjan, R., Wang, L., Zomaya, A.Y.: A balanced scheduler with data reuse and replication for scientific workflows in cloud computing systems. Future Gener. Comput. Syst. 74, 168–178 (2017)
Chao, F., Chongjun, Y., Zhuo, C., Xiaojing, Y., Hantao, G.: Parallel algorithm for viewshed analysis on a modern GPU. Int. J. Digit. Earth 4, 471–486 (2011)
Chen, D., Wang, L., Tian, M., Tian, J., Wang, S., Bian, C., Li, X.: Massively parallel modelling & simulation of large crowd with GPGPU. J. Supercomput. 63, 675–690 (2013)
Chen, Z., Shen, L., Zhao, Y., Yang, C.: Parallel algorithm for real-time contouring from grid DEM on modern GPUs. Sci. China Technol. Sci. 53, 33–37 (2010)
Clarke, K.C.: Geocomputation’s future at the extremes: high performance computing and nanoclients. Parallel Comput. 29, 1281–1295 (2003)
Clarke, L., Glendinning, I., Hempel, R.: The MPI message passing interface standard. In: Programming environments for massively parallel distributed systems, pp. 213–218. Springer (1994)
Danner, A., Breslow, A., Baskin, J., Wilikofsky, D.: Hybrid MPI/GPU interpolation for grid DEM construction. In: Proceedings of the 20th International Conference on Advances in Geographic Information Systems. ACM, Redondo Beach, California, pp. 299–308 (2012)
Ding, Y., Densham, P.J.: A loosely synchronous, parallel algorithm for hill shading digital elevation models. Cartogr. Geogr. Inf. Syst. 21, 5–14 (1994)
Dong, W., Liu, D., Zhao, L.: A new MPI-based GRASS technology for parallel processing and its architecture in China. Remote Sensing Inf. 28, 102–109 (2013)
Egorova, M.S., Dyachkov, S.A., Parshikov, A.N., Zhakhovsky, V.V.: Parallel SPH modeling using dynamic domain decomposition and load balancing displacement of Voronoi subdomains. Comput. Phys. Commun. 234, 112–125 (2018)
Fan, J., Yan, J., Ma, Y., Wang, L.: Big data integration in remote sensing across a distributed metadata-based spatial infrastructure. Remote Sensing 10, 7 (2018)
Gajraj, A., Joubert, W., Jones, J.: A parallel implementation of kriging with a trend. In. Los Alamos National Lab., NM (United States) (1997)
Geist, A.: PVM (parallel virtual machine). In: Padua, D. (ed.) Encyclopedia of Parallel Computing, pp. 1647–1651. Springer, Boston (2011)
Gong, Z., Tang, W., Bennett, D.A., Thill, J.C.: Parallel agent-based simulation of individual-level spatial interactions within a multicore computing environment. Int. J. Geogr. Inf. Sci. 27, 1152–1170 (2013)
Gousie, M.B., Franklin, W.R.: Constructing a dem from grid-based data by computing intermediate contours. In: Proceedings of the 11th ACM international symposium on Advances in geographic information systems. ACM, New Orleans, Louisiana, USA, pp. 71–77 (2003)
Grama, A., Kumar, V., Gupta, A., Karypis, G.: Introduction to Parallel Computing. Pearson Education, London (2003)
Guan, Q., Clarke, K.C.: A general-purpose parallel raster processing programming library test application using a geographic cellular automata model. Int. J. Geogr. Inf. Sci. 24, 695–722 (2010)
Guan, Q., Kyriakidis, P.C., Goodchild, M.F.: A parallel computing approach to fast geostatistical areal interpolation. Int. Geogr. Inf. Sci. 25, 1241–1267 (2011)
Guan, X., Wu, H.: Leveraging the power of multi-core platforms for large-scale geospatial data processing: exemplified by generating DEM from massive LiDAR point clouds. Comput. Geosci. 36, 1276–1282 (2010)
Harish, P., Narayanan, P.J.: Accelerating large graph algorithms on the GPU using CUDA. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (Eds.) High Performance Computing—HiPC 2007. In: Proceedings of the 14th International Conference, Goa, India, December 18–21, Springer Berlin Heidelberg, pp. 197–208 (2007)
Huang, Q., Yang, C.: Optimizing grid computing configuration and scheduling for geospatial analysis: an example with interpolating DEM. Comput. Geosci. 37, 165–176 (2011)
Hawick, K.A., Coddington, P.D., James, H.A.: Distributed frameworks and parallel algorithms for processing large-scale geographic data. Parallel Comput. 29, 1297–1333 (2003)
He, K., Zheng, L., Dong, S., Tang, L., Wu, J., Zheng, C.: PGO: a parallel computing platform for global optimization based on genetic algorithm. Comput. Geosci. 33, 357–366 (2007)
He, G., Xiong, W., Chen, L., Wu, Q., Jing, N.: An MPI-based parallel pyramid building algorithm for large-scale RS image. J. Geo-Inf. Sci. 5, 440–446 (2015)
Healey, R., Dowers, S., Gittings, B., Mineter, M.J.: Parallel Processing Algorithms for GIS. CRC Press, Boca Raton (1998)
Hiremath, P., Kodge, B.: Generating contour lines using different elevation data file formats. ( 2011) arXiv preprint arXiv:1103.4914
Hofierka, J., Lacko, M., Zubal, S.: Parallelization of interpolation, solar radiation and water flow simulation modules in GRASS GIS using OpenMP. Comput. Geosci. 107, 20–27 (2017)
Hossam, M.A., Ebied, H.M., Abdel-Aziz, M.H.: GPU implementation for hyperspectral image analysis using Recursive Hierarchical Segmentation. In: 2012 Seventh International Conference on Computer Engineering & Systems (ICCES), pp. 195–200 (2012)
Hu, Y., Xue, Y., Tang, J., Zhong, S., Cai, G.: Data-parallel method for georeferencing of MODIS level 1B data using grid computing. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) Computational Science—ICCS 2005, pp. 883–886 (2005)
Huang, F., Bu, S., Tao, J., Tan, X.: OpenCL implementation of a parallel universal kriging algorithm for massive spatial data interpolation on heterogeneous systems. Int. J. Geo-Inf. 5, 96 (2016)
Huang, F., Lan, B., Tao, J., Chen, Y., Tan, X., Feng, J., Ma, Y.: A parallel nonlocal means algorithm for remote sensing image denoising on an intel xeon phi platform. IEEE Access 5, 8559–8567 (2017)
Huang, F., Liu, D., Li, X., Wang, L., Xu, W.: Preliminary study of a cluster-based open-source parallel GIS based on the GRASS GIS. Int. J. Dig. Earth 4, 402–420 (2011)
Huang, F., Liu, D., Tan, X., Wang, J., Chen, Y., He, B.: Explorations of the implementation of a parallel IDW interpolation algorithm in a Linux cluster-based parallel GIS. Comput. Geosci. 37, 426–434 (2011)
Huang, F., Tao, J., Xiang, Y., Liu, P., Dong, L., Wang, L.: Parallel compressive sampling matching pursuit algorithm for compressed sensing signal reconstruction with OpenCL. J. Syst. Architect. 72, 51–60 (2017)
Huang, F., Zhou, J., Tao, J., Tan, X., Liang, S., Cheng, J.: PMODTRAN: a parallel implementation based on MODTRAN for massive remote sensing data processing. Int. J. Dig. Earth 9, 819–834 (2016)
Huang, F., Zhu, Q., Zhou, J., Tao, J., Zhou, X., Jin, D., Tan, X., Wang, L.: Research on the parallelization of the DBSCAN clustering algorithm for spatial data mining based on the spark platform. Remote Sensing 9, 1301 (2017)
Huang, F., Chen, Y., Li, L., Zhou, J., Tao, J., Tan, X., Fan, G.: Implementation of the parallel mean shift-based image segmentation algorithm on a GPU cluster. Int. J. Digit. Earth 12(3), 328–353 (2019). https://doi.org/10.1080/17538947.2018.1432709
Javanmardi, S., Shojafar, M., Amendola, D., Cordeschi, N., Liu, H., Abraham, A.: Hybrid job scheduling algorithm for cloud computing environment. In: Kömer, P., Abraham, A., Snášel, V. (Eds.), Proceedings of the Fifth International Conference on Innovations in Bio-Inspired Computing and Applications IBICA 2014. Springer International Publishing, Cham, pp. 43–52 (2014)
Jiang, L., Tang, G., Liu, K., Song, X., Yang, J., Zhang, G.: Study on parallel calculation method of local terrain parameters in China. J. Geo-Inf. Sci. 14, 761–767 (2012)
Jin, H., Jespersen, D., Mehrotra, P., Biswas, R., Huang, L., Chapman, B.: High performance computing using MPI and OpenMP on multi-core parallel systems. Parallel Comput. 37, 562–575 (2011)
Jones, N.L., Kennard, M.J., Zundel, A.K.: Fast algorithm for generating sorted contour strings. Comput. Geosci. 26, 831–837 (2000)
Lanthier, M., Nussbaum, D., Sack, J.R.: Parallel implementation of geometric shortest path algorithms. Parallel Comput. 29(10), 1445–1479 (2003)
Li, G., Ma, Y., Wang, J., Liu, D.: Preliminary through-out research on parallel-based remote sensing image processing, pp. 880–883. Springer, Berlin (2006)
Li, J., Jiang, Y., Yang, C., Huang, Q., Rice, M.: Visualizing 3D/4D environmental data using many-core graphics processing units (GPUs) and multi-core central processing units (CPUs). Comput. Geosci. 59, 78–89 (2013)
Li, K.B.: ClustalW-MPI: clustalW analysis using distributed and parallel computing. Bioinformatics 19, 1585–1586 (2003)
Li, X., Zhang, X., Yeh, A., Liu, X.: Parallel cellular automata for large-scale urban simulation using load-balancing techniques. Int. J. Geogr. Inf. Sci. 24, 803–820 (2010)
Liu, H., Li, B., Xie, Y., Qi, D.: Parallel ray-tracing algorithm and its application for propagation prediction in urban microcellular environments. Chin. J. Radio Sci. 5(19), 581–585 (2004)
Liu, P., Choo, K.-K.R., Wang, L., Huang, F.: SVM or deep learning? A comparative study on remote sensing image classification. Soft. Comput. 21, 7053–7065 (2017)
Liu, P., Yuan, T., Ma, Y., Wang, L., Liu, D., Yue, S., Kołodziej, J.: Parallel processing of massive remote sensing images in a GPU architecture. Comput. Inform. 33, 197–217 (2014)
Ma, Y., Chen, L., Liu, P., Lu, K.: Parallel programing templates for remote sensing image processing on GPU architectures: design and implementation. Computing 98, 7–33 (2016)
Ma, Y., Wang, L., Liu, D., Yuan, T., Liu, P., Zhang, W.: Distributed data structure templates for data-intensive remote sensing applications. Concurr. Comput. 25, 1784–1797 (2013)
Ma, Y., Wang, L., Liu, P., Ranjan, R.: Towards building a data-intensive index for big data computing—A case study of remote sensing data processing. Inf. Sci. 319, 171–188 (2015)
Ma, Y., Wu, H., Wang, L., Huang, B., Ranjan, R., Zomaya, A., Jie, W.: Remote sensing big data computing: challenges and opportunities. Future Gener. Comput. Syst. 51, 47–60 (2015)
Mills, K., Fox, G., Heimbach, R.: Implementing an intervisibility analysis model on a parallel computing system. Comput. Geosci. 18, 1047–1054 (1992)
Mineter, M., Dowers, S., Caldwell, D., Gittings, B.: High-throughput computing to enhance intervisibility analysis. In: Proceedings 7th International Conference on GeoComputation, Southampton, UK, pp. 1–10 (2003)
Mineter, M.J., Dowers, S., Gittings, B.M.: Towards a HPC framework for integrated processing of geographical data: encapsulating the complexity of parallel algorithms. Trans. GIS 4, 245–261 (2000)
Mininni, P.D., Rosenberg, D., Reddy, R., Pouquet, A.: A hybrid MPI–OpenMP scheme for scalable parallel pseudospectral computations for fluid turbulence. Parallel Comput. 37, 316–326 (2011)
Moore, G.E.: Cramming more components onto integrated circuits. Proc. IEEE 86, 82–85 (1998)
Moore, I.D., Grayson, R., Ladson, A.: Digital terrain modelling: a review of hydrological, geomorphological, and biological applications. Hydrol. Process. 5, 3–30 (1991)
Mower, J.E.: Data-parallel procedures for drainage basin analysis. Comput. Geosci. 20, 1365–1378 (1994)
Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. Queue 6, 40–53 (2008)
Osterman, A.: Implementation of the r. cuda. los module in the open source GRASS GIS by using parallel computation on the NVIDIA CUDA graphic cards. ELEKTROTEHNIËĞSKI VESTNIK 79, 19–24 (2012)
Phillips, R.D., Watson, L.T., Wynne, R.H.: Hybrid image classification and parameter selection using a shared memory parallel algorithm. Comput. Geosci. 33, 875–897 (2007)
Riegler, G., Hoeppner, E., Li, X.: Automatic contour line generation using Intermap’s digital terrain model. In: ASPRS 2006 Annual Conference, Reno Nevada (2006)
Roks, D.K., Armstrong, M.P.: Parallel terrain feature extraction. In: GIS LIS-International Conference-. American Society for Photogrammetry and Remote Sensing, pp. 652–652 (1992)
Schmieder, A., Huber, R.: Automatic generation of contour lines for topographic maps by means of airborne high-resolution interferometric radar data. In: Proceedings of ASPRS Annual Conference (2000)
Smith, L.A., Bull, J.M., Obdrizalek, J.: A Parallel Java Grande Benchmark Suite. In: SC ‘01: Proceedings of the 2001 ACM/IEEE Conference on Supercomputing, pp. 6–6 (2001)
Sun, X., Li, M., Liu, Y., Tan, L., Liu, W.: Accelerated segmentation approach with CUDA for high spatial resolution remotely sensed imagery based on improved Mean Shift, 2009 Joint Urban Remote Sensing Event, pp. 1–6 (2009)
Tabik, S., Romero, L.F., Zapata, E.L.: High-performance three-horizon composition algorithm for large-scale terrains. Inte. J. Geogr. Inf. Sci. 25, 541–555 (2011)
Tabik, S., Villegas, A., Zapata, E.L., Romero, L.F.: Optimal tilt and orientation maps: a multi-algorithm approach for heterogeneous multicore-GPU systems. J. Supercomput. 66, 135–147 (2013)
Tan, L., Wan, G., Li, F., Chen, X., Du, W.: GPU based contouring method on grid DEM data. Comput. Geosci. 105, 129–138 (2017)
Tan, X., Di, L., Deng, M., Fu, J., Shao, G., Gao, M., Sun, Z., Ye, X., Sha, Z., Jin, B.: Building an elastic parallel OGC web processing service on a cloud-based cluster: a case study of remote sensing data processing service. Sustainability 7, 14245 (2015)
Tang, G.: Progress of DEM and digital terrain analysis in China. Acta Geogr. Sin. 69, 1305–1325 (2014)
Tie, B., Huang, F., Tao, J., Lu, J., Qiu, D.: A parallel and optimization approach for land-surface temperature retrieval on a windows-based PC cluster. Sustainability 10, 621 (2018)
Twito, R.H., Mifflin, R.W., McGaughey, R.J.: The MAP program: building the digital terrain model. Gen. Tech. Rep. PNW-GTR-200. Portland, OR: US Department of Agriculture, Forest Service, Pacific Northeast Research Station. p. 22 (1987)
Viñas, M., Bozkus, Z., Fraguela, B.B.: Exploiting heterogeneous parallelism with the heterogeneous programming library. J. Parallel Distrib. Comput. 73, 1627–1638 (2013)
Wang, F.: A parallel intersection algorithm for vector polygon overlay. IEEE Comput. Graph. Appl. 13, 74–81 (1993)
Wang, S., Armstrong, M.P.: A quadtree approach to domain decomposition for spatial interpolation in Grid computing environments. Parallel Comput. 29, 1481–1504 (2003)
Wang, L., Geng, H., Liu, P., Lu, K., Kolodziej, J., Ranjan, R., Zomaya, A.Y.: Particle swarm optimization based dictionary learning for remote sensing big data. Knowl.-Based Syst. 79, 43–50 (2015)
Wang, H., Guan, X., Wu, H.: A hybrid parallel spatial interpolation algorithm for massive LiDAR point clouds on heterogeneous CPU-GPU systems. ISPRS Int. J. Geo-Inform. 6, 363 (2017)
Wang, L., Zhang, J., Liu, P., Choo, K.-K.R., Huang, F.: Spectral–spatial multi-feature-based deep learning for hyperspectral remote sensing image classification. Soft. Comput. 21, 213–221 (2017)
Wang, Y., Jiang, J., Zhang, H., Dong, X., Wang, L., Ranjan, R., Zomaya, A.Y.: A scalable parallel algorithm for atmospheric general circulation models on a multi-core cluster. Future Gener. Comput. Syst. 72, 1–10 (2017)
Wang, L., Ma, Y., Yan, J., Chang, V., Zomaya, A.Y.: pipsCloud: high performance cloud computing for remote sensing big data management and processing. Fut. Gener. Comput. Syst. 78, 353–368 (2018)
Xie, J.: Implementation and performance optimization of a parallel contour line generation algorithm. Comput. Geosci. 49, 21–28 (2012)
Xue, Y., Liu, D., Ai, J., Wan, W.: High Performance Geocomputation—Preface, pp. 603–604. Springer, Berlin (2008)
Yan, J., Ma, Y., Wang, L., Choo, K.-K.R., Jie, W.: A cloud-based remote sensing data production system. Fut. Gener. Comput. Syst. 86, 1154–1166 (2018)
Yin, L., Shaw, S.L., Wang, D., Carr, E.A., Berry, M.W., Gross, L.J., Comiskey, E.J.: A framework of integrating GIS and parallel computing for spatial control problems—a case study of wildfire control. Int. J. Geogr. Inf. Sci. 26, 621–641 (2012)
Zhang, W., Montgomery, D.R.: Digital elevation model grid size, landscape representation, and hydrologic simulations. Water Resour. Res. 30(4), 1019–1028 (1994)
Zhao, L., Chen, L., Ranjan, R., Choo, K.R., He, J.: Geographical information system parallelization for spatial big data processing: a review. Clust. Comput. 19, 139–152 (2016)
Acknowledgements
This study was supported mainly by the National Key R&D Program of China (No. 2018YFC1505205), Engineering Research Center of Geospatial Information and Digital Technology (NASG) (Wuhan University) (Grant No. SIDT20170601), the National Natural Science Foundation of China (Grant No. 41871312), and Hubei Provincial Key Laboratory of Intelligent Geo-Information Processing (China University of Geosciences) (Grant Nos. KLIGIP-2017A06, KLIGIP-2017A07, and KLIGIP-2017A09).
Author information
Authors and Affiliations
Contributions
Fang Huang conceived of and designed the experiments and revised the paper. Bo Tie performed the experiments and wrote the paper. Jian Tao also performed the experiments. Xicheng Tan and Yan Ma analyzed the data and made key modifications to the paper.
Corresponding authors
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Huang, F., Tie, B., Tao, J. et al. Methodology and optimization for implementing cluster-based parallel geospatial algorithms with a case study. Cluster Comput 23, 673–704 (2020). https://doi.org/10.1007/s10586-019-02944-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-019-02944-y