Skip to main content

BSP Programming Model

Encyclopedia of Big Data Technologies
  • 453 Accesses

Synonyms

Bulk synchronous parallel; BSPlib

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.

Fig. 1
figure 1

The BSP compute model

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Dean J, Ghemawat S (2008) Mapreduce: simplified data processing on large clusters. Commun ACM 51(1):107–113

    Article  Google Scholar 

  • Gonzalez JA, Leon C, Piccoli F, Printista M, Roda JL, Rodriguez C, de Sande F (2000) Oblivious BSP. Springer, Berlin/Heidelberg, pp 682–685

    MATH  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Goodrich MT (1999) Communication-efficient parallel sorting. SIAM J Comput 29(2):416–432

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Sakr S, Orakzai FM, Abdelaziz I, Khayyat Z (2017) Large-scale graph processing using apache giraph. Springer International Publishing AG, Cham

    Google Scholar 

  • 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

    Google Scholar 

  • Salihoglu S, Widom J (2014) Optimizing graph algorithms on Pregel-like systems. Proc VLDB Endow 7(7):577–588

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Valiant LG (1990) A bridging model for parallel computation. Commun ACM 33(8):103–111

    Article  Google Scholar 

  • Valiant LG (2011) A bridging model for multi-core computing. J Comput Syst Sci 77(1):154–166

    Article  MathSciNet  MATH  Google Scholar 

  • Williams TL, Parsons RJ (2000) The heterogeneous bulk synchronous parallel model. Springer, Berlin/Heidelberg, pp 102–108

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zuhair Khayyat .

Editor information

Editors and Affiliations

Section Editor information

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this entry

Check for updates. Verify currency and authenticity via CrossMark

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

Policies and ethics

Chapter history

  1. Latest

    BSP Programming Model
    Published:
    17 May 2022

    DOI: https://doi.org/10.1007/978-3-319-63962-8_265-2

  2. Original

    BSP Programming Model
    Published:
    05 February 2018

    DOI: https://doi.org/10.1007/978-3-319-63962-8_265-1