Next Article in Journal
ANFIS-PSO-Based Optimization for THD Reduction in Cascaded Multilevel Inverter UPS Systems
Previous Article in Journal
Buffer Occupancy-Based Congestion Control Protocol for Wireless Multimedia Sensor Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Near-Data Source Graph Partitioning

by
Furong Chang
1,
Hao Guo
2,
Farhan Ullah
3,
Haochen Wang
4,
Yue Zhao
5 and
Haitian Zhang
6,*
1
School of Information Engineering, Yangzhou Polytechnic Institute, Yangzhou 225127, China
2
School of Software, Northwestern Polytechnical University, Taicang 215400, China
3
Cybersecurity Center, Prince Mohammad Bin Fahd University, Khobar, Dhahran 34754, Saudi Arabia
4
School of Computer Engineering and Science, Shanghai University, Shanghai 200444, China
5
Department of Computer Science, College of Science, Mathematics and Technology, Wenzhou-Kean University, Wenzhou 325060, China
6
School of Media Science/School of Journalism, Northeast Normal University, Changchun 130117, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(22), 4455; https://doi.org/10.3390/electronics13224455
Submission received: 7 October 2024 / Revised: 8 November 2024 / Accepted: 12 November 2024 / Published: 13 November 2024
(This article belongs to the Section Computer Science & Engineering)

Abstract

:
Recently, numerous graph partitioning approaches have been proposed to distribute a big graph to machines in a cluster for distributed computing. Due to heavy communication overhead, these graph partitioning approaches always suffered from long ingress times. Also, heavy communication overhead not only limits the scalability of distributed graph-parallel computing platforms but also reduces the overall performance of clusters. In order to address this problem, this work proposed a near-data source parallel graph partitioning approach noted as NDGP. In NDGP, an edge was preferentially distributed to the machine where it was stored. We implemented NDGP over two classic graph partitioning approaches, Random and Greedy, and one most recently proposed graph partitioning approach, OLPGP, and evaluated its effectiveness. Extensive experiments conducted on real-world data sets verified the effectiveness of NDGP on reducing the communication overhead in the graph partitioning process and demonstrated that NDGP does not induce additional communication and computing workload to the graph-distributed computing that follows.

1. Introduction

Recently, graphs have been used to represent data coming from social science, astronomy, computational biology, telecommunications, semantic web, protein networks, and many other domains [1]. Also, the volume and complexity of these graph-structured data are increasing at a high rate. Processing these graph-structured data in effective way can help people to find knowledge with huge commercial or scientific value [2,3,4,5]. Graph partitioning can quickly split a big graph into small graphs for computing in a distributed way. Also, well-designed graph partitioning approaches are highly effective in minimizing the overall communication overhead and runtime of jobs with computing dependencies [6]. However, big data computing systems using existing graph partitioning strategies are still suffering from high communication overhead and low speedup. Thus, how to partition a big graph in an appropriate way with high efficiency becomes a significant research topic.
Graph partitioning methods vary significantly in terms of their heuristics, assumptions, and respective performance. Thus, this makes it difficult for developers to compare them and assess their characteristics. Choosing the right technique for the computational problem at hand is not trivial because each method adopts a limited set of application objectives and constraints.
Theoretically, graph partitioning is about cutting a large graph into several pieces. Partitioning a big graph into k pieces is usually called k-way partitioning. Some existing partitioning methods, e.g., Random partitioning, usually use a “one-size-fits-all” design that uniformly processes all vertices. Other existing partitioning methods, e.g., Greedy partitioning, try to find the best partition for a given graph under a certain objective function. So far, no graph partitioning method has paid attention to using the original location information of an edge to reduce the graph partitioning latency and the communication overhead introduced by graph partitioning. Due to the low network transmission rate among machines and the large amount of communication overhead, the graph partitioning process always suffers from long latency. In order to address this problem, this work proposed a new graph partitioning approach that takes the original location of an edge as a heuristic condition during the graph partitioning process. By reducing the communication overhead in the graph partitioning process, the proposed approach not only improves the graph partitioning rate but also relieves the overall communication overhead for the underlying system. Many partitioning techniques [4,7,8,9,10,11,12] work for data clustering, which is used for recommendations instead of workload partitioning. Work [13] used a graph partitioning approach for computational offloading in cloud computing.
The rest of this paper is organized as follows. Section 2 introduces the related works. The proposed near-data graph partitioning approach is detailed in Section 3 and Section 4. Section 5 details the experiment design and results. Section 6 concludes this paper.

2. Related Works

