With the rise of graph-based algorithms in many applications, dynamic graphs have become critical for applications that work with real-time or time-series relationship data. Due to their large storage footprint,… Click to show full abstract
With the rise of graph-based algorithms in many applications, dynamic graphs have become critical for applications that work with real-time or time-series relationship data. Due to their large storage footprint, these applications require high parallelism and locality. Many-core architectures offer high parallelism for both static and dynamic graphs. However, systems operating on dynamic graphs must continuously repartition graph data across storage units to achieve good locality, load balancing, and performance. In this work, we examine the effectiveness and efficiency of different vertex-pressure repartitioning schemes, which move vertices so to co-locate them near their most relevant neighbors. We describe key repartitioning design choices and provide a thorough evaluation of the impact of a range of design features with different datasets. Our evaluation indicates that optimized dynamic repartitioning techniques can often provide over 2x performance speedup over state-of-the-art static solutions.
               
Click one of the above tabs to view related content.