Tians Scheduling: Using Partial Processing in Best-Effort Applications Yuxiong He *, Sameh Elnikety *, Hongyang Sun + * Microsoft Research + Nanyang Technological.

Slides:



Advertisements
Similar presentations
Scheduling Algorithems
Advertisements

Hadi Goudarzi and Massoud Pedram
Scheduling Criteria CPU utilization – keep the CPU as busy as possible (from 0% to 100%) Throughput – # of processes that complete their execution per.
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,
Optimization for QoS on Systems with Tasks Deadlines Luis Fernando Orleans Pedro Nuno Furtado.
Looking at the Server-side of P2P Systems Yi Qiao, Dong Lu, Fabian E. Bustamante and Peter A. Dinda Department of Computer Science Northwestern University.
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.
A Tool for Describing and Evaluating Hierarchical Real-Time Bus Scheduling Policies Author: Trevor Meyerowitz, Claudio Pinello, Alberto DAC2003, June 24,2003.
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
Efficient Scheduling of Heterogeneous Continuous Queries Mohamed A. Sharaf Panos K. Chrysanthis Alexandros Labrinidis Kirk Pruhs Advanced Data Management.
Bargaining Towards Maximized Resource Utilization in Video Streaming Datacenters Yuan Feng 1, Baochun Li 1, and Bo Li 2 1 Department of Electrical and.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
Uplink Scheduling with Quality of Service in IEEE Networks Juliana Freitag and Nelson L. S. da Fonseca State University of Campinas, Sao Paulo,
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
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.
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.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
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,
Zeta: Scheduling Interactive Services with Partial Execution Yuxiong He, Sameh Elnikety, James Larus, Chenyu Yan Microsoft Research and Microsoft Bing.
Courtesy Piggybacking: Supporting Differentiated Services in Multihop Mobile Ad Hoc Networks Wei LiuXiang Chen Yuguang Fang WING Dept. of ECE University.
Architecture for Resource Allocation Services Supporting Interactive Remote Desktop Sessions in Utility Grids Vanish Talwar, HP Labs Bikash Agarwalla,
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
1 Lecture 5: CPU Scheduling Operating System Fall 2006.
Lecturer 5: Process Scheduling Process Scheduling  Criteria & Objectives Types of Scheduling  Long term  Medium term  Short term CPU Scheduling Algorithms.
Dynamic Resource Allocation for Shared Data Centers Using Online Measurements By- Abhishek Chandra, Weibo Gong and Prashant Shenoy.
Web Servers load balancing with adjusted health-check time slot.
Tao Zhu1,2, Chengchun Shu1, Haiyan Yu1
Chapter 5a: CPU Scheduling
The Impact of Replacement Granularity on Video Caching
Deadline Scheduling and Heavy tail distributionS
Operating Systems Processes Scheduling.
Measuring Service in Multi-Class Networks
Process Scheduling B.Ramamurthy 9/16/2018.
Chapter 6: CPU Scheduling
Process Scheduling B.Ramamurthy 11/18/2018.
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture 21: Introduction to Process Scheduling
Zhen Xiao, Qi Chen, and Haipeng Luo May 2013
3: CPU Scheduling Basic Concepts Scheduling Criteria
Scheduling Adapted from:
Chapter5: CPU Scheduling
Admission Control and Request Scheduling in E-Commerce Web Sites
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Process Scheduling B.Ramamurthy 2/23/2019.
Lecture 21: Introduction to Process Scheduling
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
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:

Tians Scheduling: Using Partial Processing in Best-Effort Applications Yuxiong He *, Sameh Elnikety *, Hongyang Sun + * Microsoft Research + Nanyang Technological University

Background Interactive services are an important part of data center workload – Example: web search, web server, VOD server, etc. – SLA » Example: web search can require 99% results returned within 150ms. Server utilization for interactive services is embarrassingly low – Today high server utilization kills responsiveness and result quality.

Example M/M/1 Queue Mean service time = 15ms Deadline = 100ms Quality = 1 if it is fully serviced within deadline; 0 otherwise Average quality ≥ 0.99 What is max system utilization? FIFO Server: Norm. arrival rate = 0.3 CPU utilization = 30% FIFO Server: Norm. arrival rate = 0.3 CPU utilization = 30%

Example FIFO Server: Arrival rate = 0.3 CPU utilization = 30% FIFO Server: Arrival rate = 0.3 CPU utilization = 30% M/M/1 Queue, FIFO Scheduling Mean service time = 15ms Deadline = 100ms Quality = 1 if it is fully serviced within deadline; 0 otherwise Average quality ≥ 0.99 What is max system utilization?

Motivation M/M/1 Queue, FIFO Scheduling Mean service time = 15ms Deadline = 100ms Quality = 1 if it is fully serviced within deadline; 0 otherwise Average quality ≥ 0.99 What is max system utilization? Goal * Sustain higher load while meeting SLA. * Reduce hardware, energy and operational cost. FIFO Server: Arrival rate = 0.3 CPU utilization = 30% FIFO Server: Arrival rate = 0.3 CPU utilization = 30%

Characteristics of Interactive Services Deadline with each request Partial results – Find the best available result within a predefined response time Quality function – Response quality improves with processing time  progressive – Exhibits diminishing return  concave

