Efficient iterative programs with distributed data collections

Big data programming frameworks have become increasingly important for the development of applications for which performance and scalability are critical. In those complex frameworks, optimizing code by hand is hard and time-consuming, making automated optimization particularly necessary. In order t...

Full description

Saved in:
Bibliographic Details
Published inJournal of logical and algebraic methods in programming Vol. 144; pp. 101047 - 36
Main Authors Chlyah, Sarah, Gesbert, Nils, Genevès, Pierre, Layaïda, Nabil
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.03.2025
Elsevier
Subjects
Online AccessGet full text
ISSN2352-2208
DOI10.1016/j.jlamp.2025.101047

Cover

Loading…
Abstract Big data programming frameworks have become increasingly important for the development of applications for which performance and scalability are critical. In those complex frameworks, optimizing code by hand is hard and time-consuming, making automated optimization particularly necessary. In order to automate optimization, a prerequisite is to find suitable abstractions to represent programs; for instance, algebras based on monads or monoids to represent distributed data collections. Currently, however, such algebras do not represent recursive programs in a way which allows for analyzing or rewriting them. In this paper, we extend a monoid algebra with a fixpoint operator for representing recursion as a first class citizen and show how it enables new optimizations. Experiments with the Spark platform illustrate performance gains brought by these systematic optimizations.
AbstractList Big data programming frameworks have become increasingly important for the development of applications for which performance and scalability are critical. In those complex frameworks, optimizing code by hand is hard and time-consuming, making automated optimization particularly necessary. In order to automate optimization, a prerequisite is to find suitable abstractions to represent programs; for instance, algebras based on monads or monoids to represent distributed data collections. Currently, however, such algebras do not represent recursive programs in a way which allows for analyzing or rewriting them. In this paper, we extend a monoid algebra with a fixpoint operator for representing recursion as a first class citizen and show how it enables new optimizations. Experiments with the Spark platform illustrate performance gains brought by these systematic optimizations.
ArticleNumber 101047
Author Chlyah, Sarah
Genevès, Pierre
Gesbert, Nils
Layaïda, Nabil
Author_xml – sequence: 1
  givenname: Sarah
  orcidid: 0009-0004-1769-5109
  surname: Chlyah
  fullname: Chlyah, Sarah
  email: sarah.chlyah@inria.fr
– sequence: 2
  givenname: Nils
  surname: Gesbert
  fullname: Gesbert, Nils
– sequence: 3
  givenname: Pierre
  surname: Genevès
  fullname: Genevès, Pierre
– sequence: 4
  givenname: Nabil
  surname: Layaïda
  fullname: Layaïda, Nabil
BackLink https://inria.hal.science/hal-04108082$$DView record in HAL
BookMark eNp9kLFOwzAQhj0UiVL6BCxZGRLsu6TxAlJVFYpUiQVmy3HO1FGaVLYp4u1JCGJkOum__zvpvis26_qOGLsRPBNcrO6arGn18ZQBh2JMeF7O2BywgBSAy0u2DKHhfKjKUqKYs4ettc446mLiInkd3ZmSk-_fvT6G5NPFQ1K7EL2rPiLVSa2jTkzftmSi67twzS6sbgMtf-eCvT1uXze7dP_y9LxZ71ODCDGlUkMuqqIAITkI0sTBkCwqqERlCAlrBMB8VVW2kCUWOQ5AniMOa7QWF-x2unvQrTp5d9T-S_Xaqd16r8aM54JLLuEshi5OXeP7EDzZP0BwNVpSjfqxpEZLarI0UPcTRcMbZ0dehVGLodr54VlV9-5f_huzSnQg
Cites_doi 10.1017/S0956796817000193
10.1145/3281629
10.1017/S1471068417000436
10.1145/362384.362685
10.1145/2934664
10.1017/S0960129500001560
10.1007/s00224-016-9676-2
10.1145/2850413
10.14778/2556549.2556572
10.1016/0304-3975(82)90125-6
10.1007/s10009-012-0244-z
10.1109/32.42731
10.14778/2824032.2824052
10.1145/1924421.1924436
10.1145/2389241.2389250
10.1016/0304-3975(95)00024-Q
10.1145/377674.377676
10.1145/2724712
10.14778/3007263.3007270
10.1145/2949741.2949754
10.1145/2812805
ContentType Journal Article
Copyright 2025 Elsevier Inc.
Attribution
Copyright_xml – notice: 2025 Elsevier Inc.
– notice: Attribution
DBID AAYXX
CITATION
1XC
VOOES
DOI 10.1016/j.jlamp.2025.101047
DatabaseName CrossRef
Hyper Article en Ligne (HAL)
Hyper Article en Ligne (HAL) (Open Access)
DatabaseTitle CrossRef
DatabaseTitleList

DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EndPage 36
ExternalDocumentID oai_HAL_hal_04108082v1
10_1016_j_jlamp_2025_101047
S2352220825000136
GroupedDBID --M
0R~
4.4
457
4G.
7-5
8P~
AACTN
AAEDT
AAEDW
AAIKJ
AAKOC
AALRI
AAOAW
AATTM
AAXKI
AAXUO
AAYFN
ABBOA
ABJNI
ABMAC
ABXDB
ACDAQ
ACGFS
ACRLP
ADBBV
ADEZE
ADVLN
AEBSH
AEIPS
AEKER
AENEX
AFJKZ
AFTJW
AFXIZ
AGCQF
AGHFR
AGUBO
AIALX
AIEXJ
AIKHN
AITUG
AKRWK
ALMA_UNASSIGNED_HOLDINGS
AMRAJ
ANKPU
AOUOD
AXJTR
BKOJK
BLXMC
BNPGV
EBS
EFJIC
EJD
FDB
FIRID
FYGXN
GBLVA
GBOLZ
HZ~
KOM
M41
O9-
OAUVE
RIG
ROL
SPC
SPCBC
SSH
SSV
SSZ
T5K
~G-
AAYWO
AAYXX
ACVFH
ADCNI
AEUPX
AFPUW
AGRNS
AIGII
AIIUN
AKBMS
AKYEP
CITATION
1XC
EFKBS
VOOES
ID FETCH-LOGICAL-c332t-e7a241b55218021eae02ce85b2b1bce3e3d322346bbf5873543a2444331bc3ff3
IEDL.DBID AIKHN
ISSN 2352-2208
IngestDate Tue Aug 05 06:53:49 EDT 2025
Tue Jul 01 04:50:54 EDT 2025
Sat May 03 15:55:15 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Fixpoint operator
Distributed data
Rewrite rules
Optimization
rewrite rules
fixpoint operator
optimization
distributed data collections
Efficient
Language English
License Attribution: http://creativecommons.org/licenses/by
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c332t-e7a241b55218021eae02ce85b2b1bce3e3d322346bbf5873543a2444331bc3ff3
ORCID 0009-0004-1769-5109
0000-0001-7676-2755
0000-0001-8472-9365
OpenAccessLink https://inria.hal.science/hal-04108082
PageCount 36
ParticipantIDs hal_primary_oai_HAL_hal_04108082v1
crossref_primary_10_1016_j_jlamp_2025_101047
elsevier_sciencedirect_doi_10_1016_j_jlamp_2025_101047
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate March 2025
2025-03-00
2025-03
PublicationDateYYYYMMDD 2025-03-01
PublicationDate_xml – month: 03
  year: 2025
  text: March 2025
