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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:International journal of parallel programming Jg. 50; H. 5-6; S. 454 - 485
Hauptverfasser: Löff, Júnior, Hoffmann, Renato B., Pieper, Ricardo, Griebler, Dalvan, Fernandes, Luiz G.
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