Processing UnQL Graph Queries with Pregel

Le-Duc Tung,Chong Li,Xiaodong Meng,Zhenjiang Hu
2015-01-01
Abstract:Pregel is a programming model proposed by Google to process large graphs. It is inspired by the Bulk Synchronous Parallel model by which the same computation instructions are applied to every vertex in each iteration. However, Pregel is a so-called low-level model for end users, and it requires much effort on writing efficient programs, even to well-known graph algorithms. Similar problems with the MapReduce model have resulted in high-level query frameworks such as Hive or Pig on top of MapReduce. Taking the same philosophy, in this paper, we propose a high-level framework on top of Pregel to allow executing queries and transformations over large graphs. We borrow UnQL, an SQL-like language over graphs, as the interface language for our framework. UnQL queries are then automatically compiled into efficient Pregel programs that can deal with large graphs. Experimental results with real-life graphs such as citation networks, Amazon products and Youtube, show that our framework is efficient and scalable for large graphs.
What problem does this paper attempt to address?