Engineering a Distributed-Memory Triangle Counting Algorithm

Counting triangles in a graph and incident to each vertex is a fundamental and frequently considered task of graph analysis. We consider how to efficiently do this for huge graphs using massively parallel distributed-memory machines. Unsurprisingly, the main issue is to reduce communication between...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings - IEEE International Parallel and Distributed Processing Symposium S. 702 - 712
Hauptverfasser: Sanders, Peter, Uhl, Tim Niklas
Format: Tagungsbericht
Sprache:Englisch
Veröffentlicht: IEEE 01.05.2023
Schlagworte:
ISSN:1530-2075
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Counting triangles in a graph and incident to each vertex is a fundamental and frequently considered task of graph analysis. We consider how to efficiently do this for huge graphs using massively parallel distributed-memory machines. Unsurprisingly, the main issue is to reduce communication between processors. We achieve this by counting locally whenever possible and reducing the amount of information that needs to be sent in order to handle (possible) nonlocal triangles. We also achieve linear memory requirements despite superlinear communication volume by introducing a new asynchronous sparse-all-to-all operation. Furthermore, we dramatically reduce startup overheads by allowing this communication to use indirect routing. Our algorithms scale (at least) up to 32 768 cores and are up to 18 times faster than the previous state of the art.
AbstractList Counting triangles in a graph and incident to each vertex is a fundamental and frequently considered task of graph analysis. We consider how to efficiently do this for huge graphs using massively parallel distributed-memory machines. Unsurprisingly, the main issue is to reduce communication between processors. We achieve this by counting locally whenever possible and reducing the amount of information that needs to be sent in order to handle (possible) nonlocal triangles. We also achieve linear memory requirements despite superlinear communication volume by introducing a new asynchronous sparse-all-to-all operation. Furthermore, we dramatically reduce startup overheads by allowing this communication to use indirect routing. Our algorithms scale (at least) up to 32 768 cores and are up to 18 times faster than the previous state of the art.
Author Uhl, Tim Niklas
Sanders, Peter
Author_xml – sequence: 1
  givenname: Peter
  surname: Sanders
  fullname: Sanders, Peter
  email: sanders@kit.edu
  organization: Karlsruhe Institute of Technology,Institute of Theoretical Informatics,Karlsruhe,Germany
– sequence: 2
  givenname: Tim Niklas
  surname: Uhl
  fullname: Uhl, Tim Niklas
  email: uhl@kit.edu
  organization: Karlsruhe Institute of Technology,Institute of Theoretical Informatics,Karlsruhe,Germany
BookMark eNotzM1Kw0AUQOFRFGxr30AhL5B45y8zF9yUtGqhYsG6LpPmThxpJjJJF317EV2dzceZsqvYR2LsnkPBOeDDervcvmuFGgsBQhYAYMoLNkeDVmqQ0pSluGQTriXkAoy-YdNh-AIQIBVO2OMqtiESpRDbzGXLMIwp1KeRmvyVuj6ds10KLrZHyqr-FMdftji2fQrjZ3fLrr07DjT_74x9PK121Uu-eXteV4tNHgSoMeelQu65clZh3dSNEI2qrSSwGrky3rhaekLXWLJKl1J4f_CI_OAMGdBWztjd3zcQ0f47hc6l854DN0ZxlD-7xUsf
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/IPDPS54959.2023.00076
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
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 Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798350337662
EISSN 1530-2075
EndPage 712
ExternalDocumentID 10177419
Genre orig-research
GrantInformation_xml – fundername: European Research Council
  funderid: 10.13039/501100000781
GroupedDBID 29O
6IE
6IF
6IH
6IK
6IL
6IN
AAJGR
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
OCL
RIE
RIL
ID FETCH-LOGICAL-i204t-16491f14a849bdbd22d4b83e0859147f7ab3fe9ad8e845632ffcf991ca7e70583
IEDL.DBID RIE
ISICitedReferencesCount 3
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001035517300067&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:11:45 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i204t-16491f14a849bdbd22d4b83e0859147f7ab3fe9ad8e845632ffcf991ca7e70583
PageCount 11
ParticipantIDs ieee_primary_10177419
PublicationCentury 2000
PublicationDate 2023-May
PublicationDateYYYYMMDD 2023-05-01
PublicationDate_xml – month: 05
  year: 2023
  text: 2023-May