In terms of graph partitioning, there have been lots of work carried out in high-performance scientific simulation and multilevel graph partitioning during the recent decade [14,15,16,17,18,19]. Researchers have placed their focus on various subjects, such as dealing with large real-world graphs, large scale k-way balanced graph partitioning, and graph-parallel systems. Latest works have also explored 3D partitioning for large-scale graph processing [20].
To obtain adequate partitions in large real-world graphs, massive scale graphs frameworks, such as KaHIP [21], Metis [22], Scotch [23], are proposed. To obtain quick partitioning rate, parallel graph partitioning is also developed by people. Work [24] explores the design space of creating a multi-threaded graph partitioner. The idea of the parallel version of Scotch, PT-Scotch [23], is concerned about recursive bi-partitioning. Only the vertices near the border of a recent partitioning would be considered to reduce the communication cost in PT-Scotch. KaPPa [25] and PDiBaP [26] are also popular methods that are used in different situations, depending on the processors that are available. Compared to PT-Scotch, work [27] can achieve better effectiveness and scalability. While partitioning large complicated networks, ParHIP [27] works better as it adapts a label propagation technique.
Works [28,29] take the direction of an edge as a heuristic condition while partitioning the input graph. Some other methods, like Leopard [30], are proposed to process workloads that are read-only. However, it does not fit systems like Pregel.
In recent studies, Zhang et al. [31] introduced degree-based graph entropy in the similarity matrix calculation to realize social graph anonymization via a graph partition based on a privacy-preserving scheme, named GPPS. Shuai Zhang et al. [32] proposed a novel efficient and balanced vertex-cut graph partition algorithm called EBV, which grants appropriate weights to the overall communication cost and communication balance, and it had great potential in improving the huge communication volume or the extreme message imbalance among partitioned subgraphs in traditional graph partitioning algorithms. Moussawi et al. [33] compared the Spinner algorithm with their graph partitioning algorithm named B-GRAP, which was based on the Label Propagation (LP) approach and defined different objective functions to deal with either vertex or edge balance constraints while considering edge direction in graphs to show the improved performance of large graph data analytic computations. Additionally, Yin et al. [34] used a novel network partitioning algorithm to improve the scalability of agent-based modeling of mass evacuation based on a cutting-edge cyberGIS-enabled computational framework, applying graph partition theory successfully to situations like mass emergency evacuation. Moreover, LENTP (large-scale emulation network topology partition) based on the community detection with the weight of the vertex similarity has been proposed by Yan et al. [35] to solve the large-scale topology partition, like emulation networks. Angelika Wiegele and Shudian Zhao [36] introduced two graph partitioning problems, the k-equipartition problem and the graph partition problems with knapsack constraints (GPKCs), and used an extended ADMM algorithm, applying it to the tight SDP relaxations for graph partitioning problems with non-negativity constraints.
Many recent graph partitioning works have also adopted the re-partitioning strategy, in which the graph is dynamically redistributed across machines to further improve the load balance and reduce the communication overhead for the graph computing that follows [37,38,39,40].

3. Near-Data Graph Partitioning

In the big data era, the volume of data to process is always extremely huge. Utilizing distributed processing for these data is essential. Transmitting data among computing units obviously induces large volume communication overhead to the distributed computing system. Heavy communication overhead will introduce a long time latency to a big data processing job. Thus, instead of transmitting data to a computing unit, we think about moving the computing to data and trying to keep the data stay where they are. In large-scale distributed graph computing jobs, the task of graph partitioning is to assign the large graph to computing nodes. We employed the moving computing to data idea in a graph partitioning process, proposing the near-data graph partitioning (NDGP) approach. To be specific, when selecting a computing node for an edge, the node where the edge located is given priority under the premise that other basic requirements (e.g., work balance) are satisfied. Figure 1 illustrates the traditional graph partitioning process. Figure 2 illustrates the scenario under the near-data graph partitioning (NDGP) approach. We take Edge (1, 3) located in Machine 1 as an example. Assuming that assigning Edge (1, 3) to Machine 1, where it is located, does not violate the workload balance and other principles followed by traditional graph partitioning strategies, NDGP will assign Edge (1, 3) to Machine 1 for computing. On the other hand, traditional graph partition strategies will assign Edge (1, 3) randomly to a number of candidates. By keeping the local edge in the local machine, the cost of communication overhead due to assigning the edge to other machines is avoided. Thus, by introducing NDGP, the communication overhead occurring in the graph partitioning process is expected to be reduced. Consequently, the graph partitioning time is also expected to be shorter.
An effective distributed graph computing abstraction relies on an optimal graph placement on the computing nodes used. A successful graph partitioning approach should generate a graph placement that minimizes the computing and communication in the graph-distributed computing that follows and ensures work balance. In particular, given a graph G ( V , E ) , we assume that after p-way vertex-cut partitioning, the local graph assigned to a machine M i d ( i d { 1 , 2 , , p } (p is the number of machines used)) is G i d ( V i d , E i d ) . Thus, in order to ensure work balance, the following conduction should be satisfied:
max i d { 1 , 2 . . . p } { | E i d | } δ | E | p
where δ ( δ 1 ) is the balance factor that is a constant, which is set by system managers or users.
In order to minimize computing, I/O, and communication, we must minimize the number of vertex replicas. P-way vertex-cut partitioning assigns each edge e E to a machine Ω ( e ) { 1 , 2 , , p } . We note the set of machines a vertex v spans as Ω ( v ) { 1 , , p } . The balanced vertex-cut objective is
max Ω 1 | V | v V | Ω ( v ) |
s . t . max i d { 1 , 2 p } { | E i d | } δ | E | p

