Phobos

9

Click here to load reader

description

I implemented a continuous map-reduce framework called Phobos on top of NVIDIA CUDA. This presentation gives an intuition about the idea.

Transcript of Phobos

Page 1: Phobos

Phobos Mars on Steriods

Jamie JablinKamran Azam

Suman KarumuriNathan Backman

Page 2: Phobos

Map Reduce

• Given the stock data, compute the 200 day moving average for all the stocks.

• Map– Filter stocks not in your portfolio.

• Reduce– Compute the 200 day average for stocks in

your portfolio.

Page 3: Phobos

Continuous Map Reduce

• Given the stock data, compute the 200 day moving average for all the stocks every 1 hour.

• Map– Filter stocks not in your portfolio.

• Reduce– Compute the 200 day average for stocks in

your portfolio.

Page 4: Phobos

StreamWindow Sub-piece/

Sub-window

At t=0

time

Page 5: Phobos

Stream

At t=1WindowSlides

Page 6: Phobos

StreamWindow Overlapping

Block

Redundant map computation

Page 7: Phobos

Enter Phobos

• Eliminate these redundant map computations.

• On CUDA.• Design

– Instead of computing map on entire window, compute map on the new sub-window.

– Compute the reduce on the whole window.• How? Keep old data around.• How long? In a circular buffer of size num of sub

windows per window.

Page 8: Phobos

Implementation

• Updated Mars – Added notion of windowing.– Eliminated redundant computations by using

circular buffer.• Trade off latency for more working

memory.– Keep the old data on host instead of the

device.

Page 9: Phobos

Demo time!