Zeta: Scheduling Interactive Services with Partial Execution Yuxiong He, Sameh Elnikety, James Larus, Chenyu Yan Microsoft Research and Microsoft Bing.

Slides:



Advertisements
Similar presentations
Topic : Process Management Lecture By: Rupinder Kaur Lecturer IT, SRS Govt. Polytechnic College for Girls,Ludhiana.
Advertisements

Achieving Elasticity for Cloud MapReduce Jobs Khaled Salah IEEE CloudNet 2013 – San Francisco November 13, 2013.
CH 5. CPU Scheduling Basic Concepts F CPU Scheduling  context switching u CPU switching for another process u saving old PCB and loading.
SLA-Oriented Resource Provisioning for Cloud Computing
CPU Scheduling Questions answered in this lecture: What is scheduling vs. allocation? What is preemptive vs. non-preemptive scheduling? What are FCFS,
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
A Grid Resource Broker Supporting Advance Reservations and Benchmark- Based Resource Selection Erik Elmroth and Johan Tordsson Reporter : S.Y.Chen.
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.
Tians Scheduling: Using Partial Processing in Best-Effort Applications Yuxiong He *, Sameh Elnikety *, Hongyang Sun + * Microsoft Research + Nanyang Technological.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Performance Evaluation
Grid Load Balancing Scheduling Algorithm Based on Statistics Thinking The 9th International Conference for Young Computer Scientists Bin Lu, Hongbin Zhang.
An Adaptive Multi-Objective Scheduling Selection Framework For Continuous Query Processing Timothy M. Sutherland Bradford Pielech Yali Zhu Luping Ding.
Saehoon Kim§, Yuxiong He. , Seung-won Hwang§, Sameh Elnikety
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Efficient Scheduling of Heterogeneous Continuous Queries Mohamed A. Sharaf Panos K. Chrysanthis Alexandros Labrinidis Kirk Pruhs Advanced Data Management.
Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment.
Operating Systems Part III: Process Management (CPU Scheduling)
CPU S CHEDULING Lecture: Operating System Concepts Lecturer: Pooja Sharma Computer Science Department, Punjabi University, Patiala.
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
CPU Scheduling Gursharan Singh Tatla 1-Feb-20111www.eazynotes.com.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
BOF: Megajobs Gracie: Grid Resource Virtualization and Customization Infrastructure How to execute hundreds of thousands tasks concurrently on distributed.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer.
A Method for Transparent Admission Control and Request Scheduling in E-Commerce Web Sites S. Elnikety, E. Nahum, J. Tracey and W. Zwaenpoel Presented By.
1 Admission Control and Request Scheduling in E-Commerce Web Sites Sameh Elnikety, EPFL Erich Nahum, IBM Watson John Tracey, IBM Watson Willy Zwaenepoel,
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Service-oriented Resource Broker for QoS-Guaranteed in Grid Computing System Yichao Yang, Jin Wu, Lei Lang, Yanbo Zhou and Zhili Sun Centre for communication.
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.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 5: CPU Scheduling Basic.
MROrder: Flexible Job Ordering Optimization for Online MapReduce Workloads School of Computer Engineering Nanyang Technological University 30 th Aug 2013.
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.
1 Adaptive Parallelism for Web Search Myeongjae Jeon Rice University In collaboration with Yuxiong He (MSR), Sameh Elnikety (MSR), Alan L. Cox (Rice),
Author Utility-Based Scheduling for Bulk Data Transfers between Distributed Computing Facilities Xin Wang, Wei Tang, Raj Kettimuthu,
Data Consolidation: A Task Scheduling and Data Migration Technique for Grid Networks Author: P. Kokkinos, K. Christodoulopoulos, A. Kretsis, and E. Varvarigos.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
CHP-4 QUEUE Cont…. 7.DEQUE Deque (short form of double-ended queue) is a linear list in which elements can be inserted or deleted at either end but not.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Architecture for Resource Allocation Services Supporting Interactive Remote Desktop Sessions in Utility Grids Vanish Talwar, HP Labs Bikash Agarwalla,
CPU Scheduling G.Anuradha Reference : Galvin. CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Dynamic Resource Allocation for Shared Data Centers Using Online Measurements By- Abhishek Chandra, Weibo Gong and Prashant Shenoy.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
CPU SCHEDULING.
Condor – A Hunter of Idle Workstation
Computing Resource Allocation and Scheduling in A Data Center
Production Scheduling: Mel’s Burger Bar
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
CS 143A - Principles of Operating Systems
CPU Scheduling Basic Concepts Scheduling Criteria
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Operating System Concepts
3: CPU Scheduling Basic Concepts Scheduling Criteria
TDC 311 Process Scheduling.
Admission Control and Request Scheduling in E-Commerce Web Sites
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Lecture 2 Part 3 CPU Scheduling
Uniprocessor 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: Scheduling Algorithms Dr. Amjad Ali
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Presentation transcript:

