asynchronous large scale graph processing made easy
play

Asynchronous Large-Scale Graph Processing Made Easy Guozhang Wang, - PDF document

Asynchronous Large-Scale Graph Processing Made Easy Guozhang Wang, Wenlei Xie, Alan Demers, Johannes Gehrke Cornell University Ithaca, NY { guoz, wenleix, ademers, johannes } @cs.cornell.edu ABSTRACT for example, Crandall et al. describe the


  1. Asynchronous Large-Scale Graph Processing Made Easy Guozhang Wang, Wenlei Xie, Alan Demers, Johannes Gehrke Cornell University Ithaca, NY { guoz, wenleix, ademers, johannes } @cs.cornell.edu ABSTRACT for example, Crandall et al. describe the use of a 200-core Hadoop cluster to solve the structure-from-motion problem for constructing Scaling large iterative graph processing applications through paral- 3D models from large unstructured collections of images [9]. lel computing is a very important problem. Several graph process- Recently, a number of graph processing frameworks have been ing frameworks have been proposed that insulate developers from proposed that allow domain experts to focus on the logic of their ap- low-level details of parallel programming. Most of these frame- plications while the framework takes care of scaling the processing works are based on the bulk synchronous parallel (BSP) model in across many cores or machines [8, 11, 15, 23, 24, 28, 37, 38]. Most order to simplify application development. However, in the BSP of these frameworks are based on two common properties of graph model, vertices are processed in fixed rounds, which often leads processing applications: first, many of these applications proceed to slow convergence. Asynchronous executions can significantly iteratively, updating the graph data in rounds until a fixpoint is accelerate convergence by intelligently ordering vertex updates and reached. Second, the computation within each iteration can be per- incorporating the most recent updates. Unfortunately, asynchronous formed independently at the vertex level, and thus vertices can be models do not provide the programming simplicity and scalability processed individually in parallel. As a result, these graph process- advantages of the BSP model. ing frameworks commonly follow the bulk synchronous parallel In this paper, we combine the easy programmability of the BSP (BSP) model of parallel processing [32]. The BSP model organizes model with the high performance of asynchronous execution. We computation into synchronous “ticks” (or “supersteps”) delimited have designed GRACE, a new graph programming platform that by a global synchronization barrier. Vertices have local state but separates application logic from execution policies. GRACE pro- there is no shared state; all communication is done at the synchro- vides a synchronous iterative graph programming model for users nization barriers by message passing. During a tick, each vertex in- to easily implement, test, and debug their applications. It also con- dependently receives messages that were sent by neighbor vertices tains a carefully designed and implemented parallel execution en- during the previous tick, uses the received values to update its own gine for both synchronous and user-specified built-in asynchronous state, and finally sends messages to adjacent vertices for process- execution policies. Our experiments show that asynchronous exe- ing during the following tick. This model ensures determinism and cution in GRACE can yield convergence rates comparable to fully maximizes data parallelism within ticks, making it easy for users to asynchronous executions, while still achieving the near-linear scal- design, program, test, and deploy parallel implementations of do- ability of a synchronous BSP system. main specific graph applications while achieving excellent parallel speedup and scaleup. 1. INTRODUCTION In contrast to the synchronous execution policy of the BSP model, asynchronous execution policies do not have clean tick and inde- Graphs can capture complex data dependencies, and thus pro- pendence properties, and generally communicate using shared state cessing of graphs has become a key component in a wide range instead of—or in addition to—messages. Vertices can be processed of applications, such as semi-supervised learning based on random in any order using the latest available values. Thus, there is no guar- graph walks [20], web search based on link analysis [7, 14], scene antee of isolation between updates of two vertices: vertices can read reconstruction based on Markov random fields [9] and social com- their neighbor’s states at will during their update procedure. Asyn- munity detection based on label propagation [19], to name just a chronous execution has a big advantage for iterative graph process- few examples. New applications such as social network analysis ing [6, 22]: We can intelligently order the processing sequence of or 3D model construction over Internet-scale collections of images vertices to significantly accelerate convergence of the computation. have produced graphs of unprecedented size, requiring us to scale Consider finding the shortest path between two vertices as an il- graph processing to millions or even billions of vertices. Due to lustrative example: the shortest distance from the source vertex to this explosion in graph size, parallel processing is heavily used; the destination vertex can be computed iteratively by updating the distances from the source vertex to all other vertices. In this case, vertices with small distances are most likely to lead to the shortest path, and thus selectively expanding these vertices first can signifi- cantly accelerate convergence. This idea is more generally referred This article is published under a Creative Commons Attribution License as the label-setting method for shortest/cheapest path problems on (http://creativecommons.org/licenses/by/3.0/), which permits distribution graphs, with Dijkstra’s classical method the most popular algorithm and reproduction in any medium as well allowing derivative works, pro- in this category. In addition, in asynchronous execution the most re- vided that you attribute the original work to the author(s) and CIDR 2013. 6 th Biennial Conference on Innovative Data Systems Research (CIDR’13) cent state of any vertex can be used directly by the next vertex that January 6-9, 2013, Asilomar, California, USA.

Recommend


More recommend