Stride Scheduling. Robert Grimm New York University

Similar documents
Advanced Operating Systems (CS 202) Scheduling (2)

Scheduling II. To do. q Proportional-share scheduling q Multilevel-feedback queue q Multiprocessor scheduling q Next Time: Memory management

TCSS 422: OPERATING SYSTEMS

CSC 1600: Chapter 5. CPU Scheduling. Review of Process States

CPU scheduling. CPU Scheduling

א א א א א א א א

Project 2 solution code

CS510 Operating System Foundations. Jonathan Walpole

Probabilistic well cost and time modelling. See the unforeseen

CPU SCHEDULING. Scheduling Objectives. Outline. Basic Concepts. Enforcement of fairness in allocating resources to processes

OPERATING SYSTEMS. Systems and Models. CS 3502 Spring Chapter 03

SE350: Operating Systems. Lecture 6: Scheduling

Homework 2: Comparing Scheduling Algorithms

Extending Stride Scheduler with System Credit for Implicit Coscheduling

Scheduling Processes 11/6/16. Processes (refresher) Scheduling Processes The OS has to decide: Scheduler. Scheduling Policies

Motivation. Types of Scheduling

Uniprocessor Scheduling

Planning the Capacity of a Web Server: An Experience Report D. Menascé. All Rights Reserved.

Intelligent Techniques Lesson 4 (Examples about Genetic Algorithm)

Scheduling Algorithms. Jay Kothari CS 370: Operating Systems July 9, 2008

Dynamic Fractional Resource Scheduling for HPC Workloads

Air-traffic Flow Management with ILOG CP Optimizer. Ulrich Junker ILOG

Balancing Risk and Economics for Chemical Supply Chain Optimization under Uncertainty

Why Measure Performance? Two Primary Measures of Performance

Chapter 6: CPU Scheduling. Basic Concepts. Histogram of CPU-burst Times. CPU Scheduler. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Competitive Strategies for Online Cloud Resource Allocation with Discounts

College of information technology Department of software

CPU Scheduling Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University

Best Suitable Cogeneration Power for Factories from Multi-Objective Data Analysis

A CASE STUDY OF SCENARIO EARTHQUAKE-BASED RISK ASSESSMENT FOR NUCLEAR POWER PLANTS

Optimisation and Operations Research

Viridity Energy, Inc. A customer baseline serves as an estimate of how much electricity a customer would

CS 143A - Principles of Operating Systems

- Title: Value of Upstream Information in a Two-Stage Supply Chain with Random

Integrated Stochastic Network Model for a Reliability Assessment of the NEES. Esteban Gil Iowa State University August 30 th, 2005

Near-Balanced Incomplete Block Designs with An Application to Poster Competitions

Extensive Experimental Validation of a Personalized Approach for Coping with Unfair Ratings in Reputation Systems

Background: ERCOT studies in 80 s and 90 s using NARP (N Area Reliability Program): o Small model in which each node represented a major load center

Random Drug Testing Under Constraints on Subsample Sizes

Architecture-Aware Cost Modelling for Parallel Performance Portability

IJCSC VOLUME 5 NUMBER 2 JULY-SEPT 2014 PP ISSN

Case Study. Effort = (Size X Complexity) Productivity. A Case for Software Estimation

Q1. What is Real time system? Explain the basic model of Real time system. (8)

ProRenaTa: Proactive and Reactive Tuning to Scale a Distributed Storage System

CHAPTER 1 INTRODUCTION

COMP9334 Capacity Planning for Computer Systems and Networks

Chapter 5. Job-Based Structures and Job Evaluation

Strategic Planning in Air Traffic Control as a Multi-Objective Stochastic Optimization Problem

A Parametric Bootstrapping Approach to Forecast Intermittent Demand

CPU Scheduling. Disclaimer: some slides are adopted from book authors and Dr. Kulkarni s slides with permission

Salisu Aliyu Department of Mathematics, Ahmadu Bello University, Zaria, Nigeria

CHAPTER 7 SHORT TERM HYDROTHERMAL SCHEDULING WITH PROHIBITED OPERATING ZONES

Configuring Performance Routing Cost Policies

Reading Reference: Textbook: Chapter 7. UNIX PROCESS SCHEDULING Tanzir Ahmed CSCE 313 Fall 2018

Lecture 6: CPU Scheduling. CMPUT 379, Section A1, Winter 2014 February 5

CPU Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Unix Scheduler

Comp 204: Computer Systems and Their Implementation. Lecture 10: Process Scheduling