PublicationDecade 2020
PublicationTitle Proceedings - IEEE International Parallel and Distributed Processing Symposium
PublicationTitleAbbrev IPDPS
PublicationYear 2023
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0020349
Score 1.9006737
Snippet Counting triangles in a graph and incident to each vertex is a fundamental and frequently considered task of graph analysis. We consider how to efficiently do...
SourceID ieee
SourceType Publisher
StartPage 702
SubjectTerms clustering coefficient
Distributed processing
distributed-memory algorithm
graph analysis
Memory management
MPI
Program processors
Routing
Task analysis
triangle counting
Title Engineering a Distributed-Memory Triangle Counting Algorithm
URI https://ieeexplore.ieee.org/document/10177419
WOSCitedRecordID wos001035517300067&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/eLvHCXMwlV1NSwMxEA22ePBUPyp-k4PX2M0m3STgRVqLHiwLVuit5GNSC3UrdSv47022W-3Fg7eQS2CS8GaSee8hdB1SeOEgU4RpnxGeMUMUcEEsY9xmOrHU8MpsQgyHcjxWeU1Wr7gwAFA1n8FNHFZ_-W5hV_GprBOPT0BA1UANIcSarPVTXUWhlZqiQxPVecz7-XMofrqRjZJGGdMk6opsWahUCDJo_XPtfdT-5eLh_AdlDtAOFIeotTFjwPXdPEK3W8qCWON-FMSNXlbgyFPspv3Co3DWiukccK_2h8B38-liOStf39roZXA_6j2Q2hqBzNKElyQUOYp6yrXkyjjj0tRxIxlEuTLKhRfaMA9KOwkypEgs9d76kApaLUAkXcmOUbNYFHCCcIBok0oqvFUZN1orTnmAM8-FkQ5Se4raMRqT97X6xWQTiLM_5s_RXgz4uinwAjXL5Qou0a79LGcfy6tqz74BwDiXzw
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3LTgIxFG0UTXSFD4xvu3BbmU7LtE3cGNBABDKJmLAjfSIJDgYHE__edhiQjQt3TTdNbtuce9t7zgHg1qfwzNhEICJdgmhCFBKWMqQJoTqRkcaKFmYTrN_nw6FIS7J6wYWx1hbNZ_YuDIu_fDPTi_BUVg_HxyOg2AY7DUpjvKRrreurILVSknRwJOqdtJW--PKnEfgocRAyjYKyyIaJSoEhT9V_rn4Aar9sPJiuceYQbNnsCFRXdgywvJ3H4H5DWxBK2AqSuMHNyhrUC_2033DgT1s2nlrYLB0i4MN0PJtP8rf3Gnh9ehw026g0R0CTOKI58mWOwA5TyalQRpk4NlRxYoNgGabMMamIs0IabrlPkkjsnHY-GdSSWRY1ODkBlWyW2VMAPUirmGPmtEioklJQTD2gOcoUNzbWZ6AWojH6WOpfjFaBOP9j_gbstQe97qjb6T9fgP0Q_GWL4CWo5POFvQK7-iuffM6vi_37AdcomxY
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%3Abook&rft.genre=proceeding&rft.title=Proceedings+-+IEEE+International+Parallel+and+Distributed+Processing+Symposium&rft.atitle=Engineering+a+Distributed-Memory+Triangle+Counting+Algorithm&rft.au=Sanders%2C+Peter&rft.au=Uhl%2C+Tim+Niklas&rft.date=2023-05-01&rft.pub=IEEE&rft.eissn=1530-2075&rft.spage=702&rft.epage=712&rft_id=info:doi/10.1109%2FIPDPS54959.2023.00076&rft.externalDocID=10177419