+ All Categories
Home > Documents > MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu,...

MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu,...

Date post: 06-Jan-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
26
Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled Analytics for Shared Storage Systems
Transcript
Page 1: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Madalin Mihailescu, Gokul Soundararajan, Cristiana AmzaUniversity of Toronto and NetApp

MixApart: Decoupled Analytics for Shared Storage Systems

Page 2: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Hadoop + Enterprise storage?!

Shared storage (e.g., NAS)

HadoopPig, Hive

Page 3: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Hadoop+Enterprise: Two Storage Silos

Hardware $$$

Periodic data ingest

Cross-silo data management $$$

Hadoop

Page 4: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Our Solution: MixApart

MapReduce analytics on enterprise storage– Enterprise storage – single reliable data store

MapReduce Compute

MapReduce Compute

MapReduce Compute

Cache Cache Cache

On-disk cache for scalability

Transparent and on-demand ingest

Page 5: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Reduce Reduce Reduce

Map Map Map

Map task parallelism: Storage bandwidth Cache reuse Map task I/O rates

Data reuse

Data Flow with MixApart

Page 6: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Workload Analysis

Extrapolate from recent studies*– Production traces from Facebook, Bing, Yahoo

Insights– High data reuse across jobs e.g., ~60%– Low IO to CPU ratio in input phases e.g., ~25Mbps– Predictable IO demands

* Ananthanarayanan et al. NSDI ’12, Chen et al. VLDB ’12

Page 7: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Compute Scale Estimates

1

10

100

1,000

10,000

100,000

0 0.2 0.4 0.6 0.8 0.95

# o

f Map

Tas

ks

Data Reuse Ratio

Shared storage bandwidth 10 Gbps

Map Task I/O Rate 25 Mbps

2000 parallel tasks400

parallel tasks

Page 8: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart Design

Storage back-end bandwidth management– Saturate bandwidth with Map I/O streams without

impacting job performance Cache management

– Ensure high cached data reuse Compute management

– Assign Map tasks to nodes with cached data

Page 9: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MapReduce Optimization

Predictable job I/O demands at submission– User-specified job input data path– Derived Map task I/O rates

➡ Just-in-time parallel data prefetch within & across jobs

Page 10: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart Architecture

Data Transfer Scheduler

CacheNode

CacheNode

XDFS NameNode

Location Map

ComputeNode

ComputeNode

JobTracker

Compute Scheduler

Issues prefetches using: Available storage bandwidth Job priorities Map I/O rates

Co-locates compute and data using: Job priorities Data in the cache

Job prioritiesJob IO demands

Data locations

Page 11: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart in Action

Compute Node 2

Cache Node 2

Compute Node 1

Cache Node 1 F1 F3

F1F3

F4F2F2F4

Data Transfer Scheduler

Compute Scheduler

JobTracker

XDFS NameNode

Job (F1 F2 F3 F4)

1exchange

job input info Location Map

Page 12: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart in Action

transfer F4transfer F2

Compute Node 2

Cache Node 2

Compute Node 1

Cache Node 1 F1 F3

F1F3

F4F2F2F4

Data Transfer Scheduler

Compute Scheduler

JobTracker

XDFS NameNode

T2T1 T3 T4Job (F1 F2 F3 F4)

1exchange

job input info

2

3create tasks

Location Map

Page 13: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart in Action

transfer F4transfer F2

Compute Node 2

Cache Node 2

Compute Node 1

Cache Node 1 F1 F3

F1F3

F4F2

F2F4

Data Transfer Scheduler

Compute Scheduler

JobTracker

XDFS NameNode

T2

T1 T3

T4Job (F1 F2 F3 F4)

1exchange

job input info

2

3

compute T1 and T3

4

prefetch F2 and F4

create tasks

Location Map

Page 14: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart in Action

transfer F4transfer F2

Compute Node 2

Cache Node 2

Compute Node 1

Cache Node 1 F1 F3

F1F3

F4F2

F2F4

Data Transfer Scheduler

Compute Scheduler

JobTracker

XDFS NameNode

T2 T4

Job (F1 F2 F3 F4)

1exchange

job input info

2

3

compute T1 and T3

4

prefetch F2 and F4

create tasks

Location Map

Page 15: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart Prototype

Re-engineered Hadoop MapReduce and HDFS– XDFS cache

Stateless HDFS + NFS support– Compute scheduler

FIFO task scheduler + cache aware– Data transfer scheduler

Module in NameNode

Page 16: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Evaluation on Amazon EC2

MixApart vs. Hadoop 100-core compute cluster

– 50 EC2 VM instances 7.5 GB RAM, 850GB local storage

– Local VM instance storage for XDFS cache & HDFS NFS server

– EC2 instance 4 EBS volumes in RAID-0 setting 1Gbps bandwidth for analytics

Page 17: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Microbenchmarks

Dataset– 12 days of Wikipedia statistics

Workload– MR Job to aggregate page views for regex– Job on uncompressed data – I/O intensive– Job on compressed data – CPU intensive

Page 18: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Impact of Ingest

I/O intensive CPU intensive0

200

400

600

800

1000Se

cond

s

MixApart Hadoop+ingest

MixApart faster: overlap of compute

and ingest

ingest

compute-16%

-28%

➡ Next: MixApart vs. ideal Hadoop with no static ingest

Page 19: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Microbenchmark Job Durations

0

100

200

300

400

0 0.2 0.4 0.6 0.8 1

Seco

nds

Data Reuse Ratio

0.6 reuse: MixApart ~ Hadoop

MixApart Hadoop-ideal Hadoop+ingest

Page 20: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

2 Jobs Co-scheduled

MixApart Hadoop-ideal

high priorityhigh reuse

Job A Job B0

0.20.40.60.8

11.2

Tim

e (N

orm

aliz

ed t

o H

adoo

p)

compute Acompute Bwait B

compute Acompute Bprefetch B

low prioritylow reuse Time

Page 21: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

2 Jobs Co-scheduled

0

0.3

0.6

0.9

1.2

1.5

Tim

e (N

orm

aliz

ed t

o H

adoo

p)

-37%

Job A Job B

compute Acompute Bwait B

compute Acompute B

high prioritylow reuse

low priorityhigh reuse

+43%

Time

MixApart Hadoop-ideal

MixApart: work conserving compute scheduling

Page 22: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Facebook Hadoop Trace

0

0.2

0.4

0.6

0.8

1

Dat

a R

euse

Fra

ctio

n

Hour

0.09

0.48

0.83

Page 23: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Facebook Job Durations

0

20

40

60

80

0.09 Reuse Trace 0.48 Reuse Trace 0.81 Reuse Trace

Seco

nds

MixApart Hadoop-ideal

MixApart matches Hadoop when ignoring ingest!

+12%

+0.2%

+0.9%

Page 24: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Facebook Compute Concurrency

0

0.2

0.4

0.6

0.8

1

CD

F

Reduce phase parallelism

Map phase parallelism

0 20 40 60 80 100

Number of Running Tasks

MixApart Hadoop-ideal

Page 25: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

MixApart Summary

MapReduce analytics on enterprise storage– Enterprise storage – single reliable data store

Optimized storage efficiency Simplified data management

– MixApart faster than ingest-then-compute Hadoop– MixApart comparable to Hadoop with no ingest

MapReduce Compute

MapReduce Compute

MapReduce Compute

Cache Cache Cache

Page 26: MixApart: Decoupled Analytics for Shared Storage Systems · 2019-12-18 · Madalin Mihailescu, Gokul Soundararajan, Cristiana Amza University of Toronto and NetApp MixApart: Decoupled

Thank you!Questions?


Recommended