Aggregation and Degradation in JetStream: Streaming Analytics in the - - PowerPoint PPT Presentation

aggregation and degradation in jetstream streaming
SMART_READER_LITE
LIVE PREVIEW

Aggregation and Degradation in JetStream: Streaming Analytics in the - - PowerPoint PPT Presentation

Aggregation and Degradation in JetStream: Streaming Analytics in the Wide Area Ariel Rabkin Princeton University asrabkin@cs.princeton.edu Work done with Matvey Arye, Siddhartha Sen, Vivek S. Pai, and Michael J. Freedman Todays Analytics


slide-1
SLIDE 1

Ariel Rabkin Princeton University asrabkin@cs.princeton.edu

Aggregation and Degradation in JetStream: Streaming Analytics in the Wide Area

Work done with Matvey Arye, Siddhartha Sen, Vivek S. Pai, and Michael J. Freedman

slide-2
SLIDE 2

Today’s Analytics Architectures

2

— Backhaul is inefficient and inflexible

MillWheel (Google) Storm

slide-3
SLIDE 3

Tomorrow’s Architecture: JetStream

3

— Backhaul is inefficient and inflexible — Goal: optimize use of WAN links by

exposing them to streaming system.

JetStream

slide-4
SLIDE 4

Backhaul is Intrinsically Inefficient

4

Time [two days]

Bandwidth

Available

Buyer’s remorse: wasted bandwidth Analyst’s remorse: system overload or missing data

Needed for backhaul

slide-5
SLIDE 5

Stream Processing Basics

5

Filtering (count > 100) Sampling (drop 90% of data) Image Compression Quantiles (95th percentile) Query stored data

Site A

Some Operators in JetStream: Stream Operators

Input Data

Stream Operators

Input Data

Stream Operators Stream Operators

Site B

Stream Operator

Site C

slide-6
SLIDE 6

The JetStream System

What: Streaming with aggregation and degradation as first-class primitives Where: Storage and processing at edge Why: Maximize goodput using aggregation and degradation How: Data cubes and feedback control

6

slide-7
SLIDE 7

An Example Query

7

How popular is every URL?

Requests Requests

CDN Requests

Requests Requests

CDN Requests

slide-8
SLIDE 8

Mechanism 1: Storage with Aggregation

8

Requests Requests

CDN Requests

Requests Requests

CDN Requests

Every minute, compute request counts by URL

Local Aggregation and Storage Local Aggregation and Storage

slide-9
SLIDE 9

Mechanism 2: Adaptive Degradation

9

Requests Requests

CDN Requests

Requests Requests

CDN Requests

Every minute, compute request counts by URL

Local Aggregation and Storage Local Aggregation and Storage Adjustable Filtering Adjustable Filtering

slide-10
SLIDE 10

Requirements for Storage Abstraction

10

— Update-able (locally and incrementally) Data Data Merged Representation

+ =

Data Data — Merge-able (without accuracy penalty) — Data size is reducible (with predictable accuracy cost) Stored Data += Data

slide-11
SLIDE 11

The Data Cube Model

Aggregation used for:

— Updates — Roll-ups — Merging cubes — Summarizing cubes

11

Counts by URL 12:00 12:01 12:02 www.mysite.com/a 3 5 www.mysite.com/b 2 www.yoursite.com 5 4 … www.her-site.com 8 12 …

Cube: A multidimensional array, indexed by a set of dimensions, whose cells hold aggregates. Cubes have aggregation function: Agg( , )à

slide-12
SLIDE 12

Cubes can be “Rolled Up”

12

Counts by URL 12:00 12:01 12:02 www.mysite.com/a 3 5 www.mysite.com/b 2 www.yoursite.com 5 4 … www.her-site.com 8 12 …

Cube: A multidimensional array, indexed by a set of dimensions, whose cells hold aggregates.

Counts by URL * www.mysite.com/a 8 www.mysite.com/b 2 www.yoursite.com 9 www.her-site.com 20 Counts by URL 12:00 12:01 12:02 * 16 23 …

slide-13
SLIDE 13

Cubes Unify Storage and Aggregation

13

Stored Data

Update Update Update Update sent downstream Standing Query One-off query

slide-14
SLIDE 14

Feedback control

Degradation: The Big Picture

14

Local Data

Dataflow Operators

Summarized or Approximated Data

— Level of degradation auto-tuned to match bandwidth. — Challenge: Supporting mergeability and flexible policies

Network

Dataflow Operators

slide-15
SLIDE 15