4. Implementation

In this paper, we mainly discuss two existing representative graph partitioning approaches, Random [41] and Greedy [41]. Moreover, we implement and evaluate NDGP approaches over these two approaches. There are two reason for selecting Random and Greedy approaches to implement and evaluate NDGP. First, they are both basic and classic graph partitioning strategies. Other existing graph partitioning strategies are designed and implemented based on them, like NDGP. Second, NDGP is the first strategy that takes the data source into account in the graph partitioning process.
The Random approach simply conducts a vertex cut by assigning edges randomly to machines. It employs a hash map to ensure work balance. Thus, in order to design and implement the add-on near-data graph partitioning functionality, i.e., NDGP_Random (Algorithm 1), we just need to give high priority to the machine candidate that the current edge used for the assigning task is located on.
k s . t . a r g min k E v V | Ω ( v ) | : Ω i , Ω ( e i + 1 ) = k
Thus, in order to design and implement the near-data graph partitioning feature over the Greedy approach, i.e., NDGP_Greedy (Algorithm 2), the k-selected machine should be the machine where e i + 1 is located, and k must satisfy the following:
s . t . max i d [ 1 , p ] { | E i d | } δ | E | p
s . t . a r g min k E v V | Ω ( v ) | : Ω i , Ω ( e i + 1 ) = k
Algorithm 1 NDGP_Random
  • // assign edge (source, target) to a machine p in {0,…numprocs-1}
  • // β is imbalance factor
  • INPUT: Source, Target, # of processes
  • OUTPUT: process/machine ID
1:
i = location_edge(source, target);
2:
balance = (maxedges − proc_num_edges[i])/(epsilon + maxedges − minedges);
3:
if balance β  then
4:
    Return p = i;
5:
end if
6:
Return p = hash_edge(source, target) in {0, …numprocs-1};
Algorithm 2 NDGP_Greedy
  • // assign edge (source, target) to a machine p in {0,…numprocs-1}
  • // β is imbalance factor
  • INPUT: Source, Target, # of processes
  • OUTPUT: process/machine ID
  1:
i = location_edge(source, target);
  2:
balance = (maxedges − proc_num_edges[i])/(epsilon + maxedges − minedges);
  3:
proc_score[i] = balance + a credit if source is already on i+ a credit if target is already on i;
  4:
if balance ≤ β   & & (|proc_score[i] − maxscore < le-c|) then // c is an integer constant
  5:
    Return p = i;
  6:
end if
  7:
for each machine i do
  8:
balance = (maxedges − proc_num_edges[i])/(epsilon + maxedges − minedges);
  9:
proc_score[i] = balance + a credit if source is already on i + a credit if target is already on i;
10:
if  p r o c _ s c o r e [ i ] m a x s c o r e < 1e-c then // c is an integer constant
11:
    Put i into the candidate set;
12:
end if
13:
end for
14:
Return p = hash_edge(source, target) in the candidate set;
The NDGP algorithm was implemented in the function assign_edge (source, target) provided by the open source distributed graph processing framework Powergraph [41]. NDGP works when the function assign_edge (source, target) is called. The time complexity of the NDGP algorithm is O(n), which is same to that of the existing graph partitioning algorithms, Random and Greedy. NDGP can reduce the communication overhead occurring in the graph partitioning process. In order to evaluate the performance of NDGP on the most recently proposed partitioning strategy, we also implemented NDGP on OLPGP [42]. OLPGP is an optimized label propagation-based graph partitiong algorithm implemented on Spark GraphX. We implemented NDGP_OLPGP by giving higher priority to the local machine if it was in the candidate set obtained by OLPGP.

5. Experiments

5.1. Experiment Platform