Hadoop Fair Scheduler Design Document

Cycle Time Forecasting. Fast #NoEstimate Forecasting

Ensemble Learning for Large-Scale Workload Prediction

Bottleneck Detection of Manufacturing Systems Using Data Driven Method

TASK SCHEDULING BASED ON EFFICIENT OPTIMAL ALGORITHM IN CLOUD COMPUTING ENVIRONMENT

A Profile Guided Approach to Scheduling in Cluster and Multi-cluster Systems

Simulation of Process Scheduling Algorithms

Genetic Algorithms and Genetic Programming Lecture 14

Chapter 24. Time/Job. Work Measurement. Goal: determine standard time for a task. Techniques

High-Volume Web Site Performance Simulator for WebSphere

Assessment of Marginal and Long-term Surplus Power in Orissa A Case Study

HTCondor at the RACF. William Strecker-Kellogg RHIC/ATLAS Computing Facility Brookhaven National Laboratory April 2014

Computational Intelligence Lecture 20:Intorcution to Genetic Algorithm

Asia Pacific Journal of Engineering Science and Technology

Joel Castaneda. January Tecolote Research, Inc.

Analysis of RES production diagram, a comparison of different approaches

TOWARD A QUANTIFIED RISK ASSESSMENT APPROACH. Mari Shironishi Pipeline Integrity Manager

Standards. The framework for the award of the PASA accreditation for quality pension administration. October PASA Standards Version 1.

Human Resources and Job Design. Learning Objectives. Human Resource Strategy. Dr. Richard Jerz

A Systematic Approach to Performance Evaluation

A Genetic Algorithm for Order Picking in Automated Storage and Retrieval Systems with Multiple Stock Locations

Evolutionary Algorithms

Deterministic Crowding, Recombination And Self-Similarity

DYNAMIC RESOURCE PRICING ON FEDERATED CLOUDS

LOAD SHARING IN HETEROGENEOUS DISTRIBUTED SYSTEMS

2. Genetic Algorithms - An Overview

Goodbye to Fixed Bandwidth Reservation: Job Scheduling with Elastic Bandwidth Reservation in Clouds

CS 111. Operating Systems Peter Reiher

Lecture 11: CPU Scheduling

Use of PSA to Support the Safety Management of Nuclear Power Plants

Global Supply Chain Planning under Demand and Freight Rate Uncertainty

A few arguments in favor of a carbon tax and a new proposal for climate cooperation

A General Method for Fatigue Analysis of Vertical Axis Wind Turbine Blades*

REVIEW OF POWER SYSTEM EXPANSION PLANNING IN VIETNAM

Machine Learning Models for Sales Time Series Forecasting

Tassc:Estimator technical briefing

Figure 15 Periodic annual increment (PAI) and gross mean annual increment (MAI) in basal area per acre by treatments for (A) Skykomish treatments 1,

The Design of SMART: A Scheduler for Multimedia Applications

Traffic Shaping (Part 2)

Software Performance Estimation in MPSoC Design

Tutorial Segmentation and Classification

FUNDAMENTALS OF QUALITY CONTROL AND IMPROVEMENT. Fourth Edition. AMITAVA MITRA Auburn University College of Business Auburn, Alabama.

CS 318 Principles of Operating Systems

Transcription:

Stride Scheduling Robert Grimm New York University

The Three Questions What is the problem? What is new or different? What are the contributions and limitations?

Motivation Scheduling of scarce computer resources (e.g., CPU) Has major impact on throughput and response time Should be fair (scientific applications) But also needs to adjust rapidly (interactive applications) Priority-based schemes Rely on ad-hoc assignment of priorities Are poorly understood Do not provide encapsulation, modularity

A Probabilistic Solution: Lottery Scheduling

Lottery Scheduling Provides a randomized mechanism Not suitable for (hard) real-time systems Provides control over relative execution rates Can be implemented efficiently Supports modular resource management

The Basic Ingredients Tickets Abstract, relative, and uniform resource rights Lotteries Probabilistically fair selection of next resource holder Throughput proportional to client's ticket allocation Binomial distribution, accuracy improves with n Average response time inversely proportional to client's ticket allocation

Fun with Lottery Tickets Ticket transfers Useful for RPC-based systems Avoid priority inversion problem Ticket inflation Provides alternative to transfers (no communication!) Needs to be avoided/contained in general Ticket currencies Support flexible naming, sharing, and protecting of resource rights Compensation tickets Make up for underutilization

