Ligra: A Lightweight Graph Processing Framework for Shared Memory - - PowerPoint PPT Presentation

ligra a lightweight graph processing framework for shared
SMART_READER_LITE
LIVE PREVIEW

Ligra: A Lightweight Graph Processing Framework for Shared Memory - - PowerPoint PPT Presentation

Ligra: A Lightweight Graph Processing Framework for Shared Memory Shared memory Other not necessarily SM frameworks parallel Boost graph library (PBGL) Pregel Pegasus GraphLab* PowerGraph Knowledge Discovery Toolkit


slide-1
SLIDE 1

Ligra: A Lightweight Graph Processing Framework for Shared Memory

slide-2
SLIDE 2

Shared memory

slide-3
SLIDE 3

Other not necessarily SM frameworks

  • parallel Boost graph library (PBGL)
  • Pregel
  • Pegasus
  • GraphLab*
  • PowerGraph
  • Knowledge Discovery Toolkit
  • GPS
  • Giraph
  • Grace*
slide-4
SLIDE 4

The Framework

  • Written in C++
  • Uses CilkPlus (or OpenMP or Intel Math Kernel Library

if compiled with icpc)

  • Available on GitHub: https://github.com/jshun/ligra

Preliminaries:

  • Graph G(V,E) or G(V,E,w)
  • Compare-and-Swap CAS(&loc, oldV, newV) return bool
  • vertexSubset
slide-5
SLIDE 5

Framework operations - EdgeMap

slide-6
SLIDE 6

threshold is |E|/20

slide-7
SLIDE 7

Framework operations - VertexMap

slide-8
SLIDE 8

Framework - Applications

  • Breadth-First Search
  • Betweenness Centrality
  • Graph Radii
  • Connected Components
  • PageRank
  • Bellman-Ford
slide-9
SLIDE 9

BFS

slide-10
SLIDE 10

Connected Components

slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13

Performance - the graphs

slide-14
SLIDE 14

Performance - running times