Traditional SystemTians System Strict request model flexible model with partial results + Tians scheduler Decide processing time of requests Maximize overall response quality while meeting their deadline BxBx AxAx A’ x B’ x

Example 3 Jobs, deadline 100 J1J2J3Quality Service demand FIFO9010/ = 0.98 FIFO + partial results9010/ = 1.25 Tians scheduling + partial results = 1.91 Benefits of partial results Benefits of scheduling

Contribution Propose Tians scheduling for interactive services, embracing partial results. Present three scheduling algorithms – Tians-Optimal (offline) » Prove its optimality – Tians-Clairvoyant (online clairvoyant) – Tians-NonClairvoyant (online nonclairvoyant) Evaluate Tians scheduling algorithms using simulation – Improve response quality

Outline Introduction Scheduling model Optimal offline algorithm Online algorithms Simulation results Concluding Remarks

Scheduling Model A set of requests Each request has – Arrival time – Deadline – Service demand Quality function – maps the processing time the request receives to a quality value Scheduler – assigns request processing time – maximize total quality of all requests

Optimal Offline Algorithm: Tians-Optimal Three Intuitions 1.When SOEP is feasible, SOEP is optimal. 2.An optimal schedule is composed by SOEP blocks. 3.Jobs in the busiest interval define a SOEP block.

Intuition 1 When SOEP is feasible, SOEP is optimal. SOEP (service-oriented equi-partitioning) policy – Each request gets equal share of processing time unless it requires less. » Small requests get what they demand » Large requests share equal processing time Example: 3 Jobs, deadline 100ms J1J2J3Quality Service demand SOEP

Intuition 2 SOEP is not always feasible because of deadlines SOEP not feasible  divide into sub-blocks Inside each sub-block, SOEP is feasible An optimal schedule is composed by SOEP blocks. How to identify the SOEP blocks? SOEP block1SOEP block2SOEP block3

Intuition 3 Jobs in the busiest interval define a SOEP block. Inside the block, assign processing time using SOEP

Intuition 3 Jobs in the busiest interval define a SOEP block. Inside the block, assign processing time using SOEP Remove the block and repeat the process on remaining requests.

Tians-Optimal Divide and conquer algorithm: T HEOREM : Tians-Optimal produces an optimal schedule to maximize the total quality of requests. Tians-Optimal([i,j]) { find the busiest block [k,h] apply SOEP on requests in block [k,h] Tians-Optimal ([i,k-1]) Tians-Optimal ([h+1, j]) } Tians-Optimal([i,j]) { find the busiest block [k,h] apply SOEP on requests in block [k,h] Tians-Optimal ([i,k-1]) Tians-Optimal ([h+1, j]) }

Online Algorithms Tians-Clairvoyant Know service demand of released requests Apply Tians-Optimal on the set of ready requests. Tians-Nonclairvoyant Do not know service demand of any requests Apply Tians-Clairvoyant using mean service demand of requests Key features of Tians scheduling: Share processing time equally among requests Prevent long requests from starving short ones Easy to implement in real systems : FIFO, no preemption

Simulation Results Application – Web Search Engine » Search and rank matching documentss Implement five algorithms – Three Tians algorithms – FIFO : no partial results – FIFO-Partial : support partial results

Web Search Engine Setup – Service demand exponential distribution with mean = 26ms – Poisson arrival – Quality function – SLA » Deadline 150ms » Average quality ≥0.99

Simulation Result FIFO Arrival rate 0.15 Utilization 15% FIFO FIFO-PartialTians-Noncl FIFO-Partial Arrival rate 0.6 Utilization 60% Tians-Noncl. Arrival rate 0.78 Utilization 78%

Simulation Result FIFO Arrival rate 0.15 Utilization 15% FIFO FIFO-Partial Arrival rate 0.6 Utilization 60% Tians-Noncl. Arrival rate 0.78 Utilization 78% Gain from partial results Tians-Noncl

Simulation Result FIFO Arrival rate 0.15 Utilization 15% FIFO FIFO-PartialTians FIFO-Partial Arrival rate 0.6 Utilization 60% Tians-Noncl. Arrival rate 0.78 Utilization 78% Gain from better scheduling

Simulation Result FIFO Arrival rate 0.15 Utilization 15% FIFO FIFO-Partial Arrival rate 0.6 Utilization 60% Tians-Noncl. Arrival rate 0.78 Utilization 78% 420% Tians-Noncl Tians sustains more than 400% load. Save 80% servers. Tians sustains more than 400% load. Save 80% servers.

Simulation Result FIFO Tians-NonclFIFO-Partial

Simulation Result Gain from knowing service demand

Simulation Result Gain from knowing future

More Experiments VOD Server – Tians manages the upstream bandwidth – Tians-Clairvoyant streams to 40% more clients than FIFO. Variance Reduction – Partial results that produces smooth quality function – Share processing time equally among requests

Conclusions Tians – Partial results + enhanced scheduling Scheduling – Share processing time equally among requests – Prevent long requests from starving short ones Simulation results – Improve response quality – To achieve the same QoS, Tians supports much higher system utilization than traditional server.

Future Work Applying Tians in large-scale systems

Thank you! Questions?