PublicationDecade 2020
PublicationTitle Journal of logical and algebraic methods in programming
PublicationYear 2025
Publisher Elsevier Inc
Elsevier
Publisher_xml – name: Elsevier Inc
– name: Elsevier
References Iosup, Hegeman, Ngai, Heldens, Prat-Pérez, Manhardto, Chafio, Capotă, Sundaram, Anderson, Tănase, Xia, Nai, Boncz (br0250) 2016; 9
Ammar, Özsu (br0270) 2014
Wadler (br0480) 1992; 2
Gesbert, Genevès, Layaïda (br0690) 2015; 38
Jachiet, Genevès, Gesbert, Layaïda (br0080) 2020
Tannen, Buneman, Ohori (br0560) 1991; 14
Libkin, Vrgoč (br0070) 2012
Ramakrishnan, Ross, Srivastava, Sudarshan (br0590) 1994
Bunkenburg (br0140) July 5-7, 1993
Cimatti, Clarke, Giunchiglia, Giunchiglia, Pistore, Roveri, Sebastiani, Tacchella (br0640) 2002; vol. 2404
van Rest, Hong, Kim, Meng, Chafi (br0110) 2016
Kozen (br0600) 1983; 27
Genevès, Layaïda, Schmitt, Gesbert (br0660) 2015; 16
Tekle, Liu (br0390) 2011
Lawal, Genevès, Layaïda (br0180) 2020
Cyganiak, Wood, Lanthaler (br0320) February 2014
Meijer, Bierman (br0050) 2011; 54
Markl (br0300) November 2019
Buneman, Naqvi, Tannen, Wong (br0470) 1995; 149
Consens, Mendelzon (br0190) 1990
Leskovec (br0330) November 2019
Bancilhon, Maier, Sagiv, Ullman (br0370) 1986
Bradfield, Stirling (br0620) 2001
Bosch, Genevès, Layaïda (br0680) 2015
Seo, Park, Shin, Lam (br0430) 2013; 6
Gibbons (br0490) 2016; vol. 9600
Armbrust, Xin, Lian, Huai, Liu, Bradley, Meng, Kaftan, Franklin, Ghodsi, Zaharia (br0420) 2015
Grust, Mayr, Rittinger, Schreiber (br0530) 2009
Bunte, Groote, Keiren, Laveaux, Neele, de Vink, Wesselink, Wijs, Willemse (br0650) 2019
Dean, Ghemawat (br0010) 2004
Turner (br0500) 2016
Yang, Chien (br0240) 2015
Saccà, Zaniolo (br0380) 1986
Wang, Balazinska, Halperin (br0440) 2015; 8
Alexandrov, Krastev, Markl (br0460) 2019; 44
Agrawal (br0400) 1988; 14
Gévay, Soto, Markl (br0350)
Maier, Tekle, Kifer, Warren (br0360) 2018
Peyton Jones (br0510) 1987
Libkin, Martens, Vrgoč (br0220) 2016; 63
Barceló, Libkin, Lin, Wood (br0210) 2012; 37
M. P. I. for Informatics, T. P. University (br0310) July 2019
Seib, Lausen (br0450) 1991
Bradfield, Walukiewicz (br0610) 2018
Garavel, Lang, Mateescu, Serwe (br0630) 2013; 15
Yu, Isard, Fetterly, Budiu, Erlingsson, Gunda, Currey (br0540) 2008
Alexandrov, Katsifodimos, Krastev, Markl (br0280) 2016; 45
Genevès, Layaïda, Schmitt (br0670) 2007
Isard, Budiu, Yu, Birrell, Fetterly (br0020) 2007
Barcelo, Figueira, Libkin (br0200) 2012
Harris, Seaborne (br0090) March 2013
(br0230) September 2024
Odersky, Micheloud, Mihaylov, Schinz, Stenman, Zenger (br0170) 2004
Zaniolo, Yang, Das, Shkapsky, Condie, Interlandi (br0150) 2017; 17
Shkapsky, Yang, Interlandi, Chiu, Condie, Zaniolo (br0260) 2016
Fegaras, Maier (br0570) 2000; 25
Fegaras (br0130) 2017; 27
Fegaras, Noor (br0120) 2018
Wadler (br0160) 1989
Carbone, Katsifodimos, Ewen, Markl, Haridi, Tzoumas (br0040) 2015; 38
Aho, Ullman (br0410) 1979
Zaharia, Xin, Wendell, Das, Armbrust, Dave, Meng, Rosen, Venkataraman, Franklin, Ghodsi, Gonzalez, Shenker, Stoica (br0030) 2016; 59
Yu, Gunda, Isard (br0580) 2009
Reutter, Romero, Vardi (br0060) 2017; 61
Codd (br0340) 1970; 13
Tannen, Buneman, Naqvi (br0550) 1991
Francis, Green, Guagliardo, Libkin, Lindaaker, Marsault, Plantikow, Rydberg, Selmer, Taylor (br0100) 2018
br0290
Meijer, Beckman, Bierman (br0520) 2006
Bradfield (10.1016/j.jlamp.2025.101047_br0610) 2018
Tekle (10.1016/j.jlamp.2025.101047_br0390) 2011
Francis (10.1016/j.jlamp.2025.101047_br0100) 2018
Odersky (10.1016/j.jlamp.2025.101047_br0170) 2004
Seib (10.1016/j.jlamp.2025.101047_br0450) 1991
Leskovec (10.1016/j.jlamp.2025.101047_br0330)
Wadler (10.1016/j.jlamp.2025.101047_br0160) 1989
Buneman (10.1016/j.jlamp.2025.101047_br0470) 1995; 149
Ammar (10.1016/j.jlamp.2025.101047_br0270) 2014
Codd (10.1016/j.jlamp.2025.101047_br0340) 1970; 13
Wadler (10.1016/j.jlamp.2025.101047_br0480) 1992; 2
Peyton Jones (10.1016/j.jlamp.2025.101047_br0510) 1987
Yu (10.1016/j.jlamp.2025.101047_br0540) 2008
Jachiet (10.1016/j.jlamp.2025.101047_br0080) 2020
Yang (10.1016/j.jlamp.2025.101047_br0240) 2015
Meijer (10.1016/j.jlamp.2025.101047_br0520) 2006
M. P. I. for Informatics (10.1016/j.jlamp.2025.101047_br0310)
Bradfield (10.1016/j.jlamp.2025.101047_br0620) 2001
Fegaras (10.1016/j.jlamp.2025.101047_br0120) 2018
Saccà (10.1016/j.jlamp.2025.101047_br0380) 1986
Fegaras (10.1016/j.jlamp.2025.101047_br0570) 2000; 25
Tannen (10.1016/j.jlamp.2025.101047_br0550) 1991
Garavel (10.1016/j.jlamp.2025.101047_br0630) 2013; 15
Zaharia (10.1016/j.jlamp.2025.101047_br0030) 2016; 59
Fegaras (10.1016/j.jlamp.2025.101047_br0130) 2017; 27
Armbrust (10.1016/j.jlamp.2025.101047_br0420) 2015
Gesbert (10.1016/j.jlamp.2025.101047_br0690) 2015; 38
Reutter (10.1016/j.jlamp.2025.101047_br0060) 2017; 61
Bunte (10.1016/j.jlamp.2025.101047_br0650) 2019
Consens (10.1016/j.jlamp.2025.101047_br0190) 1990
Libkin (10.1016/j.jlamp.2025.101047_br0070) 2012
Yu (10.1016/j.jlamp.2025.101047_br0580) 2009
Grust (10.1016/j.jlamp.2025.101047_br0530) 2009
Dean (10.1016/j.jlamp.2025.101047_br0010) 2004
Agrawal (10.1016/j.jlamp.2025.101047_br0400) 1988; 14
Meijer (10.1016/j.jlamp.2025.101047_br0050) 2011; 54
Wang (10.1016/j.jlamp.2025.101047_br0440) 2015; 8
Genevès (10.1016/j.jlamp.2025.101047_br0660) 2015; 16
Barceló (10.1016/j.jlamp.2025.101047_br0210) 2012; 37
Shkapsky (10.1016/j.jlamp.2025.101047_br0260) 2016
Seo (10.1016/j.jlamp.2025.101047_br0430) 2013; 6
Zaniolo (10.1016/j.jlamp.2025.101047_br0150) 2017; 17
Bosch (10.1016/j.jlamp.2025.101047_br0680) 2015
Cyganiak (10.1016/j.jlamp.2025.101047_br0320)
Isard (10.1016/j.jlamp.2025.101047_br0020) 2007
Turner (10.1016/j.jlamp.2025.101047_br0500) 2016
Maier (10.1016/j.jlamp.2025.101047_br0360) 2018
Genevès (10.1016/j.jlamp.2025.101047_br0670) 2007
Alexandrov (10.1016/j.jlamp.2025.101047_br0460) 2019; 44
Libkin (10.1016/j.jlamp.2025.101047_br0220) 2016; 63
Aho (10.1016/j.jlamp.2025.101047_br0410) 1979
Harris (10.1016/j.jlamp.2025.101047_br0090)
Barcelo (10.1016/j.jlamp.2025.101047_br0200) 2012
Ramakrishnan (10.1016/j.jlamp.2025.101047_br0590) 1994
Alexandrov (10.1016/j.jlamp.2025.101047_br0280) 2016; 45
Markl (10.1016/j.jlamp.2025.101047_br0300)
Lawal (10.1016/j.jlamp.2025.101047_br0180) 2020
Gibbons (10.1016/j.jlamp.2025.101047_br0490) 2016; vol. 9600
Carbone (10.1016/j.jlamp.2025.101047_br0040) 2015; 38
Bunkenburg (10.1016/j.jlamp.2025.101047_br0140) 1993
Bancilhon (10.1016/j.jlamp.2025.101047_br0370) 1986
Kozen (10.1016/j.jlamp.2025.101047_br0600) 1983; 27
Tannen (10.1016/j.jlamp.2025.101047_br0560) 1991; 14
Cimatti (10.1016/j.jlamp.2025.101047_br0640) 2002; vol. 2404
Gévay (10.1016/j.jlamp.2025.101047_br0350)
Iosup (10.1016/j.jlamp.2025.101047_br0250) 2016; 9
van Rest (10.1016/j.jlamp.2025.101047_br0110) 2016
References_xml – volume: 59
  start-page: 56
  year: 2016
  end-page: 65
  ident: br0030
  article-title: Apache spark: a unified engine for big data processing
  publication-title: Commun. ACM
– volume: vol. 9600
  start-page: 132
  year: 2016
  end-page: 151
  ident: br0490
  article-title: Comprehending ringads - for Phil Wadler, on the occasion of his 60th birthday
  publication-title: A List of Successes That Can Change the World - Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday
– year: November 2019
  ident: br0300
  article-title: Emma is a quotation-based scala dsl for scalable data analysis
– start-page: 404
  year: 1990
  end-page: 416
  ident: br0190
  article-title: Graphlog: a visual formalism for real life recursion
  publication-title: Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems
– start-page: 1135
  year: 2016
  end-page: 1149
  ident: br0260
  article-title: Big data analytics with datalog queries on spark
  publication-title: Proceedings of the 2016 International Conference on Management of Data
– start-page: 58
  year: 2014
  end-page: 72
  ident: br0270
  article-title: Wgb: towards a universal graph benchmark
  publication-title: Advancing Big Data Benchmarks
– start-page: 1063
  year: 2009
  end-page: 1066
  ident: br0530
  article-title: Ferry: database-supported program execution
  publication-title: Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data
– volume: 25
  start-page: 457
  year: 2000
  end-page: 516
  ident: br0570
  article-title: Optimizing object queries using an effective calculus
  publication-title: ACM Trans. Database Syst.
– volume: 38
  start-page: 28
  year: 2015
  end-page: 38
  ident: br0040
  article-title: Apache flink™: stream and batch processing in a single engine
  publication-title: IEEE Data Eng. Bull.
– start-page: 1
  year: 1986
  end-page: 15
  ident: br0370
  article-title: Magic sets and other strange ways to implement logic programs (extended abstract)
  publication-title: Proceedings of the Fifth ACM SIGACT-SIGMOD Symposium on Principles of Database Systems
– start-page: 871
  year: 2018
  end-page: 919
  ident: br0610
  article-title: The mu-calculus and model checking
  publication-title: Handbook of Model Checking
– start-page: 247
  year: 2009
  end-page: 260
  ident: br0580
  article-title: Distributed aggregation for data-parallel computing: interfaces and implementations
  publication-title: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles
– ident: br0290
  article-title: Diql repository
– volume: 38
  start-page: 3:1
  year: 2015
  end-page: 3:31
  ident: br0690
  article-title: A logical approach to deciding semantic subtyping
  publication-title: ACM Trans. Program. Lang. Syst.
– volume: 61
  start-page: 31
  year: 2017
  end-page: 83
  ident: br0060
  article-title: Regular queries on graph databases
  publication-title: Theory Comput. Syst.
– start-page: 21
  year: 2019
  end-page: 39
  ident: br0650
  article-title: The mcrl2 toolset for analysing concurrent systems
  publication-title: Tools and Algorithms for the Construction and Analysis of Systems
– volume: 9
  start-page: 1317
  year: 2016
  end-page: 1328
  ident: br0250
  article-title: Ldbc graphalytics: a benchmark for large-scale graph analysis on parallel and distributed platforms
  publication-title: Proc. VLDB Endow.
– start-page: 681
  year: 2020
  end-page: 697
  ident: br0080
  article-title: On the optimization of recursive relational queries: application to graph queries
  publication-title: Proceedings of the ACM SIGMOD International Conference on Management of Data
– year: July 2019
  ident: br0310
  article-title: YAGO: A high-quality knowledge base
– volume: 63
  start-page: 14:1
  year: 2016
  end-page: 14:53
  ident: br0220
  article-title: Querying graphs with data
  publication-title: J. ACM
– volume: 27
  start-page: e27
  year: 2017
  ident: br0130
  article-title: An algebra for distributed big data analytics
  publication-title: J. Funct. Program.
– start-page: 16
  year: 1986
  end-page: 23
  ident: br0380
  article-title: On the implementation of a simple class of logic queries for databases
  publication-title: Proceedings of the Fifth ACM SIGACT-SIGMOD Symposium on Principles of Database Systems
– start-page: 9
  year: 1991
  end-page: 19
  ident: br0550
  article-title: Structural recursion as a query language
  publication-title: Database Programming Languages: Bulk Types and Persistent Data, 3rd International Workshop
– year: March 2013
  ident: br0090
  article-title: SPARQL 1.1 query language
– start-page: 1433
  year: 2018
  end-page: 1445
  ident: br0100
  article-title: Cypher: an evolving query language for property graphs
  publication-title: Proceedings of the 2018 International Conference on Management of Data
– year: September 2024
  ident: br0230
  article-title: Mu-monoid programs
– start-page: 347
  year: 1989
  end-page: 359
  ident: br0160
  article-title: Theorems for free!
  publication-title: Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture
– volume: 8
  start-page: 1542
  year: 2015
  end-page: 1553
  ident: br0440
  article-title: Asynchronous and fault-tolerant recursive datalog evaluation in shared-nothing engines
  publication-title: Proc. VLDB Endow.
– volume: 14
  start-page: 23
  year: 1991
  end-page: 27
  ident: br0560
  article-title: Data structures and data types for object-oriented databases
  publication-title: IEEE Data Eng. Bull.
– start-page: 137
  year: 2004
  end-page: 150
  ident: br0010
  article-title: Mapreduce: simplified data processing on large clusters
  publication-title: 6th Symposium on Operating System Design and Implementation (OSDI 2004)
– volume: 44
  start-page: 4:1
  year: 2019
  end-page: 4:44
  ident: br0460
  article-title: Representations and optimizations for embedded parallel dataflow languages
  publication-title: ACM Trans. Database Syst.
– volume: 54
  start-page: 49
  year: 2011
  end-page: 58
  ident: br0050
  article-title: A co-relational model of data for large shared data banks
  publication-title: Commun. ACM
– ident: br0350
  article-title: Handling iterations in distributed dataflow systems
– volume: 27
  start-page: 333
  year: 1983
  end-page: 354
  ident: br0600
  article-title: Results on the propositional
  publication-title: Theor. Comput. Sci.
– start-page: 661
  year: 2011
  end-page: 672
  ident: br0390
  article-title: More efficient datalog queries: subsumptive tabling beats magic sets
  publication-title: Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data
– volume: 14
  start-page: 879
  year: 1988
  end-page: 885
  ident: br0400
  article-title: Alpha: an extension of relational algebra to express a class of recursive queries
  publication-title: IEEE Trans. Softw. Eng.
– year: November 2019
  ident: br0330
  article-title: Snap: Stanford large network dataset collection
– volume: 16
  start-page: 16:1
  year: 2015
  end-page: 16:41
  ident: br0660
  article-title: Efficiently deciding
  publication-title: ACM Trans. Comput. Log.
– start-page: 7
  year: 2016
  ident: br0110
  article-title: PGQL: a property graph query language
  publication-title: Proceedings of the Fourth International Workshop on Graph Data Management Experiences and Systems, Redwood Shores
– volume: vol. 2404
  year: 2002
  ident: br0640
  article-title: NuSMV version 2: an OpenSource tool for symbolic model checking
  publication-title: Proc. International Conference on Computer-Aided Verification (CAV 2002)
– start-page: 706
  year: 2006
  ident: br0520
  article-title: LINQ: reconciling object, relations and XML in the net framework
  publication-title: Proceedings of the ACM SIGMOD International Conference on Management of Data
– start-page: 2227
  year: 2015
  end-page: 2233
  ident: br0680
  article-title: Reasoning with style
  publication-title: Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence
– start-page: 3297
  year: 2020
  end-page: 3300
  ident: br0180
  article-title: A cost estimation technique for recursive relational algebra
  publication-title: CIKM '20: The 29th ACM International Conference on Information and Knowledge Management, Virtual Event
– year: February 2014
  ident: br0320
  article-title: Rdf 1.1 concepts and abstract syntax
– start-page: 293
  year: 2001
  end-page: 330
  ident: br0620
  article-title: Chapter 4 - modal logics and mu-calculi: an introduction
  publication-title: Handbook of Process Algebra
– start-page: 115
  year: 2012
  end-page: 124
  ident: br0200
  article-title: Graph logics with rational relations and the generalized intersection problem
  publication-title: Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
– volume: 13
  start-page: 377
  year: 1970
  end-page: 387
  ident: br0340
  article-title: A relational model of data for large shared data banks
  publication-title: Commun. ACM
– start-page: 204
  year: 1994
  end-page: 218
  ident: br0590
  article-title: Efficient incremental evaluation of queries with aggregation
  publication-title: Proceedings of the 1994 International Symposium on Logic Programming
– start-page: 74
  year: 2012
  end-page: 85
  ident: br0070
  article-title: Regular path queries on graphs with data
  publication-title: Proceedings of the 15th International Conference on Database Theory
– start-page: 59
  year: 2007
  end-page: 72
  ident: br0020
  article-title: Dryad: distributed data-parallel programs from sequential building blocks
  publication-title: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
– start-page: 1
  year: 2018
  end-page: 8
  ident: br0120
  article-title: Compile-time code generation for embedded data-intensive query languages
  publication-title: 2018 IEEE International Congress on Big Data, BigData Congress 2018
– start-page: 3
  year: 2018
  end-page: 100
  ident: br0360
  article-title: Datalog: Concepts, History, and Outlook
– year: 1987
  ident: br0510
  article-title: The Implementation of Functional Programming Languages
  publication-title: Prentice-Hall International Series in Computer Science
– volume: 37
  start-page: 31:1
  year: 2012
  end-page: 31:46
  ident: br0210
  article-title: Expressive languages for path queries over graph-structured data
  publication-title: ACM Trans. Database Syst.
– volume: 15
  start-page: 89
  year: 2013
  end-page: 107
  ident: br0630
  article-title: CADP 2011: a toolbox for the construction and analysis of distributed processes
  publication-title: Int. J. Softw. Tools Technol. Transf.
– start-page: 173
  year: 2015
  end-page: 178
  ident: br0240
  article-title: Understanding graph computation behavior to enable robust benchmarking
  publication-title: Proceedings of the 24th International Symposium on High-Performance Parallel and Distributed Computing
– year: 2004
  ident: br0170
  article-title: An overview of the scala programming language
– start-page: 459
  year: 2016
  end-page: 478
  ident: br0500
  article-title: Recursion Equations as a Programming Language
– volume: 45
  start-page: 51
  year: 2016
  end-page: 58
  ident: br0280
  article-title: Implicit parallelism through deep language embedding
  publication-title: SIGMOD Rec.
– start-page: 241
  year: 1991
  end-page: 251
  ident: br0450
  article-title: Parallelizing datalog programs by generalized pivoting
  publication-title: Proceedings of the Tenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems
– start-page: 1
  year: July 5-7, 1993
  end-page: 8
  ident: br0140
  article-title: The boom hierarchy
  publication-title: Proceedings of the 1993 Glasgow Workshop on Functional Programming, Ayr, Scotland, UK, July 5-7, 1993, Workshops in Computing
– volume: 2
  start-page: 461
  year: 1992
  end-page: 493
  ident: br0480
  article-title: Comprehending monads
  publication-title: Math. Struct. Comput. Sci.
– volume: 6
  start-page: 1906
  year: 2013
  end-page: 1917
  ident: br0430
  article-title: Distributed socialite: a datalog-based language for large-scale graph analysis
  publication-title: Proc. VLDB Endow.
– volume: 17
  start-page: 1048
  year: 2017
  end-page: 1065
  ident: br0150
  article-title: Fixpoint semantics and optimization of recursive datalog programs with aggregates
  publication-title: Theory Pract. Log. Program.
– volume: 149
  start-page: 3
  year: 1995
  end-page: 48
  ident: br0470
  article-title: Principles of programming with complex objects and collection types
  publication-title: Theor. Comput. Sci.
– start-page: 1
  year: 2008
  end-page: 14
  ident: br0540
  article-title: Dryadlinq: a system for general-purpose distributed data-parallel computing using a high-level language
  publication-title: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation
– start-page: 110
  year: 1979
  end-page: 119
  ident: br0410
  article-title: Universality of data retrieval languages
  publication-title: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages
– start-page: 342
  year: 2007
  end-page: 351
  ident: br0670
  article-title: Efficient static analysis of XML paths and types
  publication-title: Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation
– start-page: 1383
  year: 2015
  end-page: 1394
  ident: br0420
  article-title: Spark sql: relational data processing in spark
  publication-title: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data
– volume: 38
  start-page: 28
  issue: 4
  year: 2015
  ident: 10.1016/j.jlamp.2025.101047_br0040
  article-title: Apache flink™: stream and batch processing in a single engine
  publication-title: IEEE Data Eng. Bull.
– start-page: 74
  year: 2012
  ident: 10.1016/j.jlamp.2025.101047_br0070
  article-title: Regular path queries on graphs with data
– start-page: 661
  year: 2011
  ident: 10.1016/j.jlamp.2025.101047_br0390
  article-title: More efficient datalog queries: subsumptive tabling beats magic sets
– volume: 27
  start-page: e27
  year: 2017
  ident: 10.1016/j.jlamp.2025.101047_br0130
  article-title: An algebra for distributed big data analytics
  publication-title: J. Funct. Program.
  doi: 10.1017/S0956796817000193
– volume: vol. 9600
  start-page: 132
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0490
  article-title: Comprehending ringads - for Phil Wadler, on the occasion of his 60th birthday
– start-page: 16
  year: 1986
  ident: 10.1016/j.jlamp.2025.101047_br0380
  article-title: On the implementation of a simple class of logic queries for databases
– volume: 44
  start-page: 4:1
  issue: 1
  year: 2019
  ident: 10.1016/j.jlamp.2025.101047_br0460
  article-title: Representations and optimizations for embedded parallel dataflow languages
  publication-title: ACM Trans. Database Syst.
  doi: 10.1145/3281629
– volume: 17
  start-page: 1048
  issue: 5–6
  year: 2017
  ident: 10.1016/j.jlamp.2025.101047_br0150
  article-title: Fixpoint semantics and optimization of recursive datalog programs with aggregates
  publication-title: Theory Pract. Log. Program.
  doi: 10.1017/S1471068417000436
– start-page: 59
  year: 2007
  ident: 10.1016/j.jlamp.2025.101047_br0020
  article-title: Dryad: distributed data-parallel programs from sequential building blocks
– start-page: 115
  year: 2012
  ident: 10.1016/j.jlamp.2025.101047_br0200
  article-title: Graph logics with rational relations and the generalized intersection problem
– volume: 13
  start-page: 377
  issue: 6
  year: 1970
  ident: 10.1016/j.jlamp.2025.101047_br0340
  article-title: A relational model of data for large shared data banks
  publication-title: Commun. ACM
  doi: 10.1145/362384.362685
– start-page: 241
  year: 1991
  ident: 10.1016/j.jlamp.2025.101047_br0450
  article-title: Parallelizing datalog programs by generalized pivoting
– volume: 59
  start-page: 56
  issue: 11
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0030
  article-title: Apache spark: a unified engine for big data processing
  publication-title: Commun. ACM
  doi: 10.1145/2934664
– start-page: 404
  year: 1990
  ident: 10.1016/j.jlamp.2025.101047_br0190
  article-title: Graphlog: a visual formalism for real life recursion
– volume: 2
  start-page: 461
  issue: 4
  year: 1992
  ident: 10.1016/j.jlamp.2025.101047_br0480
  article-title: Comprehending monads
  publication-title: Math. Struct. Comput. Sci.
  doi: 10.1017/S0960129500001560
– start-page: 459
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0500
– volume: vol. 2404
  year: 2002
  ident: 10.1016/j.jlamp.2025.101047_br0640
  article-title: NuSMV version 2: an OpenSource tool for symbolic model checking
– start-page: 1
  year: 2008
  ident: 10.1016/j.jlamp.2025.101047_br0540
  article-title: Dryadlinq: a system for general-purpose distributed data-parallel computing using a high-level language
– volume: 61
  start-page: 31
  issue: 1
  year: 2017
  ident: 10.1016/j.jlamp.2025.101047_br0060
  article-title: Regular queries on graph databases
  publication-title: Theory Comput. Syst.
  doi: 10.1007/s00224-016-9676-2
– ident: 10.1016/j.jlamp.2025.101047_br0330
– start-page: 3
  year: 2018
  ident: 10.1016/j.jlamp.2025.101047_br0360
– volume: 63
  start-page: 14:1
  issue: 2
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0220
  article-title: Querying graphs with data
  publication-title: J. ACM
  doi: 10.1145/2850413
– start-page: 871
  year: 2018
  ident: 10.1016/j.jlamp.2025.101047_br0610
  article-title: The mu-calculus and model checking
– start-page: 1
  year: 1993
  ident: 10.1016/j.jlamp.2025.101047_br0140
  article-title: The boom hierarchy
– start-page: 137
  year: 2004
  ident: 10.1016/j.jlamp.2025.101047_br0010
  article-title: Mapreduce: simplified data processing on large clusters
– ident: 10.1016/j.jlamp.2025.101047_br0350
– volume: 6
  start-page: 1906
  issue: 14
  year: 2013
  ident: 10.1016/j.jlamp.2025.101047_br0430
  article-title: Distributed socialite: a datalog-based language for large-scale graph analysis
  publication-title: Proc. VLDB Endow.
  doi: 10.14778/2556549.2556572
– ident: 10.1016/j.jlamp.2025.101047_br0090
– volume: 27
  start-page: 333
  year: 1983
  ident: 10.1016/j.jlamp.2025.101047_br0600
  article-title: Results on the propositional μ-calculus
  publication-title: Theor. Comput. Sci.
  doi: 10.1016/0304-3975(82)90125-6
– start-page: 110
  year: 1979
  ident: 10.1016/j.jlamp.2025.101047_br0410
  article-title: Universality of data retrieval languages
– start-page: 1063
  year: 2009
  ident: 10.1016/j.jlamp.2025.101047_br0530
  article-title: Ferry: database-supported program execution
– year: 2004
  ident: 10.1016/j.jlamp.2025.101047_br0170
– volume: 15
  start-page: 89
  issue: 2
  year: 2013
  ident: 10.1016/j.jlamp.2025.101047_br0630
  article-title: CADP 2011: a toolbox for the construction and analysis of distributed processes
  publication-title: Int. J. Softw. Tools Technol. Transf.
  doi: 10.1007/s10009-012-0244-z
– start-page: 1
  year: 1986
  ident: 10.1016/j.jlamp.2025.101047_br0370
  article-title: Magic sets and other strange ways to implement logic programs (extended abstract)
– volume: 14
  start-page: 879
  issue: 7
  year: 1988
  ident: 10.1016/j.jlamp.2025.101047_br0400
  article-title: Alpha: an extension of relational algebra to express a class of recursive queries
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/32.42731
– start-page: 2227
  year: 2015
  ident: 10.1016/j.jlamp.2025.101047_br0680
  article-title: Reasoning with style
– start-page: 706
  year: 2006
  ident: 10.1016/j.jlamp.2025.101047_br0520
  article-title: LINQ: reconciling object, relations and XML in the net framework
– volume: 8
  start-page: 1542
  issue: 12
  year: 2015
  ident: 10.1016/j.jlamp.2025.101047_br0440
  article-title: Asynchronous and fault-tolerant recursive datalog evaluation in shared-nothing engines
  publication-title: Proc. VLDB Endow.
  doi: 10.14778/2824032.2824052
– start-page: 1135
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0260
  article-title: Big data analytics with datalog queries on spark
– start-page: 7
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0110
  article-title: PGQL: a property graph query language
– volume: 54
  start-page: 49
  issue: 4
  year: 2011
  ident: 10.1016/j.jlamp.2025.101047_br0050
  article-title: A co-relational model of data for large shared data banks
  publication-title: Commun. ACM
  doi: 10.1145/1924421.1924436
– start-page: 58
  year: 2014
  ident: 10.1016/j.jlamp.2025.101047_br0270
  article-title: Wgb: towards a universal graph benchmark
– start-page: 347
  year: 1989
  ident: 10.1016/j.jlamp.2025.101047_br0160
  article-title: Theorems for free!
– volume: 37
  start-page: 31:1
  issue: 4
  year: 2012
  ident: 10.1016/j.jlamp.2025.101047_br0210
  article-title: Expressive languages for path queries over graph-structured data
  publication-title: ACM Trans. Database Syst.
  doi: 10.1145/2389241.2389250
– ident: 10.1016/j.jlamp.2025.101047_br0300
– start-page: 293
  year: 2001
  ident: 10.1016/j.jlamp.2025.101047_br0620
  article-title: Chapter 4 - modal logics and mu-calculi: an introduction
– volume: 14
  start-page: 23
  issue: 2
  year: 1991
  ident: 10.1016/j.jlamp.2025.101047_br0560
  article-title: Data structures and data types for object-oriented databases
  publication-title: IEEE Data Eng. Bull.
– start-page: 9
  year: 1991
  ident: 10.1016/j.jlamp.2025.101047_br0550
  article-title: Structural recursion as a query language
– start-page: 681
  year: 2020
  ident: 10.1016/j.jlamp.2025.101047_br0080
  article-title: On the optimization of recursive relational queries: application to graph queries
– volume: 149
  start-page: 3
  issue: 1
  year: 1995
  ident: 10.1016/j.jlamp.2025.101047_br0470
  article-title: Principles of programming with complex objects and collection types
  publication-title: Theor. Comput. Sci.
  doi: 10.1016/0304-3975(95)00024-Q
– start-page: 247
  year: 2009
  ident: 10.1016/j.jlamp.2025.101047_br0580
  article-title: Distributed aggregation for data-parallel computing: interfaces and implementations
– volume: 25
  start-page: 457
  issue: 4
  year: 2000
  ident: 10.1016/j.jlamp.2025.101047_br0570
  article-title: Optimizing object queries using an effective calculus
  publication-title: ACM Trans. Database Syst.
  doi: 10.1145/377674.377676
– ident: 10.1016/j.jlamp.2025.101047_br0310
– start-page: 1383
  year: 2015
  ident: 10.1016/j.jlamp.2025.101047_br0420
  article-title: Spark sql: relational data processing in spark
– start-page: 3297
  year: 2020
  ident: 10.1016/j.jlamp.2025.101047_br0180
  article-title: A cost estimation technique for recursive relational algebra
– start-page: 1
  year: 2018
  ident: 10.1016/j.jlamp.2025.101047_br0120
  article-title: Compile-time code generation for embedded data-intensive query languages
– year: 1987
  ident: 10.1016/j.jlamp.2025.101047_br0510
  article-title: The Implementation of Functional Programming Languages