Our experiments were conducted on a Linux-based cluster. The cluster consists of one front end node that runs the Intel Data Center Manager and 140 computing (worker) nodes connected via 0.5 GB Ethernet. Each computing node has 64 GB of RAM and two E5-2690 CPUs (2.9 GHz/8-core). The job scheduler used is the IBM platform LSF job scheduling system. All data have three replicas that are stored in different storage nodes. We used up to 48 nodes in our experiment. The results and discussion may be presented separately, or in one combined section, and may optionally be divided into headed subsections.

5.2. Benchmarking Algorithms and Data Set

We selected PageRank, SSSP (directed shortest path) and Triangle Counting detailed in Table 1 as benchmarking algorithms. These algorithms are all representative graph computing algorithms. Google uses the PageRank algorithm to compute the rank value for each web page in a web graph. This rank value determines the order of the web page in the show list when people search a page using Google. SSSP (directed shortest path) helps people to find the shortest path between two nodes in a graph. Triangle Counting is mainly used to evaluate the cohesion of a specific network and the degree of aggregation of nodes. It can be used for social network analysis and fraud analysis. These algorithms are used as benchmarks and are implemented by most existing open source distributed graph processing frameworks. We conducted our tests on Spark GraphX [43] and Powergraph [41]. We evaluated NDGP on four data sets listed in Table 2.

5.3. Experiment Design and Results

We conducted parallel graph partitioning and ran the PageRank algorithm on the selected data sets to evaluate the effectiveness of NDGP. All presented results came from the average of at least three runs. In our experiments, edge distributing was conducted on all computing nodes in parallel. Thus, NDGP was conducted in parallel. By distributing the edges in parallel, the graph partitioning time can be significantly reduced compared to the sequential graph partitioning using only one computing node.
Figure 3 compares the number of edges sent when we are distributing the LiveJournal data set to eight machines using the Greedy partitioning strategy and the NDGP_Greedy partitioning strategy, respectively. Figure 4 compares the number of edges sent when we are distributing the Twitter data set to 16 machines using the Random partitioning strategy and the NDGP_Random partitioning strategy, respectively. The thickness of the line represents the number of edges. The results demonstrate that compared to the original partitioning strategies, NDGP can significantly reduce the number of edges sent. For example, compared to the Random partitioning strategy, the NDGP_Random partitioning strategy can reduce the number of edges sent up to 33%.
Figure 5 and Figure 6 compare the runtime and the volume of communication overheads happening on the graph computing process running PageRank on the Twitter data set, respectively. Both the runtime and the volume of communication overheads under NDGP and the existing strategies are roughly the same. This demonstrates that NDGP does not lengthen the runtime and not introduce more communication overheads while running PageRank on the Twitter graph comparing the existing strategies. Moreover, NDGP does not affect the effectiveness of Greedy and OLPGP in reducing the runtime and communication overheads of PageRank running on the Twitter graph. The reason is that NDGP does not introduce an additional operation that will affect the graph computing that follows, with the number of machines used increasing the results under NDGP and existing strategies being constantly almost the same. This verifies the scalability of NDGP and also demonstrates that NDGP does not break the workload balance obtained by existing partitioning strategies.
Figure 7 shows a comparison of the volume of communication overheads happening on the graph computing process running SSSP on the BFS data set, and Figure 8 shows a comparison of the graph computing time following the partitioning phase running Triangle Counting on the BFS data set. The results demonstrate that NDGP introduces no additional computing and communication overheads to SSSP and Triangle Counting. The results also demonstrate that NDGP does not affect the effectiveness of the Greedy partitioning strategy in reducing the SSSP and Triangle Counting runtime.
METIS [45] uses a technique called multi-level graph construction, which first refines and balances large undirected graphs multiple times and then performs k-way partitioning at each layer. K-way partitioning divides a graph into k parts with equal or approximately equal number of edges. This algorithm optimizes the partitioning quality by minimizing edge cutting (i.e., the number of edges connecting different partitions). In order to fully demonstrate the effectiveness of NDGP, we also integrated NDGP into the METIS partitioning strategy and conducted comparative experiments. Due to METIS being used to deal with undirected graphs [46], we conducted our experiments on an undirected graph data set, com-Orkut. Figure 9 shows a comparison of the number of edges sent when we were distributing the com-Orkut data set. The results demonstrate that compared to METIS, NDGP_METIS can also significantly reduce the number of edges sent, which dramatically reduce the communication overhead in the graph partitioning progress. Figure 10 and Figure 11 demonstrate that NDGP does not induce a negative impact and even further improves the efficiency of METIS, in some cases, regarding both the communication overhead and runtime while calculating the partitioned graph.
In summary, NDGP can significantly reduce the graph partitioning communication overhead and time by processing local edges with the local machine. On the other hand, NDGP introduces no additional computing and communication overhead to the graph computing process and does not affect the effectiveness of the Greedy partitioning strategy in reducing the graph computing time. Also, the scalability of the NDGP approach was demonstrated on both the size of the data sets and the number of machines used. Good scalability guarantees the practical applications of the proposed approach.