Mergeability Imposes Constraints

— Insight: Degradation may be discontinuous

01 - 10 11 - 20 Every 10 21 - 30 01 - 30 Every 30?? 01 - 05 06 - 10 11 - 15 16 - 20 21 - 25 Every 5 26 - 30 01 - 06 07 - 12 13 - 18 19 - 24 Every 6 25 - 30

15

?????? 02 - 06 07 - 11 12 - 16 17 - 21 22 - 26 Every 5 27 - 31

slide-16
SLIDE 16

There Are Many Ways to Degrade Data

16

— Can coarsen a dimension — Can drop low-rank values

slide-17
SLIDE 17

5s minute 5 m hour day

Aggregation time period

1 2 4 8 16 32 64 128 256

Savings from Aggregation

Domains

Coarsening Does Not Always Help

17

5s minute 5 m hour day

Aggregation time period

1 2 4 8 16 32 64 128 256

Savings from Aggregation

Domains URLs

slide-18
SLIDE 18

Degradations Have Trade-offs

18

Name Fixed BW Savings Fixed Accuracy cost Parameter

  • Dim. Coarsening Usually no

Yes Dimension Scale Drop values (locally) Yes No Cut-off Drop values (globally) No, multi-round protocol Yes Cut-off Audiovisual downsampling Yes Yes Sample rate Histogram Coarsening Yes Yes Number of Buckets

slide-19
SLIDE 19

A Simple Idea that Does Not Work

— We have sensors that report congestion…. — Have operators read sensor and adjust themselves?

19

Coarsening Operator

Incoming data Network

Sampled Data

Sending 4x too much

slide-20
SLIDE 20

A Simple Idea that Does Not Work

— We have sensors that report congestion…. — Have operators read sensor and adjust themselves?

20

Coarsening Operator

Incoming data Network

Sampled Data

Sending 4x too much

Increase aggregation period up to 10 sec. If insufficient, use sampling

slide-21
SLIDE 21

Challenge: Composite Policies

— Chaos if two operators are simultaneously

responding to the same sensor

21

Coarsening Operator

Incoming data Network

Sampling Operator

Sending 4x too much

slide-22
SLIDE 22

Interfacing with Operators

22

Shrinking data by 50% Possible levels: [0%, 50%, 75%, 95%, …] Go to level 75%

Coarsening Operator

Incoming data Network

Sampling Operator

Controller

Sending 4x too much

slide-23
SLIDE 23

Experimental Setup

23

80 nodes on VICCI testbed at three sites (Seattle, Atlanta, and Germany)

Policy: Drop data if insufficient BW

Princeton

slide-24
SLIDE 24

20 40 60 80 100 120 140

Experiment time (minutes)

200 400 600 800

BW (Mbits/sec)

Without Degradation

24

Drop BW

20 40 60 80 100 120 140

Elapsed time (minutes)

200 400 600 800 1000

Latency (sec)

20 40 60 80 100 120 140

Elapsed time (minutes)

200 400 600 800 1000

Latency (sec)

20 40 60 80 100 120 140

Elapsed time (minutes)

200 400 600 800 1000

Latency (sec) Median Latency 95th percentile latency Maximum latency

slide-25
SLIDE 25

10 20 30 40 50 60 70 80 90

Experiment time (minutes)

100 200 300 400

BW (Mbits/sec)

Degradation Keeps Latency Bounded

25

Bandwidth Shaping

10 20 30 40 50 60 70 80 90

Elapsed time (minutes)

5 10 15 20

Latency (sec)

10 20 30 40 50 60 70 80 90

Elapsed time (minutes)

5 10 15 20

Latency (sec) Median Latency 95th percentile latency

slide-26
SLIDE 26

10 20 30 40 50 60 70 80 90

Elapsed time (minutes)

5 10 15 20 25 30 35 40

Latency (sec)

Showing maximum latencies

26

Median Latency 95th percentile latency Maximum Latency

slide-27
SLIDE 27

Programming Ease

27

Scenario Lines of code

Slow requests 5 Requests by URL 5 Bandwidth by node 15 Bad referrers 16 Latency and size quantiles 25 Success by domain 30 Top 10 domains by period 40 Big Requests 97

slide-28
SLIDE 28

Conclusions and Future Work

— Useful to embed aggregation and degradation

abstractions in streaming systems.

— Aggregation can be unified with storage. — System must accommodate degradation semantics. — Open questions:

— How to guide users to the right degradation policy? — How to embed abstractions in higher-level language?

28