DSParLib: A C++ Template Library for Distributed Stream Parallelism
Stream processing applications deal with millions of data items continuously generated over time. Often, they must be processed in real-time and scale performance, which requires the use of distributed parallel computing resources. In C/C++, the current state-of-the-art for distributed architectures...
Gespeichert in:
| Veröffentlicht in: | International journal of parallel programming Jg. 50; H. 5-6; S. 454 - 485 |
|---|---|
| Hauptverfasser: | , , , , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
New York
Springer US
01.12.2022
Springer Nature B.V |
| Schlagworte: | |
| ISSN: | 0885-7458, 1573-7640 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | Stream processing applications deal with millions of data items continuously generated over time. Often, they must be processed in real-time and scale performance, which requires the use of distributed parallel computing resources. In C/C++, the current state-of-the-art for distributed architectures and High-Performance Computing is Message Passing Interface (MPI). However, exploiting stream parallelism using MPI is complex and error-prone because it exposes many low-level details to the programmer. In this work, we introduce a new parallel programming abstraction for implementing distributed stream parallelism named DSParLib. Our abstraction of MPI simplifies parallel programming by providing a pattern-based and building block-oriented development to inter-connect, model, and parallelize data streams found in modern applications. Experiments conducted with five different stream processing applications and the representative PARSEC Ferret benchmark revealed that DSParLib is efficient and flexible. Also, DSParLib achieved similar or better performance, required less coding, and provided simpler abstractions to express parallelism with respect to handwritten MPI programs. |
|---|---|
| AbstractList | Stream processing applications deal with millions of data items continuously generated over time. Often, they must be processed in real-time and scale performance, which requires the use of distributed parallel computing resources. In C/C++, the current state-of-the-art for distributed architectures and High-Performance Computing is Message Passing Interface (MPI). However, exploiting stream parallelism using MPI is complex and error-prone because it exposes many low-level details to the programmer. In this work, we introduce a new parallel programming abstraction for implementing distributed stream parallelism named DSParLib. Our abstraction of MPI simplifies parallel programming by providing a pattern-based and building block-oriented development to inter-connect, model, and parallelize data streams found in modern applications. Experiments conducted with five different stream processing applications and the representative PARSEC Ferret benchmark revealed that DSParLib is efficient and flexible. Also, DSParLib achieved similar or better performance, required less coding, and provided simpler abstractions to express parallelism with respect to handwritten MPI programs. |
| Author | Pieper, Ricardo Löff, Júnior Hoffmann, Renato B. Griebler, Dalvan Fernandes, Luiz G. |
| Author_xml | – sequence: 1 givenname: Júnior surname: Löff fullname: Löff, Júnior organization: School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS) – sequence: 2 givenname: Renato B. surname: Hoffmann fullname: Hoffmann, Renato B. organization: School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS) – sequence: 3 givenname: Ricardo surname: Pieper fullname: Pieper, Ricardo organization: School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS) – sequence: 4 givenname: Dalvan orcidid: 0000-0002-4690-3964 surname: Griebler fullname: Griebler, Dalvan email: dalvan.griebler@pucrs.br organization: School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Laboratory of Advanced Research on Cloud Computing (LARCC), Três de Maio Faculty (SETREM) – sequence: 5 givenname: Luiz G. surname: Fernandes fullname: Fernandes, Luiz G. organization: School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS) |
| BookMark | eNp9kE1LAzEQhoNUsFb_gKeAx7I6STYf9Va2fkFBofUcstmsbNmPmqQH_73RFQQPPQ0zvM_M8JyjST_0DqErAjcEQN4GAlKIDCjNUstkRk_QlHDJMilymKApKMUzmXN1hs5D2AHAQio1RcVq82r8uinv8BIX8zneum7fmuhwmnnjP3E9eLxqQvRNeYiuwpvonelwokzburYJ3QU6rU0b3OVvnaG3h_tt8ZStXx6fi-U6s0TkNBOlLUVd8bxiHJTjljJRcmVMnZeWL0BSailh4HgpKimhBmmJE8YubE1LJdkMXY979374OLgQ9W44-D6d1FQyxYBJylJKjSnrhxC8q7VtoonN0EdvmlYT0N_K9KhMJ2X6R5mmCaX_0L1vuiThOMRGKKRw_-7831dHqC-vCX5T |
| CitedBy_id | crossref_primary_10_1007_s11227_023_05883_z |
| Cites_doi | 10.1002/9781119332015.ch13 10.1109/IPDPS.2009.5160944 10.1109/BigData.2016.7840603 10.1016/j.cola.2021.101054 10.1145/3236367.3236380 10.1145/1454115.1454128 10.1145/3355378.3355384 10.1017/CBO9781139058940 10.1016/j.parco.2019.03.004 10.1016/j.parco.2006.06.001 10.1007/s11227-018-2482-7 10.1007/978-3-030-41050-6_7 10.1007/s10766-013-0269-2 10.1109/CCGRID.2010.33 10.14778/3090163.3090168 10.1016/j.parco.2003.12.002 10.1142/S0129626417400059 10.1007/978-3-642-36949-0_7 10.1145/2831129.2831131 |
| ContentType | Journal Article |
| Copyright | The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2022. Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law. |
| Copyright_xml | – notice: The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2022. Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law. |
| DBID | AAYXX CITATION 3V. 7SC 7WY 7WZ 7XB 87Z 8AL 8FD 8FE 8FG 8FK 8FL 8G5 ABUWG AFKRA ARAPS AZQEC BENPR BEZIV BGLVJ CCPQU DWQXO FRNLG F~G GNUQQ GUQSH HCIFZ JQ2 K60 K6~ K7- L.- L7M L~C L~D M0C M0N M2O MBDVC P5Z P62 PHGZM PHGZT PKEHL PQBIZ PQBZA PQEST PQGLB PQQKQ PQUKI Q9U |
| DOI | 10.1007/s10766-022-00737-2 |
| DatabaseName | CrossRef ProQuest Central (Corporate) Computer and Information Systems Abstracts ABI/INFORM Collection ABI/INFORM Global (PDF only) ProQuest Central (purchase pre-March 2016) ABI/INFORM Collection Computing Database (Alumni Edition) Technology Research Database ProQuest SciTech Collection ProQuest Technology Collection ProQuest Central (Alumni) (purchase pre-March 2016) ABI/INFORM Collection (Alumni) Research Library (Alumni) ProQuest Central (Alumni) ProQuest Central UK/Ireland Advanced Technologies & Computer Science Collection ProQuest Central Essentials - QC ProQuest Central Database Suite (ProQuest) Business Premium Collection ProQuest Technology Collection ProQuest One ProQuest Central Korea Business Premium Collection (Alumni) ABI/INFORM Global (Corporate) ProQuest Central Student ProQuest Research Library SciTech Collection (ProQuest) ProQuest Computer Science Collection ProQuest Business Collection (Alumni Edition) ProQuest Business Collection Computer Science Database (ProQuest) ABI/INFORM Professional Advanced Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional ABI/INFORM Collection (ProQuest) Computing Database Research Library (ProQuest) Research Library (Corporate) Advanced Technologies & Aerospace Database ProQuest Advanced Technologies & Aerospace Collection Proquest Central Premium ProQuest One Academic (New) ProQuest One Academic Middle East (New) ProQuest One Business ProQuest One Business (Alumni) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic (retired) ProQuest One Academic UKI Edition ProQuest Central Basic |
| DatabaseTitle | CrossRef ABI/INFORM Global (Corporate) ProQuest Business Collection (Alumni Edition) ProQuest One Business Research Library Prep Computer Science Database ProQuest Central Student Technology Collection Technology Research Database Computer and Information Systems Abstracts – Academic ProQuest One Academic Middle East (New) ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Computer Science Collection Computer and Information Systems Abstracts ProQuest Central (Alumni Edition) SciTech Premium Collection ProQuest One Community College Research Library (Alumni Edition) ABI/INFORM Complete ProQuest Central ABI/INFORM Professional Advanced ProQuest One Applied & Life Sciences ProQuest Central Korea ProQuest Research Library ProQuest Central (New) Advanced Technologies Database with Aerospace ABI/INFORM Complete (Alumni Edition) Advanced Technologies & Aerospace Collection Business Premium Collection ABI/INFORM Global ProQuest Computing ABI/INFORM Global (Alumni Edition) ProQuest Central Basic ProQuest Computing (Alumni Edition) ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest SciTech Collection ProQuest Business Collection Computer and Information Systems Abstracts Professional Advanced Technologies & Aerospace Database ProQuest One Academic UKI Edition ProQuest One Business (Alumni) ProQuest One Academic ProQuest One Academic (New) ProQuest Central (Alumni) Business Premium Collection (Alumni) |
| DatabaseTitleList | ABI/INFORM Global (Corporate) |
| Database_xml | – sequence: 1 dbid: BENPR name: ProQuest Central url: https://www.proquest.com/central sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1573-7640 |
| EndPage | 485 |
| ExternalDocumentID | 10_1007_s10766_022_00737_2 |
| GroupedDBID | -4Z -59 -5G -BR -EM -Y2 -~C -~X .4S .86 .DC .VR 06D 0R~ 0VY 199 1N0 2.D 203 28- 29J 2J2 2JN 2JY 2KG 2LR 2P1 2VQ 2~H 30V 3V. 4.4 406 408 409 40D 40E 5GY 5QI 5VS 67Z 6NX 78A 7WY 8FE 8FG 8FL 8G5 8TC 8UJ 95- 95. 95~ 96X AAAVM AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AAOBN AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYJJ AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDBF ABDPE ABDZT ABECU ABFSI ABFTD ABFTV ABHLI ABHQN ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTAH ABTEG ABTHY ABTKH ABTMW ABULA ABUWG ABWNU ABXPI ACAOD ACBXY ACDTI ACGFO ACGFS ACHSB ACHXU ACIHN ACKNC ACMDZ ACMLO ACNCT ACOKC ACOMO ACPIV ACREN ACUHS ACZOJ ADHIR ADINQ ADKNI ADKPE ADMLS ADRFC ADTPH ADURQ ADYFF ADYOE ADZKW AEAQA AEBTG AEFIE AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AENEX AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFEXP AFGCZ AFKRA AFLOW AFQWF AFWTZ AFYQB AFZKB AGAYW AGDGC AGGDS AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMTXH AMXSW AMYLF AOCGG ARAPS ARCSS ARMRJ AXYYD AYJHY AZFZN AZQEC B-. B0M BA0 BBWZM BDATZ BENPR BEZIV BGLVJ BGNMA BKOMP BPHCQ BSONS CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 DWQXO E.L EAD EAP EAS EBLON EBS EDO EIOEI EJD EMK EPL ESBYG ESX FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRNLG FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNUQQ GNWQR GQ6 GQ7 GQ8 GROUPED_ABI_INFORM_COMPLETE GROUPED_ABI_INFORM_RESEARCH GUQSH GXS H13 HCIFZ HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ H~9 I-F I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JZLTJ K60 K6V K6~ K7- KDC KOV KOW LAK LLZTM M0C M0N M2O M4Y MA- MS~ N2Q NB0 NDZJH NPVJJ NQJWS NU0 O9- O93 O9G O9I O9J OAM OVD P19 P62 P9O PF0 PQBIZ PQBZA PQQKQ PROAC PT4 PT5 Q2X QOK QOS R89 R9I RHV RNI RNS ROL RPX RSV RZC RZE RZK S16 S1Z S26 S27 S28 S3B SAP SCJ SCLPG SCO SDH SDM SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 T16 TAE TEORI TN5 TSG TSK TSV TUC TUS U2A U5U UG4 UOJIU UTJUX UZXMN VC2 VFIZW VXZ W23 W48 WH7 WK8 YLTOR Z45 Z7R Z7X Z81 Z83 Z88 Z8R Z8W Z92 ZMTXR ZY4 ~8M ~EX AAPKM AAYXX ABBRH ABDBE ABFSG ABRTQ ACSTC ADHKG AEZWR AFDZB AFFHD AFHIU AFOHR AGQPQ AHPBZ AHWEU AIXLP ATHPR AYFIA CITATION PHGZM PHGZT PQGLB 7SC 7XB 8AL 8FD 8FK JQ2 L.- L7M L~C L~D MBDVC PKEHL PQEST PQUKI Q9U |
| ID | FETCH-LOGICAL-c1642-6bcb6fd54d3508e5c236b58aaf4bc590722c2130e5b6d770f07c1e6ac9cf2b873 |
| IEDL.DBID | RSV |
| ISSN | 0885-7458 |
| IngestDate | Wed Nov 05 08:28:35 EST 2025 Tue Nov 18 21:59:34 EST 2025 Sat Nov 29 01:59:46 EST 2025 Fri Feb 21 02:44:23 EST 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 5-6 |
| Keywords | Stream processing Parallel programming Distributed systems Parallel patterns MPI |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c1642-6bcb6fd54d3508e5c236b58aaf4bc590722c2130e5b6d770f07c1e6ac9cf2b873 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0002-4690-3964 |
| PQID | 2738303723 |
| PQPubID | 48389 |
| PageCount | 32 |
| ParticipantIDs | proquest_journals_2738303723 crossref_citationtrail_10_1007_s10766_022_00737_2 crossref_primary_10_1007_s10766_022_00737_2 springer_journals_10_1007_s10766_022_00737_2 |
| PublicationCentury | 2000 |
| PublicationDate | 20221200 2022-12-00 20221201 |
| PublicationDateYYYYMMDD | 2022-12-01 |
| PublicationDate_xml | – month: 12 year: 2022 text: 20221200 |
| PublicationDecade | 2020 |
| PublicationPlace | New York |
| PublicationPlace_xml | – name: New York |
| PublicationTitle | International journal of parallel programming |
| PublicationTitleAbbrev | Int J Parallel Prog |
| PublicationYear | 2022 |
| Publisher | Springer US Springer Nature B.V |
| Publisher_xml | – name: Springer US – name: Springer Nature B.V |
| References | Griebler, D.: Domain-specific language & support tool for high-level stream parallelism. PhD thesis, Faculdade de Informática—PPGCC - PUCRS, Porto Alegre, Brazil (2016) GrieblerDHoffmannRBDaneluttoMFernandesLGStream Parallelism with Ordered Data Constraints on Multi-Core SystemsJ. Supercomput.20187584042406110.1007/s11227-018-2482-7 Bingmann, T., Axtmann, M., Jöbstl, 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–183 (2016) Boost committee: Boost C++ library: Serialization. https://www.boost.org/doc/libs/1_79_0/libs/serialization/doc/index.html (2004) PieperRLöffJHoffmannRBGrieblerDFernandesLGHigh-level and efficient structured stream parallelism for rust on multi-coresJ. Comput. Lang.20216510.1016/j.cola.2021.101054 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 ’15. Association for Computing Machinery, New York (2015) CarbonePKatsifodimosAEwenSMarklVHaridiSTzoumasKApache FlinkTM\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\rm TM}$$\end{document}: stream and batch processing in a single engineIEEE Data Eng. Bull.2015382838 ColeMBringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programmingParal. Comput.200430338940610.1016/j.parco.2003.12.002 GrieblerDDaneluttoMTorquatiMFernandesLGSPar: a DSL for high-level and productive stream parallelismParallel Process. Lett.201727011740005362134510.1142/S0129626417400059 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–330 (2010) 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 30 in Advances in Parallel Computing, pp. 75–92 (2017) 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 ’08, pp 72–81. ACM, Toronto (2008) Wagner, A., Rostoker, C.: A lightweight stream-processing library using MPI. In: 2009 IEEE International Symposium on Parallel Distributed Processing, pp. 1–8 (2009) Mattson, T., Sanders, B., Massingill, B.: Patterns for Parallel Programming, 1st edn. Addison-Wesley Professional (2004) Muñoz, J. F., Dolz, M. F., del Rio Astorga, D., Cepeda, J. P., García, J. D.: Supporting MPI-distributed stream parallel patterns in GrPPI. In: Proceedings of the 25th European MPI users’ group meeting, EuroMPI’18, pp. 17:1–10. ACM, New York (2018) 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–116. Springer, Cham (2020) FalcouJSérotJChateauTLaprestéJQuaff: efficient C++ design for parallel skeletonsParallel Comput.200632760461510.1016/j.parco.2006.06.001Algorithmic Skeletons López-GómezJFernández MuñozJdel Rio AstorgaDDolzMFGarciaJDExploring stream parallel patterns in distributed MPI environmentsParallel Comput.201984243610.1016/j.parco.2019.03.004 Griebler, D., Fernandes, L. G.: Towards Distributed Parallel Programming Support for the SPar DSL. In: Proceedings of the International Conference on Parallel Computing, ParCo’17, pp. 563–572. IOS Press, Bologna (2017) Pieper, R., Griebler, D., Fernandes, L. G.: Structured stream parallelism for rust. In: 23rd Brazilian Symposium on Programming Languages (SBLP), SBLP’19, pp. 54–61. ACM, Salvador (2019) 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’12, pp. 47–56. Springer, Berlin (2013) Aldinucci, M., Danelutto, M., Kilpatrick, P., Torquati, M.: Fastflow: High-Level and Efficient Streaming on Multicore, chapter 13, pp. 261–280. Wiley (2017) ErnstingSKuchenHA scalable farm skeleton for hybrid parallel and distributed programmingInt. J. Parallel Program.20134296898710.1007/s10766-013-0269-2 ColeMAlgorithmic Skeletons: Structured Management of Parallel Computation1989GlasgowUniversity of Glasgow0681.68041 Rayon: Rayon—Rust. https://docs.rs/rayon/1.4.0/rayon/, September 2020. Accessed 16 May 2021 McCoolMRobisonADReindersJStructured Parallel Programming: Patterns for Efficient Computation2012Waltham, MAElsevier AndersonMSmithSSundaramNCapotăMZhaoZDulloorSSatishNWillkeTLBridging the gap between HPC and big data frameworksProc. VLDB Endow.201710890191210.14778/3090163.3090168 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’15, pp. 317–326. IOS Press, Edinburgh (2015) AndradeHCMGedikBTuragaDSFundamentals of Stream Processing: Application Design, Systems, and Analytics20141New YorkCambridge University Press10.1017/CBO9781139058940 Apache Storm.: Apache Storm. https://storm.apache.org, July 2019. Accessed 16 May 2021 GrieblerDHoffmannRBDaneluttoMFernandesLGHigh-Level and Productive Stream Parallelism for Dedup, Ferret, and Bzip2Int. J. Parallel Program.2018471253271 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’17, pp. 698–707. IOS Press, Bologna (2017) Grant, W. S., Voorhies, R.: Cereal—a C++11 library for serialization. https://github.com/USCiLab/cereal, 2017 ReindersJIntel Threading Building Blocks20071SebastopolO’Reilly & Associates Inc González-VélezHLeytonMA survey of algorithmic skeleton frameworks: high-level structured parallel programming enablersSoftw.: Pract. Exp.2010401211351160 del Rio AstorgaDDolzMFFernándezJGarcíaJDA generic parallel pattern interface for stream and data processingConcurr. Comput.: Pract. Exp.20172924112 737_CR33 H González-Vélez (737_CR15) 2010; 40 737_CR31 737_CR30 737_CR36 737_CR35 737_CR18 737_CR17 737_CR16 S Ernsting (737_CR13) 2013; 42 M McCool (737_CR27) 2012 737_CR2 737_CR1 P Carbone (737_CR9) 2015; 38 M Cole (737_CR10) 1989 HCM Andrade (737_CR4) 2014 737_CR21 737_CR20 737_CR26 737_CR25 R Pieper (737_CR32) 2021; 65 737_CR29 737_CR28 D Griebler (737_CR22) 2018; 47 D Griebler (737_CR23) 2018; 75 M Cole (737_CR11) 2004; 30 J Falcou (737_CR14) 2006; 32 J Reinders (737_CR34) 2007 737_CR6 737_CR5 737_CR8 D Griebler (737_CR19) 2017; 27 737_CR7 M Anderson (737_CR3) 2017; 10 D del Rio Astorga (737_CR12) 2017; 29 J López-Gómez (737_CR24) 2019; 84 |
| References_xml | – reference: ErnstingSKuchenHA scalable farm skeleton for hybrid parallel and distributed programmingInt. J. Parallel Program.20134296898710.1007/s10766-013-0269-2 – reference: GrieblerDHoffmannRBDaneluttoMFernandesLGStream Parallelism with Ordered Data Constraints on Multi-Core SystemsJ. Supercomput.20187584042406110.1007/s11227-018-2482-7 – reference: del Rio AstorgaDDolzMFFernándezJGarcíaJDA generic parallel pattern interface for stream and data processingConcurr. Comput.: Pract. Exp.20172924112 – reference: 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–116. Springer, Cham (2020) – reference: ReindersJIntel Threading Building Blocks20071SebastopolO’Reilly & Associates Inc – reference: Apache Storm.: Apache Storm. https://storm.apache.org, July 2019. Accessed 16 May 2021 – reference: Griebler, D.: Domain-specific language & support tool for high-level stream parallelism. PhD thesis, Faculdade de Informática—PPGCC - PUCRS, Porto Alegre, Brazil (2016) – reference: Griebler, D., Fernandes, L. G.: Towards Distributed Parallel Programming Support for the SPar DSL. In: Proceedings of the International Conference on Parallel Computing, ParCo’17, pp. 563–572. IOS Press, Bologna (2017) – reference: Mattson, T., Sanders, B., Massingill, B.: Patterns for Parallel Programming, 1st edn. Addison-Wesley Professional (2004) – reference: ColeMBringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programmingParal. Comput.200430338940610.1016/j.parco.2003.12.002 – reference: Grant, W. S., Voorhies, R.: Cereal—a C++11 library for serialization. https://github.com/USCiLab/cereal, 2017 – reference: 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 ’15. Association for Computing Machinery, New York (2015) – reference: González-VélezHLeytonMA survey of algorithmic skeleton frameworks: high-level structured parallel programming enablersSoftw.: Pract. Exp.2010401211351160 – reference: Bingmann, T., Axtmann, M., Jöbstl, 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–183 (2016) – reference: ColeMAlgorithmic Skeletons: Structured Management of Parallel Computation1989GlasgowUniversity of Glasgow0681.68041 – reference: 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’17, pp. 698–707. IOS Press, Bologna (2017) – reference: AndersonMSmithSSundaramNCapotăMZhaoZDulloorSSatishNWillkeTLBridging the gap between HPC and big data frameworksProc. VLDB Endow.201710890191210.14778/3090163.3090168 – reference: AndradeHCMGedikBTuragaDSFundamentals of Stream Processing: Application Design, Systems, and Analytics20141New YorkCambridge University Press10.1017/CBO9781139058940 – reference: 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 ’08, pp 72–81. ACM, Toronto (2008) – reference: 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–330 (2010) – reference: McCoolMRobisonADReindersJStructured Parallel Programming: Patterns for Efficient Computation2012Waltham, MAElsevier – reference: Wagner, A., Rostoker, C.: A lightweight stream-processing library using MPI. In: 2009 IEEE International Symposium on Parallel Distributed Processing, pp. 1–8 (2009) – reference: Muñoz, J. F., Dolz, M. F., del Rio Astorga, D., Cepeda, J. P., García, J. D.: Supporting MPI-distributed stream parallel patterns in GrPPI. In: Proceedings of the 25th European MPI users’ group meeting, EuroMPI’18, pp. 17:1–10. ACM, New York (2018) – reference: GrieblerDDaneluttoMTorquatiMFernandesLGSPar: a DSL for high-level and productive stream parallelismParallel Process. Lett.201727011740005362134510.1142/S0129626417400059 – reference: Boost committee: Boost C++ library: Serialization. https://www.boost.org/doc/libs/1_79_0/libs/serialization/doc/index.html (2004) – reference: CarbonePKatsifodimosAEwenSMarklVHaridiSTzoumasKApache FlinkTM\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\rm TM}$$\end{document}: stream and batch processing in a single engineIEEE Data Eng. Bull.2015382838 – reference: FalcouJSérotJChateauTLaprestéJQuaff: efficient C++ design for parallel skeletonsParallel Comput.200632760461510.1016/j.parco.2006.06.001Algorithmic Skeletons – reference: Pieper, R., Griebler, D., Fernandes, L. G.: Structured stream parallelism for rust. In: 23rd Brazilian Symposium on Programming Languages (SBLP), SBLP’19, pp. 54–61. ACM, Salvador (2019) – reference: Aldinucci, M., Danelutto, M., Kilpatrick, P., Torquati, M.: Fastflow: High-Level and Efficient Streaming on Multicore, chapter 13, pp. 261–280. Wiley (2017) – reference: GrieblerDHoffmannRBDaneluttoMFernandesLGHigh-Level and Productive Stream Parallelism for Dedup, Ferret, and Bzip2Int. J. Parallel Program.2018471253271 – reference: 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 30 in Advances in Parallel Computing, pp. 75–92 (2017) – reference: PieperRLöffJHoffmannRBGrieblerDFernandesLGHigh-level and efficient structured stream parallelism for rust on multi-coresJ. Comput. Lang.20216510.1016/j.cola.2021.101054 – reference: López-GómezJFernández MuñozJdel Rio AstorgaDDolzMFGarciaJDExploring stream parallel patterns in distributed MPI environmentsParallel Comput.201984243610.1016/j.parco.2019.03.004 – reference: 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’12, pp. 47–56. Springer, Berlin (2013) – reference: Rayon: Rayon—Rust. https://docs.rs/rayon/1.4.0/rayon/, September 2020. Accessed 16 May 2021 – reference: 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’15, pp. 317–326. IOS Press, Edinburgh (2015) – ident: 737_CR8 – volume: 40 start-page: 1135 issue: 12 year: 2010 ident: 737_CR15 publication-title: Softw.: Pract. Exp. – ident: 737_CR21 – ident: 737_CR2 doi: 10.1002/9781119332015.ch13 – volume: 29 start-page: 1 issue: 24 year: 2017 ident: 737_CR12 publication-title: Concurr. Comput.: Pract. Exp. – ident: 737_CR29 – volume: 47 start-page: 253 issue: 1 year: 2018 ident: 737_CR22 publication-title: Int. J. Parallel Program. – ident: 737_CR36 doi: 10.1109/IPDPS.2009.5160944 – ident: 737_CR7 doi: 10.1109/BigData.2016.7840603 – volume: 65 year: 2021 ident: 737_CR32 publication-title: J. Comput. Lang. doi: 10.1016/j.cola.2021.101054 – volume-title: Intel Threading Building Blocks year: 2007 ident: 737_CR34 – ident: 737_CR17 – ident: 737_CR28 doi: 10.1145/3236367.3236380 – volume-title: Structured Parallel Programming: Patterns for Efficient Computation year: 2012 ident: 737_CR27 – ident: 737_CR6 doi: 10.1145/1454115.1454128 – ident: 737_CR31 doi: 10.1145/3355378.3355384 – ident: 737_CR5 – volume-title: Fundamentals of Stream Processing: Application Design, Systems, and Analytics year: 2014 ident: 737_CR4 doi: 10.1017/CBO9781139058940 – volume: 84 start-page: 24 year: 2019 ident: 737_CR24 publication-title: Parallel Comput. doi: 10.1016/j.parco.2019.03.004 – volume: 32 start-page: 604 issue: 7 year: 2006 ident: 737_CR14 publication-title: Parallel Comput. doi: 10.1016/j.parco.2006.06.001 – ident: 737_CR20 – volume: 75 start-page: 4042 issue: 8 year: 2018 ident: 737_CR23 publication-title: J. Supercomput. doi: 10.1007/s11227-018-2482-7 – ident: 737_CR35 doi: 10.1007/978-3-030-41050-6_7 – ident: 737_CR26 – volume: 42 start-page: 968 year: 2013 ident: 737_CR13 publication-title: Int. J. Parallel Program. doi: 10.1007/s10766-013-0269-2 – volume-title: Algorithmic Skeletons: Structured Management of Parallel Computation year: 1989 ident: 737_CR10 – ident: 737_CR25 doi: 10.1109/CCGRID.2010.33 – volume: 10 start-page: 901 issue: 8 year: 2017 ident: 737_CR3 publication-title: Proc. VLDB Endow. doi: 10.14778/3090163.3090168 – volume: 30 start-page: 389 issue: 3 year: 2004 ident: 737_CR11 publication-title: Paral. Comput. doi: 10.1016/j.parco.2003.12.002 – volume: 27 start-page: 1740005 issue: 01 year: 2017 ident: 737_CR19 publication-title: Parallel Process. Lett. doi: 10.1142/S0129626417400059 – volume: 38 start-page: 28 year: 2015 ident: 737_CR9 publication-title: IEEE Data Eng. Bull. – ident: 737_CR16 – ident: 737_CR1 doi: 10.1007/978-3-642-36949-0_7 – ident: 737_CR30 doi: 10.1145/2831129.2831131 – ident: 737_CR33 – ident: 737_CR18 |
| SSID | ssj0009788 |
| Score | 2.265806 |
| Snippet | Stream processing applications deal with millions of data items continuously generated over time. Often, they must be processed in real-time and scale... |
| SourceID | proquest crossref springer |
| SourceType | Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 454 |
| SubjectTerms | Big Data C plus plus C++ (programming language) Communication Computer Science Data transmission Distributed processing Experiments Handwriting Interfaces Java Message passing Parallel processing Parallel programming Processor Architectures Programmers Programming languages Software Engineering/Programming and Operating Systems Special Issue on High-Level Parallel Programming and Applications 2021 Theory of Computation |
| SummonAdditionalLinks | – databaseName: Computer Science Database (ProQuest) dbid: K7- link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3NS8MwFA86PXhxfuJ0Sg7eZrBNmo96kbE5BMcYOGG30qQJDPblOv37TbrUouAuntuEkN97eS95Hz8Abq3N09zaAkSyzKBIRxoJrVyIXVj7TDnRrCgU7vPBQIzH8dA_uOU-rbI8E4uDOlso90Z-70pI7HHLMXlcviPHGuWiq55CYxfshRiHTs5fOKqa7vKCd9IqEkU8osIXzfjSOc5c-i1GLljFEf5pmCpv81eAtLA7vfp_V3wEDr3HCdsbETkGO3p-AuolmwP0yn0KOt3XYbrqT-QDbMNOqwVHeracWlcU-toGaP1b2HWNdh1Hls6gi2inM2hHOUKW6SSfnYG33tOo84w8xQJS9p6EEZNKMpPRKCPWU9NUYcIkFWlqIqmovThjrOy-BppKlnEemICrULNUxcpgKTg5B7X5Yq4vABRGW9dIxJHSNOKGxSYw2JjMKBYTmZIGCMv9TZTvP-5oMKZJ1TnZYZJYTJICkwQ3QOt7zHLTfWPr380SiMRrYp5UKDTAXQll9fnv2S63z3YFDrCTniKzpQlq69WHvgb76nM9yVc3hRx-AXkC35U priority: 102 providerName: ProQuest |
| Title | DSParLib: A C++ Template Library for Distributed Stream Parallelism |
| URI | https://link.springer.com/article/10.1007/s10766-022-00737-2 https://www.proquest.com/docview/2738303723 |
| Volume | 50 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAVX databaseName: SpringerLINK Contemporary 1997-Present customDbUrl: eissn: 1573-7640 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0009788 issn: 0885-7458 databaseCode: RSV dateStart: 19970101 isFulltext: true titleUrlDefault: https://link.springer.com/search?facet-content-type=%22Journal%22 providerName: Springer Nature |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3NT8IwFG8UPHgRPyOKpAdv2AS69WPecEhMRCSAil6WrWsTEkAC6N_v69hEjZro5SXL2qZ5r6-_17wvhE4B87QALCBOHBvialcTqZV1sUvAZyYczZNE4ZZot-Vg4HXSpLB5Fu2euSSTm_pDspvgNmCWEuteEgQu3jzAnbTq2O3dr0rtiqTbJKgPI8JlMk2V-X6Nz3C0sjG_uEUTtGkW_rfPbbSVWpe4vjwOO2hNT3ZRIevcgFNF3kN-o9cJZ61hdI7r2K9UcF-PpyMwO3Gax4DBlsUNW1TX9sPSMbbe63CMYZZtvjIazsf76K552fevSNpOgSh4E1HCIxVxEzM3dsAq00xRh0dMhqFxI8XgkUypogBpmkU8FqJqqkLVNA-VpwyNpHAOUG7yPNGHCEujwQySnqs0c4XhnqkaakxsFPecKHSKqJZxNVBprXHb8mIUrKokWy4FwKUg4VJAi6jyPme6rLTx6-hSJqwg1bp5YNOMAJIFhQ2cZcJZ_f55taO_DT9Gm9TKN4lqKaHcYvaiT9CGel0M57MyWhcPj2WUv7hsd7rwdS0I0Juqbym9BdphT-XkzL4B84DcKA |
| linkProvider | Springer Nature |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1JS8NAFH5oFfTiLtZ1Dnqqg3UySyKISKso1iJYwVtMJjNQaGttq-Kf8jf6Jk0MCnrz4DmZgcn73jJ5ywewiz7PKPQF1EsSS7nhhvpGuxS7j_5ZKM_ItFG4oZpN__4-uJmA97wXxpVV5jYxNdTJo3b_yA9cCwmaW8W8k_4TdaxRLruaU2iMYXFl3l7xyjY8vqyjfPcYOz9r1S5oxipANV4NGJWxjqVNBE88DE6M0MyTsfCjyPJYC7wrMqYZWnYjYpkoVbVVpQ-NjHSgLYt95eG-kzDFOaqDKxWs1oohvyrluUTFFVRx4WdNOlmrnpKu3JdRlxxTlH11hEV0-y0hm_q58_n_9oUWYC6LqMnpWAUWYcL0lmA-Z6sgmfFahlr99iYaNNrxETkltUqFtEy338FQm2S9GwTjd1J3g4QdB5hJiMvYR12CqxzhTKc97K7A3Z8cZRVKvceeWQPiW4Ohnx9wbQRXVga2apm1idUy8OLIK8NhLs9QZ_PVHc1HJywmQzsMhIiBMMVAyMpQ-VzTH08X-fXtzVzwYWZphmEh9TLs59ApHv-82_rvu-3AzEXruhE2LptXGzDLHHLTKp5NKI0Gz2YLpvXLqD0cbKc6QODhryH1AZiCPKE |
| linkToPdf | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1bS8MwFD54Q3zxLs5rHvRpBre0SVpBRDaHsjEGKvhW2zSBwTbn5gX_mr_Oky61KOibDz63OZDmO5f0XD6AA_R5WqIvoF6aGuprX9NAK5tiD9A_c-lpkTUKt2S7HdzdhZ0peM97YWxZZW4TM0OdPij7j_zYtpCguZXMOzauLKJTb5wNH6llkLKZ1pxOYwKRpn57xevb-PSqjmd9yFjj4qZ2SR3DAFV4TWBUJCoRJuV-6mGgorlinkh4EMfGTxTHeyNjiqGV1zwRqZQVU5GqqkWsQmVYEkgP5U7DLHphbnWsKWkx8FdmnJeoxJxKnweuYce17UlhS38ZtYkySdlXp1hEut-Ss5nPayz956-1DIsu0ibnE9VYgSk9WIWlnMWCOKO2BrX6dScetbrJCTkntXKZ3Oj-sIchOHE9HQTjelK3A4YtN5hOic3kx32CqywRTa877q_D7Z9sZQNmBg8DvQkkMBpDwiD0lea-NCI0FcOMSY0SoZfEXgmq-dlGys1dt_QfvaiYGG3xECEeogwPEStB-XPNcDJ15Ne3d3IQRM4CjaMCASU4ymFUPP5Z2tbv0vZhHpEUta7azW1YYBbEWXHPDsw8jZ71Lsypl6fueLSXqQOB-79G1AfSJ0VH |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=DSParLib%3A+A+C%2B%2B+Template+Library+for+Distributed+Stream+Parallelism&rft.jtitle=International+journal+of+parallel+programming&rft.au=L%C3%B6ff%2C+J%C3%BAnior&rft.au=Hoffmann%2C+Renato+B.&rft.au=Pieper%2C+Ricardo&rft.au=Griebler%2C+Dalvan&rft.date=2022-12-01&rft.pub=Springer+US&rft.issn=0885-7458&rft.eissn=1573-7640&rft.volume=50&rft.issue=5-6&rft.spage=454&rft.epage=485&rft_id=info:doi/10.1007%2Fs10766-022-00737-2&rft.externalDocID=10_1007_s10766_022_00737_2 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0885-7458&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0885-7458&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0885-7458&client=summon |