Heterogeneity and Dynamicity of Clouds at Scale: Google Trace Analysis [1] 4/24/2014 Presented by: Rakesh Kumar [1 ]

Slides:



Advertisements
Similar presentations
CPU Scheduling.
Advertisements

Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
A Dynamic World, what can Grids do for Multi-Core computing? Daniel Goodman, Anne Trefethen and Douglas Creager
Trace Analysis Chunxu Tang. The Mystery Machine: End-to-end performance analysis of large-scale Internet services.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
Charles Reiss *, Alexey Tumanov †, Gregory R. Ganger †, Randy H. Katz *, Michael A. Kozuch ‡ * UC Berkeley† CMU‡ Intel Labs.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Processes and Their Scheduling.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Performance Evaluation
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
20 October 2006Workflow Optimization in Distributed Environments Dynamic Workflow Management Using Performance Data David W. Walker, Yan Huang, Omer F.
Challenges towards Elastic Power Management in Internet Data Center.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
임규찬. 1. Abstract 2. Introduction 3. Design Goals 4. Sample-Based Scheduling for Parallel Jobs 5. Implements.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
MURI: Integrated Fusion, Performance Prediction, and Sensor Management for Automatic Target Exploitation 1 Dynamic Sensor Resource Management for ATE MURI.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
1/22 Optimization of Google Cloud Task Processing with Checkpoint-Restart Mechanism Speaker: Sheng Di Coauthors: Yves Robert, Frédéric Vivien, Derrick.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
ApproxHadoop Bringing Approximations to MapReduce Frameworks
HPC HPC-5 Systems Integration High Performance Computing 1 Application Resilience: Making Progress in Spite of Failure Nathan A. DeBardeleben and John.
For a good summary, visit:
GangLL Gang Scheduling on the IBM SP Andy B. Yoo and Morris A. Jette Lawrence Livermore National Laboratory.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
1
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
OPERATING SYSTEMS CS 3502 Fall 2017
lecture 5: CPU Scheduling
CPU SCHEDULING.
Measurement-based Design
CS 425 / ECE 428 Distributed Systems Fall 2016 Nov 10, 2016
R SE to the challenges of ntelligent systems
Regulating Data Flow in J2EE Application Server
CS 425 / ECE 428 Distributed Systems Fall 2017 Nov 16, 2017
Chapter 6: CPU Scheduling
Omega: flexible, scalable schedulers for large compute clusters
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
On Dynamic Resource Availability in Grids
3: CPU Scheduling Basic Concepts Scheduling Criteria
Henge: Intent-Driven Multi-Tenant Stream Processing
Chapter5: CPU Scheduling
Operating systems Process scheduling.
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Lecture 2 Part 3 CPU Scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
Tiresias A GPU Cluster Manager for Distributed Deep Learning
CPU Scheduling: Basic Concepts
Module 5: CPU Scheduling
Presentation transcript:

Heterogeneity and Dynamicity of Clouds at Scale: Google Trace Analysis [1] 4/24/2014 Presented by: Rakesh Kumar [1 ]

Google Trace Available Online: o Contains: o Obfuscated IDs for jobs, usernames, machine platforms and configuration o One month activity in a12K machine cluster o O(100,000) jobs, O(1) to O(10,000) tasks per job o Task resource requested: (RAM, CPU) and constraints and actual usage every five minutes o Timestamps for task events (Submission, Machine Assignment, Schedule) Does not contain: o Precise purpose of tasks and machine configuration

Heterogeneity - Machines Machine are heterogeneous and lead to scale up with time hypothesis. Design question: How to allocate units of resources to jobs/tasks in evolving, multi- tenant clusters?

Heterogeneity - Workload types Jobs are labeled using twelve distinct priorities 0 – 11 and scheduling class. Some jobs are never evicted due to over-allocation (determined using some other attribute, not priority). Production priority jobs form 7% of all jobs.

Heterogeneity - Job Durations Production priority forms a majority of long running jobs. Scheduling classes evenly distributed across short and long run jobs. Design Question: Job duration is heavy tailed, even when sliced by priority or scheduling class, but fails to pass fitness test for power- law distributions. Given that, what assumptions should be made about distribution?

Heterogeneity - Task Shapes Resources request per task for both CPU and memory have wide variations. The CPU and memory request per task has little correlation (R 2 = 0.14) and CPU : Memory ratio spans two orders of magnitude

Dynamicity – Machine Churn Spread: 40% of the all machines are unavailable to the scheduler at once during the 30 day trace. Period: 9.7 losses of availability per machine per year Availability: Over 95% of time, 99% machines are available.

Dynamicity – Submissions and Resubmissions 100s of task placement decisions per second, driven by short-duration tasks and resubmission. 14M, 4.5M and 4.1M resubmissions events caused by failed tasks, evictions due machine configuration changes or priority and job kills respectively. 10M resubmissions in three crash looping jobs causing spikes.

75% of jobs consists of one task, Embarrassingly parallel programs? 50% of jobs run for less than 3 minutes Job submissions are clustered suggesting jobs being part of same larger program. Dynamicity – Small Jobs

Causes: Machine configuration changes and priority. Failure Rate for low priority jobs: 1 task every 15 minutes. Evictions within half a second of scheduling of another task of same or higher probability. Dynamicity – Evictions

Usage Overview On average, only 50% of the memory and 60% of CPU is utilized, while much larger share is requested in jobs. Can we do better?

Resource Request “Accuracy” Using 99 th percentile usage for memory and CPU as maximum. The maximum task usage is then weighted by product of per-task resource request and number of days on which task is run to determine “requests are usually too high or too low”. Users seemingly predict maximum memory consumption better than maximum CPU usage. Design question: Should scheduler trust user input at all?

Usage Stability Machine utilization is predictable over timescales of minutes. Design question: Can scheduling scheme utilize this fact and that tasks last multiple minutes to design predictive scheduling?

Task Constraints - I Hard vs Soft constraints 6% of tasks have hard constraints in the trace: Resource attribute based and anti-affinity constraints. Constraint key ‘o/’ seems to mean “avoid machine with a certain attribute”

Task Constraints - II Anti-affinity constraints cause scheduling delay.

Discussion Question the context: How much is the trace data result of the deployed scheduler and how much is it a function of natural task demands? Waster Work: Evictions appear speculative and not driven by resource monitoring and in some cases unnecessary. Can we do better? How to measure: 99 th percentile sample for estimating maximum usage by a task may not be accurate. How would you measure the resource usage by a given task? Whacky Notions: Think flexible tasks: Can a compute framework be designed which “always” trades-off memory and CPU resource? So, the scheduler is then able to adapt tasks to what resources are available instead of other way around.