0% found this document useful (0 votes)
16 views

Mapreduce Advanced

The document discusses improving performance of MapReduce jobs in heterogeneous cloud computing environments. It describes how task stragglers can negatively impact job completion times. The original Hadoop scheduler uses speculative task execution to mitigate this, but makes assumptions that do not hold in heterogeneous systems. The paper presents a new scheduler called LATE that estimates task completion times to better select speculative tasks for backup. Evaluation on Amazon EC2 shows LATE provides an average 27% speedup over Hadoop and 31% over running without backups.

Uploaded by

ahmadroheed
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Mapreduce Advanced

The document discusses improving performance of MapReduce jobs in heterogeneous cloud computing environments. It describes how task stragglers can negatively impact job completion times. The original Hadoop scheduler uses speculative task execution to mitigate this, but makes assumptions that do not hold in heterogeneous systems. The paper presents a new scheduler called LATE that estimates task completion times to better select speculative tasks for backup. Evaluation on Amazon EC2 shows LATE provides an average 27% speedup over Hadoop and 31% over running without backups.

Uploaded by

ahmadroheed
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Cloud Computing

MapReduce in Heterogeneous
Environments

Eva Kalyvianaki
[email protected]
Contents

 Looking at MapReduce performance in heterogeneous


clusters
 Material is from the paper:
“Improving MapReduce Performance in Heterogeneous Environments”,
By Matei Zaharia, Andy Konwinski, Anthony D. Joseph, Randy Katz and
Ion Stoica, published in Usenix OSDI conference, 2008
 and their presentation at OSDI

2
Motivation: MapReduce is becoming popular
 Open-source implementation, Hadoop, used by Yahoo!,
Facebook, Last.fm, …
 Scale: 20 PB/day at Google, O(10,000) nodes at Yahoo, 3000
jobs/day at Facebook

3
Stragglers in MapReduce
 Straggler is a node that performs poorly or not performing
at all.
 Original MapReduce mitigation approach was:
 To run a speculative copy (called a backup task)
 Whichever copy or original would finish first would be included

 Without speculative execution, a job would be slow as the


slowest sub-task
 Google notes that speculative execution can improve job
response times by 44%

 Is this approach good enough for modern clusters?

4
Modern Clusters: Heterogeneity is the norm
 Cloud computing providers like Amazon’s Elastic Compute
Cloud (EC2) provide cheap on-demand computing:
 Price: 2 cents / VM / hour
 Scale: thousands of VMs
 Caveat: less control of performance

 Main challenge for Hadoop on EC2 is performance


heterogeneity, which breaks task scheduler assumptions
 This lecture/paper is on a new LATE scheduler that can cut
response time in half

5
MapReduce Revised

6
MapReduce Implementation, Hadoop

7
Scheduling in MapReduce
 When a node has an empty slot, Hadoop chooses one from
the three categories in the following priority:
1. A failed task is given higher priority
2. Unscheduled tasks. For maps, tasks with local data to the node are
chosen first.
3. Looks to run a speculative task.

8
Deciding on Speculative Tasks
 Which task to execute speculatively?
 Hadoop monitors tasks progress using a progress score: a
number from 0, …, 1
 For mappers: the score is the fraction of input data read
 For reducers: the execution is divided into three equal phases,
1/3 of the score each:
 Copy phase: percent of maps that output has been copied from
 Sort phase: map outputs are sorted by key: percent of data merged
 Reduce phase: percent of data passed through the reduce function
 Example: a task halfway through the copy phase has
progress score = 1/2*1/3 = 1/6.
 Example: a task halfway through the reduce phase has
progress score = 1/3 + 1/3 + 1/2 * 1/3 = 5/6
9
Deciding on Speculative Tasks (con’t)

 Hadoop looks at the average progress of each category of


maps and reduces and defines a threshold:
 When a task’s progress is less than the average for its
category minus 0.2, and the task has run at least one
minute, it is marked as a straggler:
threshold = avgProgress – 0.2

 All tasks with progress score < threshold are stragglers


 Ties are broken by data locality
 This approach works reasonably well in homogeneous clusters

10
Scheduler’s Assumptions
1. Nodes can perform work at roughly the same rate
2. Tasks progress at constant rate all the time
3. There is no cost to starting a speculative task
4. A task’s progress is roughly equal to the fraction of its total
work
5. Tasks tend to finish in waves, so a task with a low progress
score is likely a slow task
6. Different task of the same category (maps or reduces) take
roughly the same amount of work

