Hierarchical graph partitioningOpen Website

Published: 2014, Last Modified: 12 May 2023SPAA 2014Readers: Everyone
Abstract: One of the important optimization questions in highly parallel systems is the problem of assigning computational resources to communicating tasks. While scheduling tasks/operators, tasks assigned to nearby resources (e.g. on the same CPU core) have low communication costs, whereas tasks assigned to distant resources (e.g. on different server racks) have high communication costs. An optimal solution of task to resource assignment minimizes the communication cost of the task ensemble while satisfying the load balancing requirements. We model such an optimization question of minimizing communication cost as a new class of graph partitioning problems called hierarchical graph partitioning. In hierarchical graph partitioning we are given a graph G=(V,E), vertices representing the tasks and edges representing the communication among the vertices. We are also given vertex demands d: V(G) → R+ denoting the processing load of each task and edge weights w: E(G) → R+ denoting the amount of communication and our goal is to decompose G into k parts/servers of nearly equal weight (for load balancing) and minimize the total cost of the edges being cut (communication cost). However, unlike traditional k-balanced graph partitioning where the cost of an edge cut is independent of the parts containing the two respective end vertices, here the cost varies with the distance of the servers corresponding to the two parts. Since, the servers are generally arranged in a hierarchy, distance is given by a tree metric. In this paper, we initiate the study of hierarchical graph partitioning problem and give efficient algorithms with approximation guarantee. Hierarchical graph partitioning is a significant generalization of graph partitioning problem and faithfully captures several practical scenarios that have served as major motivating applications for graph partitioning.
0 Replies

Loading