Distributed balanced partitioning via linear embedding
Edge subsets with special properties (factorization, matching, partitioning, covering and packing, etc.) (05C70) Graph algorithms (graph-theoretic aspects) (05C85) Graph theory (including graph drawing) in computer science (68R10) Distributed algorithms (68W15) Programming involving graphs or networks (90C35) Social networks; opinion dynamics (91D30)
Summary: Balanced partitioning is often a crucial first step in solving large-scale graph optimization problems, for example, in some cases, a big graph can be chopped into pieces that fit on one machine to be processed independently before stitching the results together, leading to certain suboptimality from the interaction among different pieces. In other cases, links between different parts may show up in the running time and/or network communications cost, hence the desire to have small cut size. We study a distributed balanced-partitioning problem where the goal is to partition the vertices of a given graph into \(k\) pieces so as to minimize the total cut size. Our algorithm is composed of a few steps that are easily implementable in distributed computation frameworks such as MapReduce. The algorithm first embeds nodes of the graph onto a line, and then processes nodes in a distributed manner guided by the \textit{linear embedding} order. We examine various ways to find the first embedding, for example, via a hierarchical clustering or Hilbert curves. Then we apply four different techniques including local swaps, and minimum cuts on the boundaries of partitions, as well as contraction and dynamic programming. As our empirical study, we compare the above techniques with each other, and also to previous work in distributed graph algorithms, for example, a label-propagation method, FENNEL and Spinner. We report our results both on a private map graph and several public social networks, and show that our results beat previous distributed algorithms: For instance, compared to the label-propagation algorithm, we report an improvement of 15--25\% in the cut value. We also observe that our algorithms admit scalable distributed implementation for any number of partitions. Finally, we explain three applications of this work at Google: (1) Balanced partitioning is used to route multi-term queries to different replicas in Google Search backend in a way that reduces the cache miss rates by \(\approx 0.5\%\), which leads to a double-digit gain in throughput of production clusters. (2) Applied to the Google Maps Driving Directions, balanced partitioning minimizes the number of cross-\textit{shard} queries with the goal of saving in CPU usage. This system achieves load balancing by dividing the \textit{world graph} into several ``shards. Live experiments demonstrate an \(\approx 40\%\) drop in the number of cross-shard queries when compared to a standard geography-based method. (3) In a job scheduling problem for our data centers, we use balanced partitioning to evenly distribute the work while minimizing the amount of communication across geographically distant servers. In fact, the hierarchical nature of our solution goes well with the layering of data center servers, where certain machines are closer to each other and have faster links to one another.
- Graph partitioning for scalable distributed graph computations
- Streaming balanced graph partitioning algorithms for random graphs
- Algorithms for the Balanced Edge Partitioning Problem
- Impact of minimum-cut density-balanced partitioning solutions in distributed webpage ranking
- Scalable edge partitioning
- \(\ell ^2_2\) spreading metrics for vertex ordering problems
- A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs
- A polylogarithmic approximation of the minimum bisection
- An improved approximation ratio for the minimum linear arrangement problem
- Balanced graph partitioning
- Exact combinatorial branch-and-bound for graph bisection
- Global optimization with non-convex constraints. Sequential and parallel algorithms
- scientific article; zbMATH DE number 3639144 (Why is no real title available?)
- New Approximation Techniques for Some Linear Ordering Problems
- Optimal linear arrangement of a rectangular grid
- Streaming balanced graph partitioning algorithms for random graphs
- Towards optimal locality in mesh-indexings
- Approximation algorithms for the load-balanced capacitated vehicle routing problem
- On parameterized approximation algorithms for balanced clustering
- Improved parameterized approximation for balanced \(k\)-median
- Design and analysis of bipartite experiments under a linear exposure-response model
- Scalable edge partitioning
- Graph partitioning for scalable distributed graph computations
- Streaming balanced graph partitioning algorithms for random graphs
- Algorithms for the Balanced Edge Partitioning Problem
- Optimizing streaming graph partitioning via a heuristic greedy method and caching strategy
- Balanced graph partitioning based on mixed 0-1 linear programming and iteration vertex relocation algorithm
This page was built for publication: Distributed balanced partitioning via linear embedding
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2005567)