6. Conclusions

Due to the low network transmission rate among machines and large amount of communication overhead, the graph partitioning process always suffers from long latency. In order to address this problem, we proposed a near-data source parallel graph partitioning approach, NDGP. NDGP takes the original location of an edge as a heuristic condition during the graph partitioning process. We designed and implemented the proposed approach and evaluated its effectiveness on real-world data sets. Our extensive experimental results verified the effectiveness of our approach on reducing the communication overhead for the graph partitioning process and demonstrated that the proposed approach did not induce additional communicating and computing workload to the following graph-distributed computing. Also, the scalability guaranteeing the practical applications of the proposed approach was verified on both the size of the data sets and the number of machines used. In summary, the proposed approach reduced the graph partitioning overhead and improved the effectiveness of the distributed graph processing system. In the future, we plan to take the edge location information into account in the graph computing phase, aiming to reduce the communication overhead and runtime in the graph computing process.

Author Contributions

Conceptualization, Y.Z.; methodology, F.C., H.G., F.U. and Y.Z.; validation, H.G. and H.Z.; formal analysis, H.W.; investigation, H.W.; data curation, Y.Z.; writing—original draft preparation, F.C. and H.Z.; writing—review and editing, F.C., F.U., Y.Z. and H.Z.; visualization, F.C.; funding acquisition, H.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported in part by the “Green Willow Finch Plan” and in part by Foundation of the Jiangsu Province High Vocational College Teacher Professional Leader High-end Training Program under grant 62023TDFX012.

Data Availability Statement

