Improving MapReduce Performance in Heterogeneous EnvironmentsMotivationResultsOutlineWhat is MapReduce?Fault Tolerance in MapReduceHeterogeneity in Virtualized EnvironmentsDisk Performance Heterogeneity ExperimentBackup Task Scheduling in HadoopProblems in Heterogeneous EnvironmentProgress Rate ApproachesExampleSlide 13Our Scheduler: LATELATE DetailsEvaluationConclusionQuestions?UC BerkeleyImproving MapReduce Performance in Heterogeneous EnvironmentsMatei Zaharia, Andy Konwinski,Anthony Joseph, Randy Katz, Ion Stoica University of California at BerkeleyMotivation•MapReduce programming model growing in popularity–Open-source implementation, Hadoop, used at Yahoo, Facebook, CMU, Berkeley,…•Virtualized computing services like Amazon EC2 provide on-demand compute power, but less control over performanceResults•Main challenge for Hadoop on EC2 was node performance heterogeneity•Designed heterogeneity-aware scheduler that improves response time up to 2xOutline•MapReduce background•The challenge of heterogeneity•LATE: a heterogeneity-aware schedulerWhat is MapReduce?•Programming model to split computations into independent parallel tasks–Map tasks filter data set–Reduce tasks aggregate values by key•Goal: hide the complexity of distributed programming and fault toleranceFault Tolerance in MapReduce•Nodes fail re-run tasks•Nodes very slow (stragglers) launch backup copies of tasks•How to do this in heterogeneous env.?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 I/O performance difference on EC2Disk Performance Heterogeneity ExperimentBackup Task Scheduling in Hadoop•Scheduler starts all primary tasks, then looks for tasks to back up•Tasks report “progress score” from 0 to 1•Backup launched if progress < avgProgress - 20%Problems in Heterogeneous Environment•Too many backups (trash shared resources)•Wrong tasks may be backed up•Backups may be placed on slow nodes•Tasks never backed up if progress > 80%•Result: 80% of reduces backed up in some experiments, network overloadedProgress Rate Approaches•Compute average progress rate, back up tasks that are “far enough” below this•Problems:–How long to wait for statistics?–Can still select the wrong tasksExampleTime (min)Node 1Node 2Node 33x slower1.9x slower1 task/minExampleNode 1Node 2Node 3What if the job had 5 tasks?time left: 1 mintime left: 1.8 min2 minTime (min)Should back up node 3’s taskOur Scheduler: LATE•Insight: back up the task with the largest estimated finish time–“Longest Approximate Time to End”•Sanity thresholds:–Cap backup tasks to ~10%–Launch backups on fast nodes–Only back up tasks that are sufficiently slowLATE Details•Estimating finish time:•Thresholds:–25th percentiles for slow node/task, 10% cap–Sensitivity analysis shows robustnessprogress score execution timeprogress rate =1 – progress scoreprogress rateestimated time left =Evaluation•EC2 experiments (3 job types, 200 nodes)•Experiments in small controlled testbed•Contention through VM placement•Results:–2x better response time if there are stragglers –30% better response time when no stragglersConclusion•Heterogeneity is a challenge for parallel applications, and is getting more important•Lessons for scheduling backup tasks:–Detecting slow nodes isn’t enough; do it early–Pick tasks which hurt response time the most–Be mindful of shared resources•2x improvement using simple
View Full Document