11
Revising Scheduler’s Assumptions
1. Nodes can perform work at roughly the same rate
2. Tasks progress at constant rate all the time

 (1) In heterogeneous clusters some nodes are slower (older)


than others
 (2) Virtualized clusters “suffer” from co-location interference

12
Heterogeneity in Virtualized Environments

 VM technology isolates CPU and memory, but disk and


network are shared
 Full bandwidth when no contention
 Equal shares when there is contention
 2.5x performance difference
70
IO Performance per VM (MB/s)

60
50
40
30
20
10
0
1 2 3 4 5 6 7
VMs on Physical Host
13
Revising Scheduler’s Assumptions
3. There is no cost to starting a speculative task
4. A task’s progress is roughly equal to the fraction of its total
work
5. Tasks tend to finish in waves, so a task with a low progress
score is likely a slow task

 (3) Too many speculative tasks can take away resources


from other running tasks
 (4) The copy phase of reducers is the slowest part, because
it involves all-pairs communications. But this phase counts
for 1/3 of the total reduce work.
 (5) Tasks from different generations will be executed
concurrently. So newer faster tasks are considered with older
show tasks, avgProgress changes a lot.
14
Idea: Progress Rates

 Instead of using progress score values, compute progress


rates, and back up tasks that are “far enough” below the
mean

 Problem: can still select the wrong tasks

15
Progress Rate Example

1 min 2 min

Node 1 1 task/min

Node 2 3x slower

Node 3 1.9x slower

Time (min)

16
Progress Rate Example

What if the job had 5 tasks?


2 min

Node 1

Node 2 time left: 1 min

Node 3 time left: 1.8 min

Time (min)
Node 2 is slowest, but should back up Node 3’s task!
17
Our Scheduler: LATE

 Insight: back up the task with the largest estimated finish


time
 “Longest Approximate Time to End”  LATE
 Look forward instead of looking backward

 Sanity thresholds:
 Cap number of backup tasks
 Launch backups on fast nodes
 Only back up tasks that are sufficiently slow

18
LATE Details

 Estimating finish times:


progress score
progress rate =
execution time

1 – progress score
estimated time left =
progress rate

19
LATE Scheduler

 If a task slot becomes available and there are less than


SpeculativeCap tasks running, then:
1. Ignore the request if the node’s total progress is below
SlowNodeThreshold (=25th percentile)
2. Rank currently running, non-speculatively executed tasks by
estimated time left
3. Launch a copy of the highest-ranked task with progress rate below
SlowTaskThreshold (=25th percentile)

 Threshold values:
 10% cap on backups, 25th percentiles for slow node/task
 Validated by sensitivity analysis

20
LATE Example

2 min

Node 1 Estimated time left:


(1-0.66) / (1/3) = 1

Node 2 Estimated time left:


Progress = 66%
(1-0.05) / (1/1.9) = 1.8
Progress = 5.3%

Node 3

Time (min)

LATE correctly picks Node 3


21
Evaluation

 Environments:
 EC2 (3 job types, 200-250 nodes)
 Small local testbed
 Self-contention through VM placement
 Stragglers through background processes

22
EC2 Sort without Stragglers (Sec 5.2.1)
 106 machines , 7-8 VMs per machine  total of 243 VMs
 128 MB data per host, 30 GB in total
 486 map tasks and 437 reduce tasks
 average 27% speedup over native, 31% over no backups
1.4
Normalized Response Time

1.2

0.8 No Backups
Hadoop Native
0.6
LATE Scheduler
0.4

0.2

0
Worst Best Average
23
EC2 Sort with Stragglers (Sec 5.2.2)
 8 VMs are manually slowed down out of 100 VMs in total
 running background of CPU- and disk-intensive jobs
 average 58% speedup over native, 220% over no backups
 93% max speedup over native
2.5
Normalized Response Time

2.0

1.5
No Backups
Hadoop Native
1.0 LATE Scheduler

0.5

0.0
Worst Best Average
24
Conclusion

 Heterogeneity is a challenge for parallel apps, and is


growing more important
 Lessons:
 Back up tasks which hurt response time most
 2x improvement using simple algorithm

25
Summary

 MapReduce is a very powerful and expressive model


 Performance depends a lot on implementation details
 Material is from the paper:
“Improving MapReduce Performance in Heterogeneous Environments”,
By Matei Zaharia, Andy Konwinski, Anthony D. Joseph, Randy Katz and
Ion Stoica, published in Usenix OSDI conference, 2008
 and their presentation at OSDI

26

You might also like