https://snap.stanford.edu/data/ (accessed on 11 November 2024).

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Sakr, S.; Pardede, E. Graph Data Management: Techniques and Applications; Information Science Reference; IGI Publishing: Hershey, PA, USA, 2011. [Google Scholar]
  2. Rathore, M.M.U.; Gul, M.J.J.; Paul, A.; Khan, A.A.; Ahmad, R.W.; Rodrigues, J.; Bakiras, S. Multilevel Graph-Based Decision Making in Big Scholarly Data: An Approach to Identify Expert Reviewer, Finding Quality Impact Factor, Ranking Journals and Researchers. IEEE Trans. Emerg. Top. Comput. 2018, 9, 280–292. [Google Scholar] [CrossRef]
  3. Xue, Z.; Chen, J.X.; Zhao, Y.; Medvar, B.; Knepper, M.A. Data Integration in Physiology Using Bayes’ Rule and Minimum Bayes’ Factors: Deubiquitylating Enzymes in the Renal Collecting Duct. Physiol. Genom. 2016, 49, 151–159. [Google Scholar] [CrossRef]
  4. Chang, F.; Zhang, B.; Zhao, Y.; Wu, S.; Yoshigoe, K. Overlapping Community Detecting Based on Complete Bipartite Graphs in Micro-bipartite Network Bi-EgoNet. IEEE Access 2019, 7, 91488–91498. [Google Scholar] [CrossRef]
  5. Ullah, F.; Srivastava, G.; Ullah, S.; Yoshigoe, K.; Zhao, Y. NIDS-VSB: Network Intrusion Detection System for VANET Using Spark-Based Big Data Optimization and Transfer Learning. IEEE Trans. Consum. Electron. 2024, 70, 1798–1809. [Google Scholar] [CrossRef]
  6. Schulz, C.; Strash, D. Graph partitioning: Formulations and applications to big data. In Encyclopedia of Big Data Technologies; Springer: Cham, Switzerland, 2018; pp. 1–7. [Google Scholar]
  7. Sardianos, C.; Papadatos, G.B.; Varlamis, I. Optimizing Parallel Collaborative Filtering Approaches for Improving Recommendation Systems Performance. Information 2019, 10, 155. [Google Scholar] [CrossRef]
  8. Sardianos, C.; Varlamis, I.; Eirinaki, M. Scaling Collaborative Filtering to Large-Scale Bipartite Rating Graphs Using Lenskit and Spark. In Proceedings of the 2017 IEEE Third International Conference on Big Data Computing Service and Applications (BigDataService), Redwood City, CA, USA, 6–9 April 2017. [Google Scholar]
  9. Mcsherry, F. Spectral Partitioning of Random Graphs. In Proceedings of the 42nd IEEE Symposium on Foundations of Computer Science, Newport Beach, CA, USA, 8–11 October 2002. [Google Scholar]
  10. Chang, F.; Zhang, B.; Wu, S.; Zhao, Y.L.; Li, B.; Maimaitiriyimu, J. OCDAD: An Overlapping Community Detecting Algorithm using Attention Degree in Directed Ex-EgoNet. In Proceedings of the 2019 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech), Fukuoka, Japan, 5–8 August 2019; pp. 442–448. [Google Scholar]
  11. Chang, F.; Zhang, B.; Li, H.; Huang, M.; Li, B.; Zhao, Y. Discovering overlapping communities in ego-nets using friend intimacy. J. Intell. Fuzzy Syst. Appl. Eng. Technol. 2019, 36, 5167–5175. [Google Scholar] [CrossRef]
  12. Zhao, Y.P.; Dai, X.; Chen, Y.; Zhang, C.; Chen, L.; Zhao, Y. Bilevel fuzzy clustering via adaptive similarity graphs fusion. Inf. Sci. 2024, 662, 120281. [Google Scholar] [CrossRef]
  13. Mathur, R.P.; Sharma, M. Graph-Based Application Partitioning Approach for Computational Offloading in Mobile Cloud Computing. Recent Adv. Comput. Sci. Commun. (Former. Recent Patents Comput. Sci.) 2021, 14, 92–99. [Google Scholar] [CrossRef]
  14. Martella, C.; Logothetis, D.; Loukas, A.; Siganos, G. Spinner: Scalable graph partitioning in the cloud. In Proceedings of the 2017 IEEE 33rd International Conference on Data Engineering (ICDE), San Diego, CA, USA, 19–22 April 2017; pp. 1083–1094. [Google Scholar]
  15. Schloegel, K.; Karypis, G.; Kumar, V. Graph Partitioning for High Performance Scientific Simulations; Army High Performance Computing Research Center: Minneapolis, MN, USA, 2000; pp. 491–541. [Google Scholar]
  16. Bichot, C.E.; Siarry, P. Graph Partitioning; WILEY-ISTE: Hoboken, NJ, USA, 2011. [Google Scholar]
  17. Walshaw, C.; Cross, M. JOSTLE: Parallel multilevel graph-partitioning software—An overview. Mesh Partitioning Tech. Domain Decompos. Tech. 2007, 10, 27–58. [Google Scholar]
  18. Buluç, A.; Meyerhenke, H.; Safro, I.; Sanders, P.; Schulz, C. Recent advances in graph partitioning. In Algorithm Engineering; Springer: Cham, Switzerland, 2016; pp. 117–158. [Google Scholar]
  19. Wu, Z.; Karimi, H.; Dang, C. An approximation algorithm for graph partitioning via deterministic annealing neural network. Neural Netw. 2019, 117, 191–200. [Google Scholar] [CrossRef]
  20. Li, X.; Zhang, M.; Chen, K.; Wu, Y.; Qian, X.; Zheng, W. 3-d partitioning for large-scale graph processing. IEEE Trans. Comput. 2020, 70, 111–127. [Google Scholar] [CrossRef]
  21. Sanders, P.; Schulz, C. KaHIP v2. 00–Karlsruhe High Quality Partitioning User Guide. arXiv 2013, arXiv:1311.1714. [Google Scholar]
  22. Karypis, G.; Kumar, V. A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 1998, 20, 359–392. [Google Scholar] [CrossRef]
  23. Chevalier, C.; Pellegrini, F. PT-Scotch: A tool for efficient parallel graph ordering. Parallel Comput. 2008, 34, 318–331. [Google Scholar] [CrossRef]
  24. LaSalle, D.; Karypis, G. Multi-threaded graph partitioning. In Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing, Cambridge, MA, USA, 20–24 May 2013; pp. 225–236. [Google Scholar]
  25. Holtgrewe, M.; Sanders, P.; Schulz, C. Engineering a scalable high quality graph partitioner. In Proceedings of the 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS), Atlanta, GA, USA, 19–23 April 2010; pp. 1–12. [Google Scholar]
  26. Meyerhenke, H. Shape optimizing load balancing for MPI-parallel adaptive numerical simulations. Graph Partitioning Graph Clust. 2012, 588, 67. [Google Scholar]
  27. Meyerhenke, H.; Sanders, P.; Schulz, C. Parallel graph partitioning for complex networks. IEEE Trans. Parallel Distrib. Syst. 2017, 28, 2625–2638. [Google Scholar] [CrossRef]
  28. Zhao, Y.; Yoshigoe, K.; Xie, M.; Zhou, S.; Seker, R.; Bian, J. Lightgraph: Lighten communication in distributed graph-parallel processing. In Proceedings of the 2014 IEEE International Congress on Big Data, Anchorage, AK, USA, 27 June–2 July 2014; pp. 717–724. [Google Scholar]
  29. Zhao, Y.; Yoshigoe, K.; Xie, M.; Bian, J.; Xiong, K. L-PowerGraph: A lightweight distributed graph-parallel communication mechanism. J. Supercomput. 2018, 76, 1850–1879. [Google Scholar] [CrossRef]
  30. Huang, J.; Abadi, D.J. Leopard: Lightweight edge-oriented partitioning and replication for dynamic graphs. Proc. VLDB Endow. 2016, 9, 540–551. [Google Scholar] [CrossRef]
  31. Zhang, H.; Lin, L.; Xu, L.; Wang, X. Graph partition based privacy-preserving scheme in social networks. J. Netw. Comput. Appl. 2021, 195, 103214. [Google Scholar] [CrossRef]
  32. Zhang, S.; Jiang, Z.; Hou, X.; Guan, Z.; Yuan, M.; You, H. An Efficient and Balanced Graph Partition Algorithm for the Subgraph-Centric Programming Model on Large-scale Power-law Graphs. In Proceedings of the 2021 IEEE 41st International Conference on Distributed Computing Systems (ICDCS), Washington, DC, USA, 7–10 July 2020. [Google Scholar]
  33. Moussawi, A.E.; Seghouani, N.B.; Bugiotti, F. A Graph Partitioning Algorithm for Edge or Vertex Balance. In Database and Expert Systems Applications; Springer: Cham, Switzerland, 2020. [Google Scholar]
  34. Yin, D.; Wang, S.; Ouyang, Y. ViCTS: A novel network partition algorithm for scalable agent-based modeling of mass evacuation. Comput. Environ. Urban Syst. 2020, 80, 101452. [Google Scholar] [CrossRef]
  35. Yan, J.; Xu, H.; Li, N.; Zhang, Z. Large-Scale Emulation Network Topology Partition Based on Community Detection With the Weight of Vertex Similarity. Comput. J. 2023, 66, 1817–1828. [Google Scholar] [CrossRef]
  36. Wiegele, A.; Zhao, S. SDP-based bounds for graph partition via extended ADMM. arXiv 2021, arXiv:2105.09075. [Google Scholar] [CrossRef]
  37. Chen, J.; Qian, X. Khuzdul: Efficient and Scalable Distributed Graph Pattern Mining Engine. In Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Vancouver, BC, Canada, 25–19 March 2023; Volume 2. [Google Scholar]
  38. Liu, C.; Peng, Z.; Zheng, W.; Zou, L. FSM: A Fine-Grained Splitting and Merging Framework for Dual-Balanced Graph Partition. Proc. VLDB Endow. 2024, 17, 2378–2391. [Google Scholar] [CrossRef]
  39. Siguenza-Torres, A.; Wieder, A.; Meng, Z.; Narvaez Rivas, S.; Gao, M.; Grossi, M.; Du, X.; Bortoli, S.; Cai, W.; Knoll, A. ENHANCE: Multilevel Heterogeneous Performance-Aware Re-Partitioning Algorithm For Microscopic Vehicle Traffic Simulation. ACM Trans. Model. Comput. Simul. 2024; just accepted. [Google Scholar] [CrossRef]
  40. Liu, P.; Cai, P.; Li, C.; Chen, H. AVPS: Automatic Vertical Partitioning for Dynamic Workload. In Advanced Intelligent Computing Technology and Applications, Proceedings of the 20th International Conference, ICIC 2024, Tianjin, China, 5–8 August 2024; Springer: Singapore, 2024; pp. 146–157. [Google Scholar]
  41. Gonzalez, J.E.; Low, Y.; Gu, H.; Bickson, D.; Guestrin, C. Powergraph: Distributed graph-parallel computation on natural graphs. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), Hollywood, CA, USA, 10–18 October 2012; pp. 17–30. [Google Scholar]
  42. Ren, H.; Wu, B. OLPGP: An Optimized Label Propagation-Based Distributed Graph Partitioning Algorithm. In International Conference on Data Mining and Big Data, Proceedings of the 7th International Conference, DMBD 2022, Beijing, China, 21–24 November 2022; Springer: Singapore, 2022; pp. 120–133. [Google Scholar]
  43. Gonzalez, J.E.; Xin, R.S.; Dave, A.; Crankshaw, D.; Franklin, M.J.; Stoica, I. {GraphX}: Graph processing in a distributed dataflow framework. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), Broomfield, CO, USA, 6–8 October 2014; pp. 599–613. [Google Scholar]
  44. Yang, J.; Leskovec, J. Defining and Evaluating Network Communities Based on Ground-Truth. In Proceedings of the 2012 IEEE 12th International Conference on Data Mining, Brussels, Belgium, 10–13 December 2012; pp. 745–754. [Google Scholar] [CrossRef]
  45. Karypis, G.; Kumar, V. METIS: A Software Package for Partitioning Unstructured Graphs, Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices; Technical report; University Digital Conservancy: Minneapolis, MN, USA, 1997. [Google Scholar]
  46. Li, X.; Pang, Y.; Zhao, C.; Liu, Y.; Dong, Q. A new multi-level algorithm for balanced partition problem on large scale directed graphs. Adv. Aerodyn. 2021, 3, 23. [Google Scholar] [CrossRef]
