STREAMER: a Distributed Framework for Incremental Closeness - - PowerPoint PPT Presentation

streamer a distributed framework for incremental
SMART_READER_LITE
LIVE PREVIEW

STREAMER: a Distributed Framework for Incremental Closeness - - PowerPoint PPT Presentation

STREAMER: a Distributed Framework for Incremental Closeness Centrality Computa@on A. Erdem Saryce 1,2 , Erik Saule 4 , Kamer Kaya 1 , mit V.


slide-1
SLIDE 1

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡ Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ ¡

  • A. ¡Erdem ¡Sarıyüce ¡1,2, ¡Erik ¡Saule ¡4, ¡Kamer ¡Kaya ¡1, ¡Ümit ¡V. ¡Çatalyürek ¡1,3 ¡

1 ¡Department ¡of ¡Biomedical ¡InformaBcs ¡ 2 ¡Department ¡of ¡Computer ¡Science ¡& ¡Engineering ¡ ¡ 3 ¡Department ¡of ¡Electrical ¡& ¡Computer ¡Engineering ¡

The ¡Ohio ¡State ¡University ¡

4 ¡Department ¡of ¡Computer ¡Science ¡

University ¡of ¡North ¡Carolina ¡CharloMe ¡ ¡ ¡ IEEE ¡Cluster ¡2013, ¡Indianapolis, ¡IN ¡

¡ ¡

slide-2
SLIDE 2

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 2

IEEE Cluster’13

Massive ¡Graphs ¡are ¡everywhere ¡

Topic 1 Topic 3 Topic 4 Topic 2 Topic 5 Topic 6 citation graphs

  • Facebook has a billion users and a trillion connections
  • Twitter has more than 200 million users
slide-3
SLIDE 3

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 3

IEEE Cluster’13

Large(r) ¡Networks ¡and ¡Centrality ¡

  • Who ¡is ¡more ¡important ¡in ¡a ¡

network? ¡Who ¡controls ¡the ¡ flow ¡between ¡nodes? ¡

  • Centrality ¡metrics ¡answer ¡these ¡

quesBons ¡

  • Closeness ¡Centrality ¡(CC) ¡is ¡an ¡

intriguing ¡metric ¡ ¡

  • How ¡to ¡handle ¡changes? ¡
  • Incremental ¡algorithms ¡are ¡good ¡

but ¡not ¡enough ¡in ¡pracBce ¡

  • Parallelism ¡is ¡essenBal ¡
slide-4
SLIDE 4

Closeness ¡Centrality ¡

  • Let ¡G=(V, ¡E) ¡be ¡a ¡graph ¡with ¡vertex ¡set ¡V ¡and ¡edge ¡set ¡E ¡
  • Farness ¡(far) ¡of ¡a ¡vertex ¡is ¡the ¡sum ¡of ¡shortest ¡distances ¡to ¡each ¡

vertex ¡

  • Closeness ¡centrality ¡(cc) ¡of ¡a ¡vertex ¡: ¡ ¡
  • Best ¡algorithm: ¡All-­‑pairs ¡shortest ¡paths ¡
  • ¡O(|V|.|E|) ¡complexity ¡for ¡unweighted ¡networks ¡
  • For ¡large ¡and ¡dynamic ¡networks ¡
  • From ¡scratch ¡computaBon ¡is ¡infeasible ¡ ¡
  • Faster ¡soluBons ¡are ¡essenBal ¡

¡ ¡

IEEE Cluster’13

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡

cc[u] = 1 far[u].

4

far[u] = X

v2V

dG(u,v)6=1

dG(u, v).

slide-5
SLIDE 5

Algorithm 1: CC: Basic centrality computation

Data: G = (V, E) Output: cc[.]

1 for each s ∈ V do

.SSSP(G, s) with centrality computation Q ← empty queue d[v] ← ∞, ∀v ∈ V \ {s} Q.push(s), d[s] ← 0 far[s] ← 0 while Q is not empty do v ← Q.pop() for all w ∈ ΓG(v) do if d[w] = ∞ then Q.push(w) d[w] ← d[v] + 1 far[s] ← far[s] + d[w] cc[s] =

1 far[s]

return cc[.]

CC ¡Algorithm ¡

