TY - GEN
T1 - Adaptive partitioning for large-scale dynamic graphs
AU - Vaquero, Luis M.
AU - Cuadrado, Felix
AU - Logothetis, Dionysios
AU - Martella, Claudio
PY - 2014/10
Y1 - 2014/10
N2 - In the last years, large-scale graph processing has gained increasing attention, with most recent systems placing particular emphasis on latency. One possible technique to improve runtime performance in a distributed graph processing system is to reduce network communication. The most notable way to achieve this goal is to partition the graph by minimizing the number of edges that connect vertices assigned to different machines, while keeping the load balanced. However, real-world graphs are highly dynamic, with vertices and edges being constantly added and removed. Carefully updating the partitioning of the graph to reflect these changes is necessary to avoid the introduction of an extensive number of cut edges, which would gradually worsen computation performance. In this paper we show that performance degradation in dynamic graph processing systems can be avoided by adapting continuously the graph partitions as the graph changes. We present a novel highly scalable adaptive partitioning strategy, and show a number of refinements that make it work under the constraints of a large-scale distributed system. The partitioning strategy is based on iterative vertex migrations, relying only on local information. We have implemented the technique in a graph processing system, and we show through three real-world scenarios how adapting graph partitioning reduces execution time by over 50% when compared to commonly used hash-partitioning.
AB - In the last years, large-scale graph processing has gained increasing attention, with most recent systems placing particular emphasis on latency. One possible technique to improve runtime performance in a distributed graph processing system is to reduce network communication. The most notable way to achieve this goal is to partition the graph by minimizing the number of edges that connect vertices assigned to different machines, while keeping the load balanced. However, real-world graphs are highly dynamic, with vertices and edges being constantly added and removed. Carefully updating the partitioning of the graph to reflect these changes is necessary to avoid the introduction of an extensive number of cut edges, which would gradually worsen computation performance. In this paper we show that performance degradation in dynamic graph processing systems can be avoided by adapting continuously the graph partitions as the graph changes. We present a novel highly scalable adaptive partitioning strategy, and show a number of refinements that make it work under the constraints of a large-scale distributed system. The partitioning strategy is based on iterative vertex migrations, relying only on local information. We have implemented the technique in a graph processing system, and we show through three real-world scenarios how adapting graph partitioning reduces execution time by over 50% when compared to commonly used hash-partitioning.
KW - adaptive partitioning
KW - dynamic graphs
KW - Graph processing
UR - http://www.scopus.com/inward/record.url?scp=84907750398&partnerID=8YFLogxK
U2 - 10.1109/ICDCS.2014.23
DO - 10.1109/ICDCS.2014.23
M3 - Conference Contribution (Conference Proceeding)
AN - SCOPUS:84907750398
SN - 9781479951703
SP - 144
EP - 153
BT - 2014 IEEE 34th International Conference on Distributed Computing Systems (ICDCS 2014)
PB - Institute of Electrical and Electronics Engineers (IEEE)
T2 - 2014 IEEE 34th International Conference on Distributed Computing Systems, ICDCS 2014
Y2 - 30 June 2014 through 3 July 2014
ER -