G-ThinkerQ: A General Subgraph Querying System With a Unified Task-Based Programming Model
Given a large graph <inline-formula><tex-math notation="LaTeX">$G$</tex-math></inline-formula>, a subgraph query <inline-formula><tex-math notation="LaTeX">$Q$</tex-math></inline-formula> finds the set of all subgraphs of <inline-formula><tex-math notation="LaTeX">$G$</tex-math></inline-formula> that satisfy certain conditions specified by <inline-formula><tex-math notation="LaTeX">$Q$</tex-math></inline-formula>. Examples of subgraph queries including finding a community containing designated members to organize an event, and subgraph matching. To overcome the weakness of existing graph-parallel systems that underutilize CPU cores when finding subgraphs, our prior system, G-thinker, was proposed that adopts a novel think-like-a-task (TLAT) parallel programming model. However, G-thinker targets offline analytics and cannot support interactive online querying where users continually submit subgraph queries with different query contents. The challenges here are (i) how to maintain fairness that queries are answered in the order that they are received: a later query is processed only if earlier queries cannot saturate the available computation resources; (ii) how to track the progress of active queries (each with many tasks under computation) so that users can be timely notified as soon as a query completes; and (iii) how to maintain memory boundedness and high task concurrency as in G-thinker. In this article, we propose a novel TLAT programming framework, called G-thinkerQ, for answering online subgraph queries. G-thinkerQ inherits the memory boundedness and high task concurrency of G-thinker by organizing the tasks of each query using a “task capsule” structure, and designs a novel task-capsule list is to ensure fairness among queries. A novel lineage-based mechanism is also designed to keep track of when the last task of a query is completed. Parallel counterparts of the state-of-the-art algorithms for 4 recent advanced subgraph queries are implemented on G-thinkerQ to demonstrate its CPU-scalability.
Authors
- Lyuheng Yuan (ORCID: https://orcid.org/0000-0002-4374-8161)
- Jalal Khalil (ORCID: https://orcid.org/0000-0001-9853-2352)
- Lei Zou (ORCID: https://orcid.org/0000-0002-8586-4400)
- Cheng Long (ORCID: https://orcid.org/0000-0001-6806-8405)
- Saugat Adhikari (ORCID: https://orcid.org/0000-0002-7846-2200)
- Da Yan (ORCID: https://orcid.org/0000-0002-4653-0408)
- Guimu Guo (ORCID: https://orcid.org/0000-0002-3573-7446)
Institutions
- Nanyang Technological University (SG)
- St. Cloud State University (US)
- Peking University (CN)
- Indiana University Bloomington (US)
- Rowan University (US)
Publication Details
- Journal
- IEEE Transactions on Knowledge and Data Engineering
- Published
- 2025-05-03
- DOI
- https://doi.org/10.1109/tkde.2025.3537964
- Citations
- 1
- Primary Topic
- Advanced Database Systems and Queries
- Type
- article
- Field-Weighted Citation Impact
- 1.49
Funders
- Ministry of Education, Libya