Single Source Shortest Path (SSSP) is computed for each vertex Breadth- First Search with farness computation cc value is assigned

IEEE Cluster’13

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 5

slide-6
SLIDE 6

Incremental ¡Closeness ¡Centrality ¡ ¡

  • CompuBng ¡cc ¡values ¡from ¡scratch ¡a`er ¡each ¡edge ¡change ¡

is ¡very ¡costly ¡

  • Incremental ¡algorithms ¡are ¡used ¡to ¡handle ¡changes ¡
  • Main ¡idea ¡is ¡to ¡reduce ¡number ¡of ¡SSSPs ¡to ¡be ¡executed ¡
  • Three ¡filtering ¡techniques ¡are ¡proposed ¡
  • Filtering ¡with ¡level ¡differences ¡
  • Filtering ¡with ¡biconnected ¡components ¡
  • Filtering ¡with ¡idenBcal ¡verBces ¡
  • Details ¡can ¡be ¡found ¡at ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

“A. ¡E. ¡Sarıyuce, ¡K. ¡Kaya, ¡E. ¡Saule, ¡and ¡Umit ¡V. ¡Catalyurek. ¡Incremental ¡algorithms ¡ for ¡Closeness ¡Centrality. ¡IEEE ¡BigData ¡Conference, ¡2013” ¡

¡

IEEE Cluster’13

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 6

slide-7
SLIDE 7

Filtering ¡with ¡level ¡differences ¡

  • Upon ¡edge ¡inserBon, ¡breadth-­‑first ¡search ¡tree ¡of ¡

each ¡vertex ¡will ¡change. ¡Three ¡possibiliBes: ¡

  • Case ¡1 ¡and ¡2 ¡will ¡not ¡change ¡cc ¡of ¡s! ¡
  • No ¡need ¡to ¡apply ¡SSSP ¡from ¡them ¡
  • Just ¡Case ¡3 ¡
  • BFSs ¡are ¡executed ¡from ¡u ¡and ¡v ¡and ¡level ¡diff ¡is ¡checked ¡

¡

IEEE Cluster’13

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 7

slide-8
SLIDE 8
  • What ¡if ¡the ¡graph ¡have ¡arBculaBon ¡points? ¡
  • Change ¡in ¡A ¡can ¡change ¡cc ¡of ¡any ¡vertex ¡in ¡A ¡and ¡B ¡
  • CompuBng ¡the ¡change ¡for ¡u ¡is ¡enough ¡for ¡finding ¡

changes ¡for ¡any ¡vertex ¡v ¡in ¡B ¡(constant ¡factor ¡is ¡added) ¡

Filtering ¡with ¡biconnected ¡components ¡ A B u v

IEEE Cluster’13

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 8

slide-9
SLIDE 9

Filtering ¡with ¡iden@cal ¡ver@ces ¡

  • Two ¡types ¡of ¡idenBcal ¡verBces: ¡
  • Type ¡I: ¡u ¡and ¡v ¡are ¡idenBcal ¡verBces ¡if ¡ ¡N(u) ¡= ¡N(v), ¡i.e., ¡their ¡

neighbor ¡lists ¡are ¡same ¡

  • Type ¡II: ¡u ¡and ¡v ¡are ¡idenBcal ¡verBces ¡if ¡{u} ¡U ¡N(u) ¡= ¡{v} ¡U ¡N(v), ¡

i.e., ¡they ¡are ¡also ¡connected ¡

  • If ¡u ¡and ¡v ¡are ¡idenBcal ¡verBces, ¡their ¡cc ¡are ¡the ¡same ¡
  • Same ¡breadth-­‑first ¡search ¡trees! ¡

u v u v

IEEE Cluster’13

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 9

slide-10
SLIDE 10

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 10

IEEE Cluster’13

Is ¡it ¡enough? ¡

¡

  • Too ¡slow ¡for ¡real-­‑Bme ¡processing ¡
  • The ¡problem ¡is ¡mostly ¡parallel ¡and ¡graphs ¡are ¡relaBvely ¡
  • small. ¡
  • Source-­‑level ¡parallelism ¡can ¡be ¡used ¡to ¡fill ¡up ¡a ¡cluster ¡

name |V | |E| Time (in sec.) web-NotreDame 325K 1,090K 53.0 amazon0601 403K 2,443K 298.1 web-Google 875K 4,322K 824.4

slide-11
SLIDE 11
  • Component-­‑based ¡middleware ¡tool ¡
  • Supports ¡filter-­‑stream ¡programming ¡
  • Implements ¡the ¡computaBons ¡as ¡a ¡set ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
  • f ¡components ¡(filters) ¡that ¡exchange ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

data ¡through ¡logical ¡streams ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ (unidirecBonal ¡data ¡flows) ¡

  • Layout ¡is ¡a ¡filter ¡ontology ¡
  • Describes ¡the ¡set ¡of ¡tasks, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

streams ¡and ¡the ¡connecBons ¡

  • All ¡replicable ¡

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 11

IEEE Cluster’13

DataCuNer ¡

slide-12
SLIDE 12

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 12

IEEE Cluster’13

STREAMER ¡Framework ¡

Sends ¡the ¡updates ¡on ¡ the ¡graph ¡to ¡everyone ¡ Filters ¡the ¡work ¡ using ¡level ¡difference, ¡BCD ¡and ¡ idenBcal ¡verBces ¡

  • List ¡of ¡verBces ¡needing ¡SSSP ¡

update ¡are ¡sent ¡to ¡ ComputeCC ¡

  • # ¡of ¡updates ¡are ¡sent ¡to ¡

Aggregator ¡ Computes ¡the ¡farness ¡of ¡ the ¡vertex ¡

  • Most ¡expensive ¡part ¡
  • Most ¡replicated ¡part ¡

Stores ¡the ¡farness ¡values ¡

  • f ¡all ¡verBces ¡and ¡does ¡

adjustments ¡to ¡idenBcal ¡ verBces ¡and ¡biconnected ¡ components ¡

slide-13
SLIDE 13

Mul@core ¡architecture ¡and ¡NUMA ¡effects ¡

  • Preparator ¡makes ¡the ¡actual ¡graph ¡
  • Pointers ¡are ¡shared ¡between ¡Executors ¡

ComputeCC STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 13

IEEE Cluster’13

slide-14
SLIDE 14

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 14

IEEE Cluster’13

Experiments ¡

  • Dataset ¡
  • 64 ¡node ¡cluster ¡
  • Each ¡with ¡dual ¡Intel ¡Xeon ¡E5520 ¡Quad-­‑Core ¡processor ¡
  • 8MB ¡L3 ¡cache ¡per ¡processor ¡
  • 48GB ¡main ¡memory, ¡20Gbps ¡Infiniband ¡ConnecBon ¡
  • Compiled ¡with ¡GCC ¡4.5.2 ¡with ¡–O3 ¡flag ¡

Name |V | |E| % of computation saved web-NotreDame 325,729 1,090,008 97.5 amazon0601 403,394 2,443,308 92.3 web-Google 916,428 4,321,958 94.4 soc-pokec 1,632,804 30,622,464 93.9

slide-15
SLIDE 15

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡

IEEE Cluster’13

Performance ¡Results ¡

2,000 4,000 6,000 8,000 10,000 12,000 10 20 30 40 50 60 Updates per second Working nodes 8 threads, 1 graph/NUMA 8 threads, 1 graph 8 threads, 1 graph/thread 4 threads, 1 graph 1 thread 5,000 10,000 15,000 20,000 25,000 30,000 35,000 40,000 45,000 50,000 10 20 30 40 50 60 Updates per second Working nodes 8 threads, 1 graph/NUMA 8 threads, 1 graph 8 threads, 1 graph/thread 4 threads, 1 graph 1 thread 2,000 4,000 6,000 8,000 10,000 12,000 10 20 30 40 50 60 Updates per second Working nodes 8 threads, 1 graph/NUMA 8 threads, 1 graph 8 threads, 1 graph/thread 4 threads, 1 graph 1 thread 100 200 300 400 500 600 700 800 10 20 30 40 50 60 Updates per second Working nodes 8 threads, 1 graph/NUMA 8 threads, 1 graph 8 threads, 1 graph/thread

456x speedup 497x speedup 316x speedup linear scaling sublinear scaling (will be explained)

(a) amazon0601 (c) web-Google (d) soc-pokec (b) web-NotreDame

15

slide-16
SLIDE 16

TABLE II THE PERFORMANCE OF STREAMER WITH 31 WORKER NODES AND

DIFFERENT NODE-LEVEL CONFIGURATIONS NORMALIZED TO 1 THREAD CASE (PERFORMANCE ON soc-pokec IS NORMALIZED TO 8 THREADS, 1 GRAPH/THREAD). THE LAST COLUMN IS THE ADVANTAGE OF SHARED

MEMORY AWARENESS (RATIO OF COLUMNS 5 AND 3).

Name 4 threads 8 threads, 1 graph per Shared Mem. thread node NUMA awareness web-NotreDame 3.69 6.46 7.13 6.99 1.08 amazon0601 3.26 6.75 6.81 7.45 1.10 web-Google 3.69 7.77 7.55 8.06 1.03 soc-pokec

  • 1.00

0.92 1.01 1.01

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 16

IEEE Cluster’13

NUMA ¡awareness ¡

  • ExploiBng ¡mulBple ¡cores ¡and ¡properly ¡taking ¡the ¡

shared-­‑memory ¡aspect ¡brings ¡significant ¡improvement ¡

slide-17
SLIDE 17

50,000 100,000 150,000 200,000 250,000 300,000 350,000 400,000 10 20 30 40 50 60 70 80 90 10 20 30 40 50 Update Streaming Event Walltime (in seconds) Update emitted Update processed SE start

updates

  • f one

event

(a) 3 worker nodes

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 17

IEEE Cluster’13

Sublinear ¡scaling ¡case, ¡3 ¡nodes ¡

Runtime is dominated by processing updates i.e., # of jobs submitted

slide-18
SLIDE 18

50,000 100,000 150,000 200,000 250,000 300,000 350,000 400,000 5 10 15 20 10 20 30 40 50 Update Streaming Event Walltime (in seconds) Update emitted Update processed SE start

Plateau 1 Plateau 2 Plateau 3

  • verlapped

not overlapped

(b) 15 worker nodes

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 18

IEEE Cluster’13

Sublinear ¡scaling ¡case, ¡15 ¡nodes ¡

Pipelined parallelism Sublinear scaling is due to the insufficient number of emitted updates!

slide-19
SLIDE 19

50,000 100,000 150,000 200,000 250,000 300,000 350,000 400,000 1 2 3 4 5 6 7 8 10 20 30 40 50 Update Streaming Event Walltime (in seconds) Update emitted Update processed SE start

(c) 63 worker nodes

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 19

IEEE Cluster’13

Sublinear ¡scaling ¡case, ¡63 ¡nodes ¡

Pipelined parallelism StreamingMaster becomes the main bottleneck, i.e., not fast enough to send updates to workers

slide-20
SLIDE 20
  • STREAMER, ¡a ¡distributed-­‑memory ¡framework, ¡proves ¡to ¡

be ¡an ¡effecBve ¡soluBon ¡for ¡fast ¡and ¡exact ¡incremental ¡ closeness ¡centrality ¡computaBon ¡

  • Exploits ¡replicated ¡and ¡pipelined ¡parallelism ¡
  • Scales ¡well ¡
  • Reaches ¡speedup ¡of ¡497 ¡with ¡64 ¡nodes ¡and ¡8 ¡cores/node ¡
  • Future ¡Work ¡
  • StreamingMaster ¡and ¡Aggregator ¡can ¡be ¡replicated ¡and ¡work ¡

can ¡be ¡parBBoned ¡

  • Biconnected ¡DecomposiBon, ¡main ¡part ¡of ¡Aggregator, ¡can ¡be ¡

parallelized ¡as ¡well ¡

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 20

IEEE Cluster’13

Conclusion ¡

slide-21
SLIDE 21
  • For ¡more ¡informaBon ¡
  • Email ¡umit@bmi.osu.edu ¡
  • Visit ¡ ¡hMp://bmi.osu.edu/~umit ¡or ¡hMp://bmi.osu.edu/hpc ¡
  • Acknowledgement ¡of ¡Support ¡

STREAMER: ¡a ¡Distributed ¡Framework ¡for ¡Incremental ¡Closeness ¡Centrality ¡Computa@on ¡ 21

IEEE Cluster’13

Thanks ¡