{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,6]],"date-time":"2025-07-06T04:40:03Z","timestamp":1751776803826,"version":"3.41.0"},"publisher-location":"Cham","reference-count":26,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319969824"},{"type":"electronic","value":"9783319969831"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-96983-1_37","type":"book-chapter","created":{"date-parts":[[2018,7,31]],"date-time":"2018-07-31T15:50:06Z","timestamp":1533052206000},"page":"519-532","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":10,"title":["Bulk: A Modern C++ Interface for Bulk-Synchronous Parallel Programs"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5008-7173","authenticated-orcid":false,"given":"Jan-Willem","family":"Buurlage","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2372-4207","authenticated-orcid":false,"given":"Tom","family":"Bannink","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9854-4481","authenticated-orcid":false,"given":"Rob H.","family":"Bisseling","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,8,1]]},"reference":[{"issue":"8","key":"37_CR1","doi-asserted-by":"publisher","first-page":"103","DOI":"10.1145\/79173.79181","volume":"33","author":"LG Valiant","year":"1990","unstructured":"Valiant, L.G.: A bridging model for parallel computation. Comm. ACM 33(8), 103\u2013111 (1990)","journal-title":"Comm. ACM"},{"issue":"14","key":"37_CR2","doi-asserted-by":"publisher","first-page":"1947","DOI":"10.1016\/S0167-8191(98)00093-3","volume":"24","author":"JMD Hill","year":"1998","unstructured":"Hill, J.M.D., et al.: BSPlib: the BSP programming library. Parallel Comput. 24(14), 1947\u20131980 (1998)","journal-title":"Parallel Comput."},{"key":"37_CR3","unstructured":"Suijlen, W.: BSPonMPI v0.3. https:\/\/sourceforge.net\/projects\/bsponmpi\/"},{"issue":"5","key":"37_CR4","doi-asserted-by":"publisher","first-page":"533","DOI":"10.1002\/cpe.1843","volume":"24","author":"AN Yzelman","year":"2012","unstructured":"Yzelman, A.N., Bisseling, R.H.: An object-oriented bulk synchronous parallel library for multicore programming. Concurr. Comput.: Pract. Exp. 24(5), 533\u2013553 (2012)","journal-title":"Concurr. Comput.: Pract. Exp."},{"issue":"4","key":"37_CR5","doi-asserted-by":"publisher","first-page":"619","DOI":"10.1007\/s10766-013-0262-9","volume":"42","author":"AN Yzelman","year":"2014","unstructured":"Yzelman, A.N., Bisseling, R.H., Roose, D., Meerbergen, K.: MulticoreBSP for C: a high-performance library for shared-memory parallel programming. Int. J. Parallel Programm. 42(4), 619\u2013642 (2014)","journal-title":"Int. J. Parallel Programm."},{"issue":"2","key":"37_CR6","doi-asserted-by":"publisher","first-page":"187","DOI":"10.1016\/S0167-8191(02)00218-1","volume":"29","author":"O Bonorden","year":"2003","unstructured":"Bonorden, O., Juurlink, B., von Otte, I., Rieping, I.: The Paderborn University BSP (PUB) library. Parallel Comput. 29(2), 187\u2013207 (2003)","journal-title":"Parallel Comput."},{"key":"37_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1046","DOI":"10.1007\/11428848_132","volume-title":"Computational Science \u2013 ICCS 2005","author":"F Loulergue","year":"2005","unstructured":"Loulergue, F., Gava, F., Billiet, D.: Bulk synchronous parallel ML: modular implementation and performance prediction. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (eds.) ICCS 2005. LNCS, vol. 3515, pp. 1046\u20131054. Springer, Heidelberg (2005). https:\/\/doi.org\/10.1007\/11428848_132"},{"key":"37_CR8","unstructured":"Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: Proceedings of OSDI, pp. 137\u2013149 (2004)"},{"key":"37_CR9","doi-asserted-by":"crossref","unstructured":"Malewicz, G., et al.: Pregel: a system for large-scale graph processing. In: Proceedings of SIGMOD, pp. 135\u2013145 (2010)","DOI":"10.1145\/1807167.1807184"},{"issue":"12","key":"37_CR10","first-page":"1804","volume":"8","author":"A Ching","year":"2015","unstructured":"Ching, A., Edunov, S., Kabiljo, M., Logothetis, D., Muthukrishnan, S.: One trillion edges: graph processing at Facebook-scale. VLDB 8(12), 1804\u20131815 (2015)","journal-title":"VLDB"},{"key":"37_CR11","doi-asserted-by":"publisher","first-page":"8879","DOI":"10.1109\/ACCESS.2016.2631549","volume":"4","author":"K Siddique","year":"2016","unstructured":"Siddique, K., Akhtar, Z., Yoon, E.J., Jeong, Y.S., Dasgupta, D., Kim, Y.: Apache Hama: an emerging bulk synchronous parallel computing framework for big data applications. IEEE Access 4, 8879\u20138887 (2016)","journal-title":"IEEE Access"},{"key":"37_CR12","unstructured":"Heller, T., Diehl, P., Byerly, Z., Biddiscombe, J., Kaiser, H.: HPX-An open source C++ standard library for parallelism and concurrency. In: Proceedings of OpenSuCo, p. 5 (2017)"},{"key":"37_CR13","doi-asserted-by":"crossref","unstructured":"Zheng, Y., Kamil, A., Driscoll, M.B., Shan, H., Yelick, K.: UPC++: a PGAS extension for C++. In: Proceedings of IEEE IPDPS, pp. 1105\u20131114 (2014)","DOI":"10.1109\/IPDPS.2014.115"},{"key":"37_CR14","doi-asserted-by":"crossref","unstructured":"Hamidouche, K., Falcou, J., Etiemble, D.: Hybrid bulk synchronous parallelism library for clustered SMP architectures. In: Proceedings of HLPP, pp. 55\u201362 (2010)","DOI":"10.1145\/1863482.1863494"},{"issue":"1","key":"37_CR15","doi-asserted-by":"publisher","first-page":"154","DOI":"10.1016\/j.jcss.2010.06.012","volume":"77","author":"LG Valiant","year":"2011","unstructured":"Valiant, L.G.: A bridging model for multi-core computing. J. Comput. Syst. Sci. 77(1), 154\u2013166 (2011)","journal-title":"J. Comput. Syst. Sci."},{"issue":"3","key":"37_CR16","doi-asserted-by":"publisher","first-page":"245","DOI":"10.1023\/A:1026511306490","volume":"17","author":"CW Ke\u00dfler","year":"2000","unstructured":"Ke\u00dfler, C.W.: NestStep: nested parallelism and virtual shared memory for the BSP model. J. Supercomput. 17(3), 245\u2013262 (2000)","journal-title":"J. Supercomput."},{"key":"37_CR17","unstructured":"ISO\/IEC: 14882:2017(E) - Programming languages - C++ (2017)"},{"issue":"2","key":"37_CR18","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/289918.289920","volume":"17","author":"RW Numrich","year":"1998","unstructured":"Numrich, R.W., Reid, J.: Co-array Fortran for parallel programming. ACM SIGPLAN Fortran Forum 17(2), 1\u201331 (1998)","journal-title":"ACM SIGPLAN Fortran Forum"},{"key":"37_CR19","unstructured":"MPI Forum: MPI: a message-passing interface standard. Int. J. Supercomput. Appl. High-Perform. Comput. 8, 165\u2013414 (1994)"},{"key":"37_CR20","doi-asserted-by":"crossref","unstructured":"Olofsson, A., Nordstr\u00f6m, T., Ul-Abdin, Z.: Kickstarting high-performance energy-efficient manycore architectures with Epiphany. In: Proceedings of IEEE ACSSC, pp. 1719\u20131726 (2014)","DOI":"10.1109\/ACSSC.2014.7094761"},{"issue":"4","key":"37_CR21","doi-asserted-by":"publisher","first-page":"361","DOI":"10.1016\/0743-7315(92)90075-X","volume":"14","author":"H Shi","year":"1992","unstructured":"Shi, H., Schaeffer, J.: Parallel sorting by regular sampling. J. Parallel Distrib. Comput. 14(4), 361\u2013372 (1992)","journal-title":"J. Parallel Distrib. Comput."},{"key":"37_CR22","doi-asserted-by":"crossref","unstructured":"Hill, J.M.D., Donaldson, S.R., Skillicorn, D.B.: Portability of performance with the BSPLib communications library. In: Proceedings of MPPM, p. 33 (1997)","DOI":"10.1109\/MPPM.1997.715959"},{"issue":"Suppl. C","key":"37_CR23","doi-asserted-by":"publisher","first-page":"90","DOI":"10.1016\/j.parco.2014.12.002","volume":"41","author":"AV Gerbessiotis","year":"2015","unstructured":"Gerbessiotis, A.V.: Extending the BSP model for multi-core and out-of-core computing: MBSP. Parallel Comput. 41(Suppl. C), 90\u2013102 (2015)","journal-title":"Parallel Comput."},{"issue":"14","key":"37_CR24","doi-asserted-by":"publisher","first-page":"1847","DOI":"10.1016\/S0167-8191(01)00118-1","volume":"27","author":"MA Inda","year":"2001","unstructured":"Inda, M.A., Bisseling, R.H.: A simple and efficient parallel FFT algorithm using the BSP model. Parallel Comput. 27(14), 1847\u20131878 (2001)","journal-title":"Parallel Comput."},{"key":"37_CR25","doi-asserted-by":"publisher","DOI":"10.1093\/acprof:oso\/9780198529392.001.0001","volume-title":"Parallel Scientific Computation: A Structured Approach using BSP and MPI","author":"RH Bisseling","year":"2004","unstructured":"Bisseling, R.H.: Parallel Scientific Computation: A Structured Approach using BSP and MPI. Oxford University Press, Oxford (2004)"},{"key":"37_CR26","doi-asserted-by":"crossref","unstructured":"Frigo, M., Johnson, S.G.: FFTW: an adaptive software architecture for the FFT. In: Proceedings of IEEE ICASSP, pp. 1381\u20131384 (1998)","DOI":"10.1109\/ICASSP.1998.681704"}],"container-title":["Lecture Notes in Computer Science","Euro-Par 2018: Parallel Processing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-96983-1_37","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,6]],"date-time":"2025-07-06T04:04:55Z","timestamp":1751774695000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-96983-1_37"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319969824","9783319969831"],"references-count":26,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-96983-1_37","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"1 August 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"Euro-Par","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Conference on Parallel Processing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Turin","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Italy","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"27 August 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"31 August 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"europar2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/europar2018.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}