Synonyms
Definitions
It is an iterative share-nothing parallel computing model that abstracts the parallelization of applications into three stages: computation, communication, and synchronization. As illustrated in Fig. 1, each iteration, or superstep, runs the three steps in order and repeats them until the application completes its calculations. The input of the first iteration is loaded from the user’s input dataset. After that, the input for each subsequent iteration is collected from the previous one.
References
Abdelaziz I, Harbi R, Salihoglu S, Kalnis P (2017) Combining vertex-centric graph processing with SPARQL for large-scale RDF data analytics. IEEE Trans Parallel Distrib Syst 28(12):3374–3388
Beran M (1999) Decomposable bulk synchronous parallel computers. In: Proceedings of the 26th conference on current trends in theory and practice of informatics on theory and practice of informatics, SOFSEM’99. Springer, London, pp 349–359
Blelloch GE, Gibbons PB, Matias Y, Zagha M (1995) Accounting for memory bank contention and delay in high-bandwidth multiprocessors. In: Proceedings of the seventh annual ACM symposium on parallel algorithms and architectures, SPAA’95. ACM, New York, pp 84–94
Bonorden O (2007a) Load balancing in the bulk-synchronous-parallel setting using process migrations. In: 2007 IEEE international parallel and distributed processing symposium, pp 1–9
Bonorden O (2007b) Load balancing in the bulk-synchronous-parallel setting using process migrations. In: Proceedings of the 21st international parallel and distributed processing symposium (IPDPS), Long Beach, pp 1–9, 26–30 Mar 2007. https://doi.org/10.1109/IPDPS.2007.370330, https://doi.org/10.1109/IPDPS.2007.370330
Bonorden O (2008) Versatility of bulk synchronous parallel computing: from the heterogeneous cluster to the system on chip. PhD thesis, University of Paderborn, Germany. http://ubdok.uni-paderborn.de/servlets/DerivateServlet/Derivate-6787/diss.pdf
Cui H, Cipar J, Ho Q, Kim JK, Lee S, Kumar A, Wei J, Dai W, Ganger GR, Gibbons PB, Gibson GA, Xing EP (2014) Exploiting bounded staleness to speed up big data analytics. In: Proceedings of the 2014 USENIX conference on USENIX annual technical conference, USENIX association, USENIX ATC’14, pp 37–48
Dean J, Ghemawat S (2008) Mapreduce: simplified data processing on large clusters. Commun ACM 51(1):107–113
Gonzalez JA, Leon C, Piccoli F, Printista M, Roda JL, Rodriguez C, de Sande F (2000) Oblivious BSP. Springer, Berlin/Heidelberg, pp 682–685
González JA, León C, Piccoli F, Printista M, Roda JL, RodrÃguez C, de Sande F (2001) Performance prediction of oblivious BSP programs. Springer, Berlin/Heidelberg, pp 96–105. https://doi.org/10.1007/3-540-44681-8_16, https://doi.org/10.1007/3-540-44681-8_16
Gonzalez JE, Low Y, Gu H, Bickson D, Guestrin C (2012) PowerGraph: distributed graph-parallel computation on natural graphs. In: Presented as part of the 10th USENIX symposium on operating systems design and implementation (OSDI), USENIX, Hollywood, pp 17–30
Gonzalez JE, Xin RS, Dave A, Crankshaw D, Franklin MJ, Stoica I (2014) GraphX: graph processing in a distributed dataflow framework. In: 11th USENIX symposium on operating systems design and implementation (OSDI). USENIX Association, Broomfield, pp 599–613. https://www.usenix.org/conference/osdi14/technical-sessions/presentation/gonzalez
Goodrich MT (1999) Communication-efficient parallel sorting. SIAM J Comput 29(2):416–432
Hill JMD, McColl B, Stefanescu DC, Goudreau MW, Lang K, Rao SB, Suel T, Tsantilas T, Bisseling RH (1998) Bsplib: the BSP programming library. Parallel Comput 24(14):1947–1980
Hou Q, Zhou K, Guo B (2008) BSGP: bulk-synchronous GPU programming. In: ACM SIGGRAPH 2008 Papers, SIGGRAPH’08. ACM, New York, pp 19:1–19:12
Juurlink BHH, Wijshoff HAG (1996) The e-BSP model: incorporating general locality and unbalanced communication into the BSP model. In: Proceedings of the second international Euro-Par conference on parallel processing-volume II, Euro-Par’96. Springer, London, pp 339–347
Khayyat Z, Awara K, Alonazi A, Jamjoom H, Williams D, Kalnis P (2013) Mizan: a system for dynamic load balancing in large-scale graph processing. In: Proceedings of the 8th ACM European conference on computer systems, EuroSys’13. ACM, pp 169–182
Li M, Lu X, Hamidouche K, Zhang J, Panda DK (2016) Mizan-RMA: accelerating Mizan graph processing framework with MPI RMA. In: 2016 IEEE 23rd international conference on high performance computing (HiPC), pp 42–51
Malewicz G, Austern MH, Bik AJ, Dehnert JC, Horn I, Leiser N, Czajkowski G (2010) Pregel: a system for large-scale graph processing. In: Proceedings of the 2010 ACM SIGMOD international conference on management of data, SIGMOD’10. ACM, pp 135–146
Sakr S, Orakzai FM, Abdelaziz I, Khayyat Z (2017) Large-scale graph processing using apache giraph. Springer International Publishing AG, Cham
Salihoglu S, Widom J (2013) GPS: a graph processing system. In: Proceedings of the 25th international conference on scientific and statistical database management, SSDBM. ACM, pp 22:1–22:12
Salihoglu S, Widom J (2014) Optimizing graph algorithms on Pregel-like systems. Proc VLDB Endow 7(7):577–588
Siddique K, Akhtar Z, Yoon EJ, Jeong YS, Dasgupta D, Kim Y (2016) Apache Hama: an emerging bulk synchronous parallel computing framework for big data applications. IEEE Access 4:8879–8887
Teixeira CHC, Fonseca AJ, Serafini M, Siganos G, Zaki MJ, Aboulnaga A (2015) Arabesque: a system for distributed graph mining. In: Proceedings of the 25th symposium on operating systems principles, SOSP’15. ACM, New York, pp 425–440
Valiant LG (1990) A bridging model for parallel computation. Commun ACM 33(8):103–111
Valiant LG (2011) A bridging model for multi-core computing. J Comput Syst Sci 77(1):154–166
Williams TL, Parsons RJ (2000) The heterogeneous bulk synchronous parallel model. Springer, Berlin/Heidelberg, pp 102–108
Xiao W, Xue J, Miao Y, Li Z, Chen C, Wu M, Li W, Zhou L (2017) Tux²: distributed graph computation for machine learning. In: 14th USENIX symposium on networked systems design and implementation (NSDI), Boston, pp 669–682
Yan D, Cheng J, Lu Y, Ng W (2015) Effective techniques for message reduction and load balancing in distributed graph computation. In: Proceedings of the 24th international conference on world wide web, international world wide web conferences steering committee, WWW’15, pp 1307–1317
Yzelman AN, Bisseling RH, Roose D, Meerbergen K (2014) Multicorebsp for c: a high-performance library for shared-memory parallel programming. Int J Parallel Prog 42(4):619–642
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this entry
Cite this entry
Khayyat, Z. (2018). BSP Programming Model. In: Sakr, S., Zomaya, A. (eds) Encyclopedia of Big Data Technologies. Springer, Cham. https://doi.org/10.1007/978-3-319-63962-8_265-1
Download citation
DOI: https://doi.org/10.1007/978-3-319-63962-8_265-1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-63962-8
Online ISBN: 978-3-319-63962-8
eBook Packages: Springer Reference MathematicsReference Module Computer Science and Engineering
Publish with us
Chapter history
-
Latest
BSP Programming Model- Published:
- 17 May 2022
DOI: https://doi.org/10.1007/978-3-319-63962-8_265-2
-
Original
BSP Programming Model- Published:
- 05 February 2018
DOI: https://doi.org/10.1007/978-3-319-63962-8_265-1