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...
Gespeichert in:
| Veröffentlicht in: | Proceedings / International Conference on Parallel Architectures and Compilation Techniques S. 82 - 96 |
|---|---|
| Hauptverfasser: | , , , |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
IEEE
01.09.2019
|
| Schlagworte: | |
| ISSN: | 2641-7936 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| 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 Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE/IET Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE/IET Electronic Library (IEL) 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 |
| ISICitedReferencesCount | 10 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000550990200007&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| 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.150382 |
| 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 |
| WOSCitedRecordID | wos000550990200007&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07TwMxDLZKxcBUoEW8lYGRo02Ti5MRlVZM1Q1F6lYluVSqhK5wbfn9OHfXwsDCFkVKlNiOYye2P4AH7XggzU-Wm0KbSJPzxCqrE51KL1SOwbm8ApvA6VTP5yZrweMhFyaEUAWfhafYrP7y87XfxaeyvtYmFos5giNEVedq7WUnRRQkrGqvhcnOSEVTyocPTD97Hs1iIFesTjmIGLi_sFSqq2TS-d8iTqH3k5PHssNtcwatUJxDZw_KwJoz2gUzsZsty2wZQVLe2fhztyJhqoYfAt_YqmCWvdQvNyzOQbqh7MHbZDwbvSYNPkJih5huyTDOjfDSSuvVwFtHO7aOo1CCS4fGYCBfSBArltwhp6Ppl6lWQejUeU9-jLiAdrEuwiUwLwwZEksug9PSe_IyDOYKpfRDR2SVV9CNlFh81CUwFg0Rrv_uvoGTSOo6FOsW2ttyF-7g2H9tV5vyvuLbN98Cls0 |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEJ4gmugJFYxve_Doypa-j0YhGJHsARNupO2WhMQsuiz-ftvdBT148dY0adPOTKcz7cx8ALfSYOc1v7fcuNARVSmONNcykoxawlPhjElLsAkxHsvpVCUNuNvmwjjnyuAzdx-a5V9-urTr8FTWlVKFYjE7sMso7cVVttZGepgQxIsr3-hhb2kwUhfzwbHqJg-PkxDKFepTxgEF9xeaSnmZDFr_W8YhdH6y8lCyvW-OoOGyY2htYBlQfUrboAZ6VaBE5wEm5R31P9cLL07l8G3oG1pkSKOn6u0GhTm8dsg78DboTx6HUY2QEOmeYIU3jVNFLNVUWx5bbfyOtcGCcIKpEUoJ570h4pkxx0ZgfzjtnEnuiGTGWu_JkBNoZsvMnQKyRHlTYo6pM5Ja6_0MJVIuKLU948lKz6AdKDH7qIpgzGoinP_dfQP7w8nraDZ6Hr9cwEEgexWYdQnNIl-7K9izX8VilV-XPPwG6uKaFA |
| 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 |