X-Stream: edge-centric graph processing using streaming partitions

By Amitabha Roy, Ivo Mihailovic, Willy Zwaenepoel. Symposium on Operating Systems Principles, 2013

746 citations recorded by the source corpus.

X-Stream is a system for processing both in-memory and out-of-core graphs on a single shared-memory machine. While retaining the scatter-gather programming model with state stored in the vertices, X-Stream is novel in (i) using an edge-centric rather than a vertex-centric implementation of this model, and (ii) streaming completely unordered edge lists rather than performing random access. This design is motivated by the fact that sequential bandwidth for all storage media (main memory, SSD, and magnetic disk) is substantially larger than random access bandwidth. We demonstrate that a large number of graph algorithms can be expressed using the edge-centric scatter-gather model. The resulting implementations scale well in terms of number of cores, in terms of number of I/O devices, and across different storage media. X-Stream competes favorably with existing systems for graph processing. Besides sequential access, we identify as one of the main contributors to better performance the fact that X-Stream does not need to sort edge lists during preprocessing.

Subfields: Computer Networks and Communications, Computer Vision and Pattern Recognition

View Paper: https://www.semanticscholar.org/paper/4bc31853ab9de45df2e03a0ea991f89d9449e42b

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Networks and Communications

  1. Christina Delimitrou
  2. Wei Dai
  3. Nadathur Rajagopalan Satish
  4. Eric P. Xing
  5. Alexey Tumanov
  6. Ming Wu
  7. Xiaowei Zhu
  8. G. R. Ganger

In Computer Vision and Pattern Recognition

  1. Eric P. Xing
  2. Wei Dai
  3. Phillip B. Gibbons
  4. Nadathur Rajagopalan Satish
  5. Alexey Tumanov
  6. Haibing Guan
  7. Xiaowei Zhu
  8. G. R. Ganger

Citations in the corpus