Wait a Minute! Lottery scheduling is probabilistic Mean error slows down, but still grows Fairly high distribution of response times Mean Error (quanta) Frequency (thousands) 1 5 5 4 3 2 1 (a) Lottery 7:3 2 4 6 8 1 (a) Lottery - 7 5 1 15 2

A Deterministic Solution: Stride Scheduling

The Basic Ingredients Tickets Abstract, relative, and uniform resource rights Strides (stride = stride1 / tickets) Intervals between selections Passes (pass += stride) Virtual time index for next selection Clients with smallest pass gets selected

Making Strides 3:2:1 Allocation 2 15 Pass Value 1 5 5 1 Time (quanta)

Dynamic Client Participation Need to maintain aggregate information Global tickets: sum of all active clients tickets Global stride: stride1 / global tickets Global pass: incremented by global stride per quantum Need to maintain additional per-client information Remain: client s pass - global pass Added back in when rejoining the system

Dynamic Ticket Modification stride global_pass pass done remain remain global_pass pass stride Figure 4: Allocation Change. Modifying a client s allocation from tickets to tickets requires only a constant-time recomputation of its stride and pass. The new stride is inversely proportional to tickets. The new pass is determined by scaling remain, the remaining portion of the the current stride, by stride / stride.

One More Thing Throughput error Bounded to single quantum between any two clients But absolute error may still be O(# clients) Approach: combine clients into groups Larger ticket allocations, smaller strides Algorithm: balanced binary tree of groups Aggregate ticket, stride, and pass values Updates propagated to each of a client s ancestors

Simulations

Lotteries v Strides Lotteries Strides 5 A 5 A 4 3 2 1 B C Cumulative Quanta 4 3 2 1 B C 2 4 6 8 1 2 4 6 8 1 Cumulative Quanta over Time

Throughput Accuracy 1 1 Mean Error (quanta) 5 (a) Lottery 7:3 Error (quanta) 5 (b) Stride 7:3 2 4 6 8 1 2 4 6 8 1 1 1 Mean Error (quanta) 5 (c) Lottery 19:1 Error (quanta) 5 (d) Stride 19:1 2 4 6 8 1 Time (quanta) 2 4 6 8 1 Time (quanta)

More Throughput Accuracy 1 1 Mean Error (quanta) 5 (a) Lottery [2,12]:3 Error (quanta) 5 (b) Stride [2,12]:3 2 4 6 8 1 2 4 6 8 1 1 1 Mean Error (quanta) 5 (c) Lottery 19:[5,15] Error (quanta) 5 (d) Stride 19:[5,15] 2 4 6 8 1 Time (quanta) 2 4 6 8 1 Time (quanta)

Response Time Distribution 1 1 Frequency (thousands) 8 6 4 2 (a) Lottery - 19 Frequency (thousands) 8 6 4 2 (b) Stride - 19 5 1 15 2 5 1 15 2 1 1 Frequency (thousands) 8 6 4 2 (c) Lottery - 1 Frequency (thousands) 8 6 4 2 (d) Stride - 1 2 4 6 8 1 Response Time (quanta) 2 4 6 8 1 Response Time (quanta)

Hierarchical Strides 5 Frequency (thousands) 5 4 3 2 1 Hierarchical Frequency (thousands) 4 3 2 1 Flat 2 4 6 8 1 2 4 6 8 1

In the Real World

CPU Scheduling 1 25 Observed Iteration Ratio 8 6 4 2 Average Iterations (per sec) 2 15 1 5 2 4 6 8 1 Allocated Ratio 2 4 6 Time (sec) Figure 14: CPU Rate Accuracy. For each allocation ratio, the observed iteration ratio is plotted for each of three 3 second runs. The gray line indicates the ideal where the two ratios are identical. The observed ratios are within 1% of the ideal for all data points. Figure 15: CPU Fairness Over Time. Two processes executing the compute-bound arith benchmark with a 3 : 1 ticket allocation. Averaged over the entire run, the two processes executed 249.18 and 82.89 iterations/sec., for an actual ratio of 3.1:1.

Network Scheduling 1 Observed Throughput Ratio 8 6 4 2 2 4 6 8 1 Allocated Ratio Figure 16: Ethernet UDP Rate Accuracy. For each allocation ratio, the observed data transmission ratio is plotted for each of three runs. The gray line indicates the ideal where the two ratios are identical. The observed ratios are within 5% of the ideal for all data points.

What Do You Think?