Figure 1. Original graph partitioning.
Figure 1. Original graph partitioning.
Electronics 13 04455 g001
Figure 2. NDGP graph partitioning.
Figure 2. NDGP graph partitioning.
Electronics 13 04455 g002
Figure 3. Comparison of the number of edges sent while distributing the LiveJournal data set to eight machines. (Note: The thickness of the lines represents the number of edges sent).
Figure 3. Comparison of the number of edges sent while distributing the LiveJournal data set to eight machines. (Note: The thickness of the lines represents the number of edges sent).
Electronics 13 04455 g003
Figure 4. Comparison of the number of edges sent while distributing the Twitter data set to 16 machines. (Note; The thickness of the lines are representing the number of edges sent).
Figure 4. Comparison of the number of edges sent while distributing the Twitter data set to 16 machines. (Note; The thickness of the lines are representing the number of edges sent).
Electronics 13 04455 g004
Figure 5. Comparison of the runtime running PageRank on the Twitter data set.
Figure 5. Comparison of the runtime running PageRank on the Twitter data set.
Electronics 13 04455 g005
Figure 6. Comparison of the volume of communication overheads running PageRank on the Twitter data set.
Figure 6. Comparison of the volume of communication overheads running PageRank on the Twitter data set.
Electronics 13 04455 g006
Figure 7. Comparison of the volume of communication overheads running SSSP on the BFS data set.
Figure 7. Comparison of the volume of communication overheads running SSSP on the BFS data set.
Electronics 13 04455 g007
Figure 8. Comparison of the runtime running Triangle Counting on the BFS data set.
Figure 8. Comparison of the runtime running Triangle Counting on the BFS data set.
Electronics 13 04455 g008
Figure 9. Comparison of the number of edges sent while distributing the com-Orkut data set.
Figure 9. Comparison of the number of edges sent while distributing the com-Orkut data set.
Electronics 13 04455 g009
Figure 10. Comparison of the volume of communication overhead running Triangle Counting on the com-Orkut data set.
Figure 10. Comparison of the volume of communication overhead running Triangle Counting on the com-Orkut data set.
Electronics 13 04455 g010
Figure 11. Comparison of the runtime running Triangle Counting on the com-Orkut data set.
Figure 11. Comparison of the runtime running Triangle Counting on the com-Orkut data set.
Electronics 13 04455 g011
Table 1. Summary of benchmarking algorithms.
Table 1. Summary of benchmarking algorithms.
AlgorithmCharacteristicsApplication IllustrationCategory
PageRankIterative, high communicationImportance rankingDirect Acyclic Graph
SSSP (shortest path)Iterative, medium communicationDecision makingDirect Acyclic Graph
Triangle CountingSingle step, medium communicationClustering coefficientGeneral
Table 2. Summary of data sets.
Table 2. Summary of data sets.
GraphDescriptionType# of Vertices# of EdgesGraph Density ( × 10 5 )Average DegreeMemory Size (GB)
soc-LiveJournalFriednship social networkDirected4,847,57168,993,7730.591410.3
TwitterSocial networksDirected41,652,2301,468,365,1820.0835231.2
BFSFacebook social networksDirected61,876,615336,776,2690.02551.6
com-Orkut [44]Orkut online social networkUndirected3,072,4411,171,850,8372.487622.1
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Chang, F.; Guo, H.; Ullah, F.; Wang, H.; Zhao, Y.; Zhang, H. Near-Data Source Graph Partitioning. Electronics 2024, 13, 4455. https://doi.org/10.3390/electronics13224455

AMA Style

Chang F, Guo H, Ullah F, Wang H, Zhao Y, Zhang H. Near-Data Source Graph Partitioning. Electronics. 2024; 13(22):4455. https://doi.org/10.3390/electronics13224455

Chicago/Turabian Style

Chang, Furong, Hao Guo, Farhan Ullah, Haochen Wang, Yue Zhao, and Haitian Zhang. 2024. "Near-Data Source Graph Partitioning" Electronics 13, no. 22: 4455. https://doi.org/10.3390/electronics13224455

APA Style

Chang, F., Guo, H., Ullah, F., Wang, H., Zhao, Y., & Zhang, H. (2024). Near-Data Source Graph Partitioning. Electronics, 13(22), 4455. https://doi.org/10.3390/electronics13224455

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop