Fast Parallel Equivalence Relations in a Datalog Compiler

Modern parallelizing Datalog compilers are employed in industrial applications such as networking and static program analysis. These applications regularly reason about equivalences, e.g., computing bitcoin user groups, fast points-to analyses, and optimal network routes. State-of-the-art Datalog en...

Full description

Saved in:
Bibliographic Details
Published inProceedings / International Conference on Parallel Architectures and Compilation Techniques pp. 82 - 96
Main Authors Nappa, Patrick, Zhao, David, Subotic, Pavle, Scholz, Bernhard
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.09.2019
Subjects
Online AccessGet full text
ISSN2641-7936
DOI10.1109/PACT.2019.00015

Cover

Abstract Modern parallelizing Datalog compilers are employed in industrial applications such as networking and static program analysis. These applications regularly reason about equivalences, e.g., computing bitcoin user groups, fast points-to analyses, and optimal network routes. State-of-the-art Datalog engines represent equivalence relations verbatim by enumerating all possible pairs in an equivalence class. This approach inhibits scalability for large datasets. In this paper, we introduce EQREL, a specialized parallel union-find data structure for scalable equivalence relations, and its integration into a Datalog compiler. Our data structure provides a quadratic worst-case speed-up and space improvement. We demonstrate the efficacy of our data structure in SOUFFLÉ, which is a Datalog compiler that synthesizes parallel C ++ code. We use real-world benchmarks and show that the new data structure scales on shared-memory multi-core architectures storing up to a half-billion pairs for a static program analysis scenario.
AbstractList Modern parallelizing Datalog compilers are employed in industrial applications such as networking and static program analysis. These applications regularly reason about equivalences, e.g., computing bitcoin user groups, fast points-to analyses, and optimal network routes. State-of-the-art Datalog engines represent equivalence relations verbatim by enumerating all possible pairs in an equivalence class. This approach inhibits scalability for large datasets. In this paper, we introduce EQREL, a specialized parallel union-find data structure for scalable equivalence relations, and its integration into a Datalog compiler. Our data structure provides a quadratic worst-case speed-up and space improvement. We demonstrate the efficacy of our data structure in SOUFFLÉ, which is a Datalog compiler that synthesizes parallel C ++ code. We use real-world benchmarks and show that the new data structure scales on shared-memory multi-core architectures storing up to a half-billion pairs for a static program analysis scenario.
Author Zhao, David
Nappa, Patrick
Scholz, Bernhard
Subotic, Pavle
Author_xml – sequence: 1
  givenname: Patrick
  surname: Nappa
  fullname: Nappa, Patrick
  organization: The University of Sydney
– sequence: 2
  givenname: David
  surname: Zhao
  fullname: Zhao, David
  organization: The University of Sydney
– sequence: 3
  givenname: Pavle
  surname: Subotic
  fullname: Subotic, Pavle
  organization: Amazon
– sequence: 4
  givenname: Bernhard
  surname: Scholz
  fullname: Scholz, Bernhard
  organization: The University of Sydney
BookMark eNotj01Lw0AUAFdRsKmePXjZP5C4b7_3WGKrQsEiFbyVl_VFVrZJTaLgv7egp7nNMAU76_qOGLsGUQGIcLtZ1NtKCgiVEALMCSvASQ_Kgno9ZTNpNZQuKHvBinH8EEKDNWrGwgrHiW9wwJwp8-XnV_rGTF0k_kwZp9R3I08dR36HE-b-ndf9_pAyDZfsvMU80tU_5-xltdzWD-X66f6xXqxLlM5MpXNvQUWNGqMVEZtjFRtwyirQjQvBEVitSOoWGgfG-dgab0l508QorVBzdvPnTUS0Owxpj8PPzvtwHLDqF9UcRpQ
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/PACT.2019.00015
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE/IET Electronic Library
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 172813613X
9781728136134
EISSN 2641-7936
EndPage 96
ExternalDocumentID 8891656
Genre orig-research
GroupedDBID 123
23M
29O
6IE
6IL
ACGFS
AFFNX
ALMA_UNASSIGNED_HOLDINGS
CBEJK
M43
RIE
RIL
RNS
ID FETCH-LOGICAL-a275t-77d93c4a4ac60cab653ab1736314b7997e1643e24f1b71578cf586e385bcc2603
IEDL.DBID RIE
IngestDate Wed Aug 27 02:43:19 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a275t-77d93c4a4ac60cab653ab1736314b7997e1643e24f1b71578cf586e385bcc2603
PageCount 15
ParticipantIDs ieee_primary_8891656
PublicationCentury 2000
PublicationDate 2019-Sept.
PublicationDateYYYYMMDD 2019-09-01
PublicationDate_xml – month: 09
  year: 2019
  text: 2019-Sept.
PublicationDecade 2010
PublicationTitle Proceedings / International Conference on Parallel Architectures and Compilation Techniques
PublicationTitleAbbrev PACT
PublicationYear 2019
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0041653
ssib057737306
Score 2.151557
Snippet Modern parallelizing Datalog compilers are employed in industrial applications such as networking and static program analysis. These applications regularly...
SourceID ieee
SourceType Publisher
StartPage 82
SubjectTerms Australia
C++ languages
Data structures
Datalog Compiler
Engines
Equivalence Relation
Parallel Data Structures
Program processors
Semantics
Semi-naïve Evaluation
Vegetation
Title Fast Parallel Equivalence Relations in a Datalog Compiler
URI https://ieeexplore.ieee.org/document/8891656
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwED21nZgKtIhveWAkbRzbcTyi0qhCKurQSt0q27GlCpRCSRZ-PXY-CkIMbFGkWNb57PNd3r0HcJdFRPOImsD6th5KrAkSQkjAtaQii6TF2tch58_xbEWf1mzdgftDL4wxpgKfmZF_rP7lZztd-lLZOEmEJ4vpQte5Wd2r1foO45w4Z43bU9jdMxhpqHxwKMaLh8nSA7k8O2XoNXB_aKlUoSTtw7ydRI0geRmVhRrpz1_8jP-d5TEMv5v20OIQjk6gY_JT6LeqDajZxAMQqfwo0ELuvYrKK5q-l1vnbdXnB2Qc2uZIose6tIP8GO7w2A9hlU6Xk1nQCCgEMuKscDfnTBBNJZU6DrVUziRSYU5igqniQnDjkiViImqx4tjtXW1ZEhuSMKW1S3TIGfTyXW7OAWFBJaFhpjM3oI2lwMxgpmyitEugQnEBA2-JzVvNkbFpjHD59-srOPJrUWO1rqFX7Etz44J7oW6rVf0CBhGiSA
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwED2VMsBUoEV844GRtHFsx_GIClWBturQSt0q23GkCpRCSRZ-PXY-CkIMbFGkWNb57PNd3r0HcBMHRPOAGi9xbT2UJMaLCCEe15KKOJAJ1q4OOZ6Ewzl9WrBFA263vTDGmAJ8ZrrusfiXH6917kplvSgSjixmB3Zt3Kes7NaqvYdxTqy7hvU5bG8ajFRkPtgXveldf-agXI6f0ncquD_UVIpgMmjBuJ5GiSF56eaZ6urPXwyN_53nAXS-2_bQdBuQDqFh0iNo1boNqNrGbRAD-ZGhqdw4HZVX9PCer6y_FZ9vsXFolSKJ7sviDnJj2ONj04H54GHWH3qVhIInA84ye3eOBdFUUqlDX0tlTSIV5iQkmCouBDc2XSImoAlWHNvdqxMWhYZETGltUx1yDM10nZoTQFhQSagf69gOmIRSYGYwU0mktE2hfHEKbWeJ5VvJkrGsjHD29-tr2BvOxqPl6HHyfA77bl1K5NYFNLNNbi5tqM_UVbHCX7kQpZU
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=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Parallel+Architectures+and+Compilation+Techniques&rft.atitle=Fast+Parallel+Equivalence+Relations+in+a+Datalog+Compiler&rft.au=Nappa%2C+Patrick&rft.au=Zhao%2C+David&rft.au=Subotic%2C+Pavle&rft.au=Scholz%2C+Bernhard&rft.date=2019-09-01&rft.pub=IEEE&rft.eissn=2641-7936&rft.spage=82&rft.epage=96&rft_id=info:doi/10.1109%2FPACT.2019.00015&rft.externalDocID=8891656