{"id":36,"date":"2022-07-31T07:15:08","date_gmt":"2022-07-31T06:15:08","guid":{"rendered":"https:\/\/blogs.qub.ac.uk\/dipsa\/?page_id=36"},"modified":"2026-05-01T17:22:06","modified_gmt":"2026-05-01T16:22:06","slug":"high-performance-graph-processing","status":"publish","type":"page","link":"https:\/\/blogs.qub.ac.uk\/dipsa\/high-performance-graph-processing\/","title":{"rendered":"High-Performance Graph Processing"},"content":{"rendered":"\n<p class=\"has-text-align-justify\">We design computation- and memory-optimized scalable parallel and distributed graph algorithms and processing models. This research sits at the intersection between high-performance computing, computer architecture, and computer networks. Some of this work uses approximation, or <a href=\"https:\/\/blogs.qub.ac.uk\/dipsa\/transprecise-computing\/\" data-type=\"page\" data-id=\"76\">transprecise computing<\/a>.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">&#8211; <a href=\"https:\/\/blogs.qub.ac.uk\/DIPSA\/ParaGrapher\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>ParaGrapher<\/strong><\/a> [2023-2024] is a high-performance graph loading API and library that helps HPC researchers with immediate access to a wide range of real-world graphs, especially the large ones that are published in compressed formats and require deploying other frameworks and programming languages.<br><br>&#8211; <a href=\"https:\/\/blogs.qub.ac.uk\/DIPSA\/MS-BioGraphs\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>MS-BioGraphs Datasets<\/strong><\/a> [2022 &#8211; 2023] are a family of trillion-scale public real-world graph datasets and the largest public real-world graphs at the time of publication (Aug. 2023). The datasets have been created by matching similarity between 1.7 billion proteins and contains up to 2.5 trillion edges.<\/p>\n\n\n\n<p>&#8211; <a href=\"https:\/\/blogs.qub.ac.uk\/dipsa\/category\/graph-algorithms\/subgraph-isomorphism\/\" data-type=\"category\" data-id=\"69\"><strong>Subgraph Isomorphism<\/strong><\/a> [2021 &#8211; 2024] studies aims to enhance the efficiency and effectiveness of subgraph isomorphism search, by adopting heuristics dynamically, embracing vector-based embeddings, and harnessing parallelism.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">&#8211;<strong> <\/strong><a href=\"https:\/\/blogs.qub.ac.uk\/dipsa\/iterative-approximate-analysis-of-graph-structured-data-for-precision-medicine\/\"><strong>Approximate Maximum Weighted Clique<\/strong><\/a><strong> <\/strong> [2021 &#8211; 2024] is the search for an efficient (polynomial time) algorithm to solve the maximum weighted clique problem while finding near-optimal weighted cliques.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>&#8211; <\/strong><a href=\"https:\/\/blogs.qub.ac.uk\/DIPSA\/category\/graptor\"><strong>Graptor<\/strong><\/a>&nbsp;[2019 &#8211; ongoing] enhances GraphGrind and VEBO by providing Single Instruction Multiple Data (SIMD) vectorization for graph analytics using the SSE, AVX2 and AVX-512 instruction sets families.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>&#8211; <\/strong><strong><a href=\"https:\/\/blogs.qub.ac.uk\/DIPSA\/LaganLighter\">LaganLighter&nbsp;<\/a><\/strong> [2019 &#8211; 2022]: Having the experience of GraphGrind and VEBO, we understood the requirement of re-studying graph algorithms based on the implications imposed by the structure of datasets into the execution of graph analytics. LaganLighter introduces structure-aware high-performance graph algorithms.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>&#8211; <a href=\"https:\/\/blogs.qub.ac.uk\/DIPSA\/vebo-a-vertex-and-edge-balanced-ordering-heuristic-to-load-balance-parallel-graph-processing\/\">VEBO<\/a><\/strong>&nbsp;[2017 &#8211; 2018] provides load balancing and better CPU utilization by applying a new graph relabeling and partitioning algorithm. The assumption behind VEBO is that load balance is a more important consideration for shared-memory graph partitioning than memory locality. VEBO has been implemented for GraphGrind and also for <a href=\"https:\/\/dl.acm.org\/doi\/10.1145\/2858788.2688507\">Polymer<\/a>.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>&#8211;<\/strong> <strong><a href=\"https:\/\/blogs.qub.ac.uk\/DIPSA\/category\/graphgrind\/\">GraphGrind<\/a><\/strong> [2014 &#8211; 2017]&nbsp;optimizes <a href=\"https:\/\/dl.acm.org\/doi\/10.1145\/2517327.2442530\">Ligra<\/a> and <a href=\"https:\/\/dl.acm.org\/doi\/10.1145\/2858788.2688507\">Polymer<\/a> for systems with Non-Uniform Memory-Architecture (NUMA) by adapting the parallelisation approach (vertices and edges partitioning and scheduling algorithms) to the graph algorithm, by compressing of topology data,&nbsp;and&nbsp;by introducing a new NUMA-aware&nbsp;work-stealing&nbsp;algorithm that extends&nbsp;Cilk.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We design computation- and memory-optimized scalable parallel and distributed graph algorithms and processing models. This research sits at the intersection between high-performance computing, computer architecture, and computer networks. Some of this work uses approximation, or transprecise computing. &#8211; ParaGrapher [2023-2024] is a high-performance graph loading API and library that helps HPC researchers with immediate access [&hellip;]<\/p>\n","protected":false},"author":975,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-36","page","type-page","status-publish","czr-hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/pages\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/users\/975"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":54,"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/pages\/36\/revisions"}],"predecessor-version":[{"id":3905,"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/pages\/36\/revisions\/3905"}],"wp:attachment":[{"href":"https:\/\/blogs.qub.ac.uk\/dipsa\/wp-json\/wp\/v2\/media?parent=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}