– start-page: 204
  year: 1994
  ident: 10.1016/j.jlamp.2025.101047_br0590
  article-title: Efficient incremental evaluation of queries with aggregation
– volume: 16
  start-page: 16:1
  issue: 2
  year: 2015
  ident: 10.1016/j.jlamp.2025.101047_br0660
  article-title: Efficiently deciding μ-calculus with converse over finite trees
  publication-title: ACM Trans. Comput. Log.
  doi: 10.1145/2724712
– start-page: 21
  year: 2019
  ident: 10.1016/j.jlamp.2025.101047_br0650
  article-title: The mcrl2 toolset for analysing concurrent systems
– volume: 9
  start-page: 1317
  issue: 13
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0250
  article-title: Ldbc graphalytics: a benchmark for large-scale graph analysis on parallel and distributed platforms
  publication-title: Proc. VLDB Endow.
  doi: 10.14778/3007263.3007270
– start-page: 342
  year: 2007
  ident: 10.1016/j.jlamp.2025.101047_br0670
  article-title: Efficient static analysis of XML paths and types
– volume: 45
  start-page: 51
  issue: 1
  year: 2016
  ident: 10.1016/j.jlamp.2025.101047_br0280
  article-title: Implicit parallelism through deep language embedding
  publication-title: SIGMOD Rec.
  doi: 10.1145/2949741.2949754
– volume: 38
  start-page: 3:1
  issue: 1
  year: 2015
  ident: 10.1016/j.jlamp.2025.101047_br0690
  article-title: A logical approach to deciding semantic subtyping
  publication-title: ACM Trans. Program. Lang. Syst.
  doi: 10.1145/2812805
– ident: 10.1016/j.jlamp.2025.101047_br0320
– start-page: 173
  year: 2015
  ident: 10.1016/j.jlamp.2025.101047_br0240
  article-title: Understanding graph computation behavior to enable robust benchmarking
– start-page: 1433
  year: 2018
  ident: 10.1016/j.jlamp.2025.101047_br0100
  article-title: Cypher: an evolving query language for property graphs
SSID ssj0001687831
Score 2.2980034
Snippet Big data programming frameworks have become increasingly important for the development of applications for which performance and scalability are critical. In...
SourceID hal
crossref
elsevier
SourceType Open Access Repository
Index Database
Publisher
StartPage 101047
SubjectTerms Computer Science
Distributed data
Fixpoint operator
Logic in Computer Science
Optimization
Rewrite rules
Title Efficient iterative programs with distributed data collections
URI https://dx.doi.org/10.1016/j.jlamp.2025.101047
https://inria.hal.science/hal-04108082
Volume 144
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07T8MwELb6WFh4I8pLFmIkamo7cbIgVVWr8OoClbpZdnIR7RAqWvj9-BwHhIQYGGPpkuiLfXe-fP6OkCuTFlrGuQygKLF0U0aB4cicEmGhc2lyY_CP7uM0zmbibh7NW2TUnIVBWqX3_bVPd97aj_Q9mv3VYtF_Ypg7MNziuEQmbpMu42lsp3Z3eHufTb9LLXEiE9eZEE0CtGn0hxzTa2mxR-lKFuFIiJ1Wfo9R7Zem2uqiz2SXbPu0kQ7rN9sjLaj2yU7TkoH6FXpAbsZOEsJGElrrJVtnRj0Ha02x6EoLlMrFLldQUOSHUpwKjpBVrQ_JbDJ-HmWBb5EQ5JyzTQBS2xBsIhuEExutQUPIsBGpYWZgcuDAC7tiuYiNKaNE8khwayDwmJTJeVnyI9KpXis4JpShTkwuoAgLEJEEbbceqdQApTYaRNoj1w0oalUrYaiGIrZUDkOFGKoawx6JG-DUjw-qrK_-2_DSwvz1CJS_zoYPCsdCgYzIhH0MTv5791OyhVc1i-yMdDZv73Bu04qNufDT5hNidMqC
linkProvider Elsevier
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07T8MwED6VdoCFN6I8LcRI1DS2k3RBqqpWKX0stFI3y44d0Q6hooXfj89JQEiIgdXRJdEX--58-fwdwL3qaBmFaeQZnWHpJuOeosicYr6WaaRSpfCP7mQaJnP2tOCLGvSqszBIqyx9f-HTnbcuR1olmq31ctl6DjB3CHCL4xKZcAcaqE7F69DoDkfJ9LvUEsZR7DoToomHNpX-kGN6rSz2KF0ZcBzxsdPK7zFq56WqtrroMziE_TJtJN3izY6gZvJjOKhaMpByhZ7AY99JQthIQgq9ZOvMSMnB2hAsuhKNUrnY5cpogvxQglPBEbLyzSnMB_1ZL_HKFgleSmmw9UwkbQhW3Abh2EZrI40fYCNSFai2Sg01VNsVS1moVMbjiHJGrQHDY1IqpVlGz6Cev-bmHEiAOjEpM9rXhvHISLv16ETSmEwqaVinCQ8VKGJdKGGIiiK2Eg5DgRiKAsMmhBVw4scHFdZX_214Z2H-egTKXyfdscAxnyEjMg4-2hf_vfst7CazyViMh9PRJezhlYJRdgX17du7ubYpxlbdlFPoE_fmzWg
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=Efficient+iterative+programs+with+distributed+data+collections&rft.jtitle=Journal+of+logical+and+algebraic+methods+in+programming&rft.au=Chlyah%2C+Sarah&rft.au=Gesbert%2C+Nils&rft.au=Genev%C3%A8s%2C+Pierre&rft.au=Laya%C3%AFda%2C+Nabil&rft.date=2025-03-01&rft.issn=2352-2208&rft.volume=144&rft.spage=101047&rft_id=info:doi/10.1016%2Fj.jlamp.2025.101047&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_jlamp_2025_101047
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2352-2208&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2352-2208&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2352-2208&client=summon