Zeta: Scheduling Interactive Services with Partial Execution Yuxiong He, Sameh Elnikety, James Larus, Chenyu Yan Microsoft Research and Microsoft Bing

Motivation 2 Fast Response Good quality Fast Response Good quality High utilization Fewer servers $$ High utilization Fewer servers $$ Improve system throughput while meeting response time and quality target for interactive services.

Contribution Develop a new scheduling algorithm Zeta – Exploit partial execution and request deadline – Improve response quality and system throughput 3 Zeta Original Increase capacity 29% Potentially save 22% servers Increase capacity 29% Potentially save 22% servers 3

Outline Workload characteristics Zeta scheduling algorithm Evaluation – System implementation – Simulation 4

Workload Characteristics (1) Deadline (2) Partial execution (3) Concave quality profile 5

Workload Characteristics (1) Deadline (2) Partial execution (3) Concave quality profile 6

Workload Characteristics (1) Deadline (2) Partial execution (3) Concave quality profile 7

Workload Characteristics (1) Deadline (2) Partial execution (3) Concave quality profile 8

Concave Quality Profile of Bing Search 9

Scheduling Problem Inputs Queue of requests Request deadline Average service demand of requests Unknown exact service demand of a request Output Assign processing time to request R1 Objective : maximize total quality of all requests 10 R1 R2 R3

Zeta Scheduling Key idea – Prevent long requests from starving short ones – Partially execute long requests if needed 11 R1 R2 R3 R1 R2 R3 R2 R3

Two Techniques of Zeta Key Idea: Prevent long requests from starving short ones (1) Equi-partitioning (EQ) at heavy load: Allocate resource equally among requests P EQ = T / Q T: available time for all requests Q: queue length for waiting requests 12 R1 R2 R3 R1 R2 R3 Reserved

Problem of EQ at Light Load Key Idea: Prevent long requests from starving short ones (1) Equi-partitioning (EQ) at heavy load: Allocate resource equally among requests P EQ = T / Q T: available time for all requests Q: queue length for waiting requests 13 R1 R2 R1 Reserved R2

Two Techniques of Zeta Key Idea: Prevent long requests from starving short ones (2) Reservation (RESV) at light load: Reserve time for later requests in the queue based on average service demand P RESV = T – (Q – 1) x D T: available time for all requests Q: queue length for waiting requests D: average service demand 14 R1 R2 R1 Reserved R2 Assigned to R1

Two Techniques of Zeta Key Idea: Prevent long requests from starving short ones (1) Equi-partitioning (EQ) at heavy load: Allocate resource equally among requests P EQ = T / Q (2) Reservation (RESV) at light load: Reserve time for later requests in the queue based on mean service demand P RESV = T – (Q – 1) x D How to select between RESV and EQ? T: available time for all requests Q: queue length for waiting requests D: average service demand 15

Two Techniques of Zeta Key Idea: Prevent long requests from starving short ones (1) Equi-partitioning (EQ) at heavy load: Allocate resource equally among requests P EQ = T / Q (2) Reservation (RESV) at light load: Reserve time for later requests in the queue based on mean service demand P RESV = T – (Q – 1) x D Request processing time P = max(P RESV,P EQ ) T: available time for all requests Q: queue length for waiting requests D: average service demand 16

Zeta Scheduling Algorithm Get request R at the front of the job queue Assign processing time to request R – Compute P EQ, P RESV – Assign P = max(P EQ, P RESV ) to Request R Execute request R until it completes or used up P processing time 17

Background: Microsoft Aggregators IS Webpages Index Server Aggregator 18...

Implementation and Evaluation Setup Implementation at index server – Original, FIFO/EDF Terminate requests upon deadline or completion – Zeta Use Zeta scheduling to assign request processing time ~100 lines of code changes Standard Bing testing cluster, ~800 servers Query trace from production 19

1) Improve Average Response Quality Original Zeta Increase system capacity 29% Potentially save 22% servers Increase system capacity 29% Potentially save 22% servers 20

2) Reduce Response Quality Variance Original Zeta 21

3) Improve 95% Response Quality Original Zeta 22

Simulation Sensitivity to quality profiles – Effective on various coarse-grain concave-like profiles. 23

Simulation Sensitivity to quality profiles – Effective on various coarse-grain concave-like profiles.

Conclusion Develop Zeta scheduling algorithm – Exploit workload characteristics Deadline, partial execution, concave quality profile – Combine EQ and RESV techniques – Improve response quality and throughput Evaluation – System implementation Bing search: increase throughput by 29% – Simulation Effective on various concave-like quality profiles 25

Thank you! Questions? 26