{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,27]],"date-time":"2026-09-27T23:33:32Z","timestamp":1790552012159,"version":"4.1.0"},"reference-count":36,"publisher":"Springer Science and Business Media LLC","issue":"5-6","license":[{"start":{"date-parts":[[2022,10,29]],"date-time":"2022-10-29T00:00:00Z","timestamp":1667001600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,10,29]],"date-time":"2022-10-29T00:00:00Z","timestamp":1667001600000},"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":["Int J Parallel Prog"],"published-print":{"date-parts":[[2022,12]]},"DOI":"10.1007\/s10766-022-00737-2","type":"journal-article","created":{"date-parts":[[2022,10,29]],"date-time":"2022-10-29T15:04:06Z","timestamp":1667055846000},"page":"454-485","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":9,"title":["DSParLib: A C++ Template Library for Distributed Stream Parallelism"],"prefix":"10.1007","volume":"50","author":[{"given":"J\u00fanior","family":"L\u00f6ff","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Renato B.","family":"Hoffmann","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ricardo","family":"Pieper","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4690-3964","authenticated-orcid":false,"given":"Dalvan","family":"Griebler","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Luiz G.","family":"Fernandes","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2022,10,29]]},"reference":[{"key":"737_CR1","doi-asserted-by":"crossref","unstructured":"Aldinucci, M., Campa, S., Danelutto, M., Kilpatrick, P., Torquati, M.: Targeting Distributed Systems in Fastflow. In: Proceedings of the 18th International Conference on Parallel Processing Workshops, Euro-Par\u201912, pp. 47\u201356. Springer, Berlin (2013)","DOI":"10.1007\/978-3-642-36949-0_7"},{"key":"737_CR2","doi-asserted-by":"crossref","unstructured":"Aldinucci, M., Danelutto, M., Kilpatrick, P., Torquati, M.: Fastflow: High-Level and Efficient Streaming on Multicore, chapter\u00a013, pp. 261\u2013280. Wiley (2017)","DOI":"10.1002\/9781119332015.ch13"},{"issue":"8","key":"737_CR3","doi-asserted-by":"publisher","first-page":"901","DOI":"10.14778\/3090163.3090168","volume":"10","author":"M Anderson","year":"2017","unstructured":"Anderson, M., Smith, S., Sundaram, N., Capot\u0103, M., Zhao, Z., Dulloor, S., Satish, N., Willke, T.L.: Bridging the gap between HPC and big data frameworks. Proc. VLDB Endow. 10(8), 901\u2013912 (2017)","journal-title":"Proc. VLDB Endow."},{"key":"737_CR4","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139058940","volume-title":"Fundamentals of Stream Processing: Application Design, Systems, and Analytics","author":"HCM Andrade","year":"2014","unstructured":"Andrade, H.C.M., Gedik, B., Turaga, D.S.: Fundamentals of Stream Processing: Application Design, Systems, and Analytics, 1st edn. Cambridge University Press, New York (2014)","edition":"1"},{"key":"737_CR5","unstructured":"Apache Storm.: Apache Storm. https:\/\/storm.apache.org, July 2019. Accessed 16 May 2021"},{"key":"737_CR6","doi-asserted-by":"crossref","unstructured":"Bienia, C., Kumar, S., Singh, J. P., Li, K.: The PARSEC benchmark suite: characterization and architectural implications. In: 17th International Conference on Parallel Architectures and Compilation Techniques, PACT \u201908, pp 72\u201381. ACM, Toronto (2008)","DOI":"10.1145\/1454115.1454128"},{"key":"737_CR7","doi-asserted-by":"crossref","unstructured":"Bingmann, T., Axtmann, M., J\u00f6bstl, E., Lamm, S., Nguyen, H. C., Noe, A., Schlag, S., Stumpp, M., Sturm, T., Sanders, P.: Thrill: high-performance algorithmic distributed batch data processing with C++. In: 2016 IEEE International Conference on Big Data (Big Data), pp. 172\u2013183 (2016)","DOI":"10.1109\/BigData.2016.7840603"},{"key":"737_CR8","unstructured":"Boost committee: Boost C++ library: Serialization. https:\/\/www.boost.org\/doc\/libs\/1_79_0\/libs\/serialization\/doc\/index.html (2004)"},{"key":"737_CR9","first-page":"28","volume":"38","author":"P Carbone","year":"2015","unstructured":"Carbone, P., Katsifodimos, A., Ewen, S., Markl, V., Haridi, S., Tzoumas, K.: Apache Flink$$^{\\rm TM}$$: stream and batch processing in a single engine. IEEE Data Eng. Bull. 38, 28\u201338 (2015)","journal-title":"IEEE Data Eng. Bull."},{"key":"737_CR10","volume-title":"Algorithmic Skeletons: Structured Management of Parallel Computation","author":"M Cole","year":"1989","unstructured":"Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. University of Glasgow, Glasgow (1989)"},{"issue":"3","key":"737_CR11","doi-asserted-by":"publisher","first-page":"389","DOI":"10.1016\/j.parco.2003.12.002","volume":"30","author":"M Cole","year":"2004","unstructured":"Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Paral. Comput. 30(3), 389\u2013406 (2004)","journal-title":"Paral. Comput."},{"issue":"24","key":"737_CR12","first-page":"1","volume":"29","author":"D del Rio Astorga","year":"2017","unstructured":"del Rio Astorga, D., Dolz, M.F., Fern\u00e1ndez, J., Garc\u00eda, J.D.: A generic parallel pattern interface for stream and data processing. Concurr. Comput.: Pract. Exp. 29(24), 1\u201312 (2017)","journal-title":"Concurr. Comput.: Pract. Exp."},{"key":"737_CR13","doi-asserted-by":"publisher","first-page":"968","DOI":"10.1007\/s10766-013-0269-2","volume":"42","author":"S Ernsting","year":"2013","unstructured":"Ernsting, S., Kuchen, H.: A scalable farm skeleton for hybrid parallel and distributed programming. Int. J. Parallel Program. 42, 968\u2013987 (2013)","journal-title":"Int. J. Parallel Program."},{"issue":"7","key":"737_CR14","doi-asserted-by":"publisher","first-page":"604","DOI":"10.1016\/j.parco.2006.06.001","volume":"32","author":"J Falcou","year":"2006","unstructured":"Falcou, J., S\u00e9rot, J., Chateau, T., Laprest\u00e9, J.: Quaff: efficient C++ design for parallel skeletons. Parallel Comput. 32(7), 604\u2013615 (2006). (Algorithmic Skeletons)","journal-title":"Parallel Comput."},{"issue":"12","key":"737_CR15","first-page":"1135","volume":"40","author":"H Gonz\u00e1lez-V\u00e9lez","year":"2010","unstructured":"Gonz\u00e1lez-V\u00e9lez, H., Leyton, M.: A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Softw.: Pract. Exp. 40(12), 1135\u20131160 (2010)","journal-title":"Softw.: Pract. Exp."},{"key":"737_CR16","unstructured":"Grant, W. S., Voorhies, R.: Cereal\u2014a C++11 library for serialization. https:\/\/github.com\/USCiLab\/cereal, 2017"},{"key":"737_CR17","unstructured":"Griebler, D.: Domain-specific language & support tool for high-level stream parallelism. PhD thesis, Faculdade de Inform\u00e1tica\u2014PPGCC - PUCRS, Porto Alegre, Brazil (2016)"},{"key":"737_CR18","unstructured":"Griebler, D., Danelutto, M., Torquati, M., Fernandes, L. G.: An Embedded C++ domain-specific language for stream parallelism. In: Parallel Computing: On the Road to Exascale, Proceedings of the International Conference on Parallel Computing, ParCo\u201915, pp. 317\u2013326. IOS Press, Edinburgh (2015)"},{"issue":"01","key":"737_CR19","doi-asserted-by":"publisher","first-page":"1740005","DOI":"10.1142\/S0129626417400059","volume":"27","author":"D Griebler","year":"2017","unstructured":"Griebler, D., Danelutto, M., Torquati, M., Fernandes, L.G.: SPar: a DSL for high-level and productive stream parallelism. Parallel Process. Lett. 27(01), 1740005 (2017)","journal-title":"Parallel Process. Lett."},{"key":"737_CR20","unstructured":"Griebler, D., Fernandes, L. G.: Towards Distributed Parallel Programming Support for the SPar DSL. In: Proceedings of the International Conference on Parallel Computing, ParCo\u201917, pp. 563\u2013572. IOS Press, Bologna (2017)"},{"key":"737_CR21","unstructured":"Griebler, D., Hoffmann, R. B., Danelutto, M., Fernandes, L. G.: Higher-level parallelism abstractions for video applications with SPar. In: Proceedings of the International Conference on Parallel Computing, ParCo\u201917, pp. 698\u2013707. IOS Press, Bologna (2017)"},{"issue":"1","key":"737_CR22","first-page":"253","volume":"47","author":"D Griebler","year":"2018","unstructured":"Griebler, D., Hoffmann, R.B., Danelutto, M., Fernandes, L.G.: High-Level and Productive Stream Parallelism for Dedup, Ferret, and Bzip2. Int. J. Parallel Program. 47(1), 253\u2013271 (2018)","journal-title":"Int. J. Parallel Program."},{"issue":"8","key":"737_CR23","doi-asserted-by":"publisher","first-page":"4042","DOI":"10.1007\/s11227-018-2482-7","volume":"75","author":"D Griebler","year":"2018","unstructured":"Griebler, D., Hoffmann, R.B., Danelutto, M., Fernandes, L.G.: Stream Parallelism with Ordered Data Constraints on Multi-Core Systems. J. Supercomput. 75(8), 4042\u20134061 (2018)","journal-title":"J. Supercomput."},{"key":"737_CR24","doi-asserted-by":"publisher","first-page":"24","DOI":"10.1016\/j.parco.2019.03.004","volume":"84","author":"J L\u00f3pez-G\u00f3mez","year":"2019","unstructured":"L\u00f3pez-G\u00f3mez, J., Fern\u00e1ndez Mu\u00f1oz, J., del Rio Astorga, D., Dolz, M.F., Garcia, J.D.: Exploring stream parallel patterns in distributed MPI environments. Parallel Comput. 84, 24\u201336 (2019)","journal-title":"Parallel Comput."},{"key":"737_CR25","doi-asserted-by":"crossref","unstructured":"Mancini, E.P., Marsh, G., Panda, D.K. An MPI-stream hybrid programming model for computational clusters. In 2010 10th IEEE\/ACM International Conference on Cluster, Cloud and Grid Computing, pp. 323\u2013330 (2010)","DOI":"10.1109\/CCGRID.2010.33"},{"key":"737_CR26","unstructured":"Mattson, T., Sanders, B., Massingill, B.: Patterns for Parallel Programming, 1st edn. Addison-Wesley Professional (2004)"},{"key":"737_CR27","volume-title":"Structured Parallel Programming: Patterns for Efficient Computation","author":"M McCool","year":"2012","unstructured":"McCool, M., Robison, A.D., Reinders, J.: Structured Parallel Programming: Patterns for Efficient Computation. Elsevier, Waltham, MA (2012)"},{"key":"737_CR28","doi-asserted-by":"crossref","unstructured":"Mu\u00f1oz, J. F., Dolz, M. F., del Rio\u00a0Astorga, D., Cepeda, J. P., Garc\u00eda, J. D.: Supporting MPI-distributed stream parallel patterns in GrPPI. In: Proceedings of the 25th European MPI users\u2019 group meeting, EuroMPI\u201918, pp. 17:1\u201310. ACM, New York (2018)","DOI":"10.1145\/3236367.3236380"},{"key":"737_CR29","unstructured":"Peng, I. B., Markidis, S., Gioiosa, R., Kestor, G., Laure, E.: MPI streams for HPC applications. In: New Frontiers in High Performance Computing and Big Data, number\u00a030 in Advances in Parallel Computing, pp. 75\u201392 (2017)"},{"key":"737_CR30","doi-asserted-by":"crossref","unstructured":"Peng, I. B., Markidis, S., Laure, E., Holmes, D., Bull, M.: A data streaming model in MPI. In Proceedings of the 3rd Workshop on Exascale MPI, ExaMPI \u201915. Association for Computing Machinery, New York (2015)","DOI":"10.1145\/2831129.2831131"},{"key":"737_CR31","doi-asserted-by":"crossref","unstructured":"Pieper, R., Griebler, D., Fernandes, L. G.: Structured stream parallelism for rust. In: 23rd Brazilian Symposium on Programming Languages (SBLP), SBLP\u201919, pp. 54\u201361. ACM, Salvador (2019)","DOI":"10.1145\/3355378.3355384"},{"key":"737_CR32","doi-asserted-by":"publisher","DOI":"10.1016\/j.cola.2021.101054","volume":"65","author":"R Pieper","year":"2021","unstructured":"Pieper, R., L\u00f6ff, J., Hoffmann, R.B., Griebler, D., Fernandes, L.G.: High-level and efficient structured stream parallelism for rust on multi-cores. J. Comput. Lang. 65, 101054 (2021)","journal-title":"J. Comput. Lang."},{"key":"737_CR33","unstructured":"Rayon: Rayon\u2014Rust. https:\/\/docs.rs\/rayon\/1.4.0\/rayon\/, September 2020. Accessed 16 May 2021"},{"key":"737_CR34","volume-title":"Intel Threading Building Blocks","author":"J Reinders","year":"2007","unstructured":"Reinders, J.: Intel Threading Building Blocks, 1st edn. O\u2019Reilly & Associates Inc, Sebastopol (2007)","edition":"1"},{"key":"737_CR35","doi-asserted-by":"crossref","unstructured":"Vogel, A., Rista, C., Justo, G., Ewald, E., Griebler, D., Mencagli, G., Fernandes, L.G.: Parallel stream processing with MPI for video analytics and data visualization. In: High Performance Computing Systems, volume 1171 of Communications in Computer and Information Science (CCIS), pp. 102\u2013116. Springer, Cham (2020)","DOI":"10.1007\/978-3-030-41050-6_7"},{"key":"737_CR36","doi-asserted-by":"crossref","unstructured":"Wagner, A., Rostoker, C.: A lightweight stream-processing library using MPI. In: 2009 IEEE International Symposium on Parallel Distributed Processing, pp. 1\u20138 (2009)","DOI":"10.1109\/IPDPS.2009.5160944"}],"container-title":["International Journal of Parallel Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-022-00737-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10766-022-00737-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-022-00737-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,11,21]],"date-time":"2022-11-21T21:39:03Z","timestamp":1669066743000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10766-022-00737-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,10,29]]},"references-count":36,"journal-issue":{"issue":"5-6","published-print":{"date-parts":[[2022,12]]}},"alternative-id":["737"],"URL":"https:\/\/doi.org\/10.1007\/s10766-022-00737-2","relation":{},"ISSN":["0885-7458","1573-7640"],"issn-type":[{"value":"0885-7458","type":"print"},{"value":"1573-7640","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,10,29]]},"assertion":[{"value":"5 October 2021","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"19 September 2022","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"29 October 2022","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}