Redline: Cooperative Scheduling of CPU, Memory and I/O

Similar documents
Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Redline: First Class Support for Interactivity in Commodity Operating Systems

Operating Systems Concepts: Chapter 7: Scheduling Strategies

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

Real-Time Scheduling 1 / 39

Operating Systems. III. Scheduling.

Process Scheduling CS 241. February 24, Copyright University of Illinois CS 241 Staff

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

ICS Principles of Operating Systems

Redline: First Class Support for Interactivity in Commodity Operating Systems

Scheduling policy. ULK3e 7.1. Operating Systems: Scheduling in Linux p. 1

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Lecture 3 Theoretical Foundations of RTOS

ò Scheduling overview, key trade-offs, etc. ò O(1) scheduler older Linux scheduler ò Today: Completely Fair Scheduler (CFS) new hotness

Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Overview of Presentation. (Greek to English dictionary) Different systems have different goals. What should CPU scheduling optimize?

Scheduling. Monday, November 22, 2004

CPU Scheduling. CPU Scheduling

VSched: Mixing Batch And Interactive Virtual Machines Using Periodic Real-time Scheduling

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles

Overview of the Linux Scheduler Framework

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU Scheduling 101. The CPU scheduler makes a sequence of moves that determines the interleaving of threads.

Survey on Job Schedulers in Hadoop Cluster

Linux Block I/O Scheduling. Aaron Carroll December 22, 2007

Final Report. Cluster Scheduling. Submitted by: Priti Lohani

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

CPU Scheduling Outline

ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?

Earliest Due Date (EDD) [Ferrari] Delay EDD. Jitter EDD

REAL TIME OPERATING SYSTEMS. Lesson-10:

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Resource Reservation & Resource Servers. Problems to solve


Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Operating Systems, 6 th ed. Test Bank Chapter 7

/ Operating Systems I. Process Scheduling. Warren R. Carithers Rob Duncan

Final Project Report. Trading Platform Server

Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling

Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling

Operating Systems Lecture #6: Process Management

Delivering Quality in Software Performance and Scalability Testing

W4118 Operating Systems. Instructor: Junfeng Yang

1. Computer System Structure and Components

Monitoring Databases on VMware

OPERATING SYSTEMS SCHEDULING

These sub-systems are all highly dependent on each other. Any one of them with high utilization can easily cause problems in the other.

Introduction. Scheduling. Types of scheduling. The basics

Zend Platform TM. White Paper: Zend Download Server. By Zend Technologies, Inc. May Zend Technologies, Inc. All rights reserved.

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

PERFORMANCE TUNING ORACLE RAC ON LINUX

Operating System Aspects. Real-Time Systems. Resource Management Tasks

OPERATING SYSTEM - VIRTUAL MEMORY

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Predictable response times in event-driven real-time systems

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Process Scheduling in Linux

Linux Process Scheduling Policy

Scheduling Algorithms for Dynamic Workload

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

Processor Scheduling. Queues Recall OS maintains various queues

Performance Comparison of RTOS

COS 318: Operating Systems. Virtual Machine Monitors

Chapter 5 Process Scheduling

Improvement of Scheduling Granularity for Deadline Scheduler

Delay Scheduling. A Simple Technique for Achieving Locality and Fairness in Cluster Scheduling

Scheduling Algorithms

Condusiv s V-locity Server Boosts Performance of SQL Server 2012 by 55%

Job Scheduling for MapReduce

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

Real-time KVM from the ground up

4. Fixed-Priority Scheduling

Aperiodic Task Scheduling

Fair Scheduler. Table of contents

Common Approaches to Real-Time Scheduling

Completely Fair Scheduler and its tuning 1

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

How To Understand The History Of An Operating System

Operating System Resource Management. Burton Smith Technical Fellow Microsoft Corporation

The Classical Architecture. Storage 1 / 36

x86 ISA Modifications to support Virtual Machines

COS 318: Operating Systems. Virtual Machine Monitors

Priority-Driven Scheduling

The Real-Time Operating System ucos-ii

DSS. Diskpool and cloud storage benchmarks used in IT-DSS. Data & Storage Services. Geoffray ADDE

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

The Benefits of Using VSwap

CPU Scheduling. Multitasking operating systems come in two flavours: cooperative multitasking and preemptive multitasking.

W4118 Operating Systems. Instructor: Junfeng Yang

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems

Multimedia Caching Strategies for Heterogeneous Application and Server Environments

Understanding Linux on z/vm Steal Time

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Transcription:

Redline: Cooperative Scheduling of CPU, Memory and I/O Ting Yang, Emery Berger, Scott Kaplan* and Eliot Moss University of Massachusetts Amherst, and Amherst College* MHERST Department of Computer Science

Motivation Computer has limited amount of resources Interact with user and provide services Important things: Responsiveness, interactivity, and availability Each user request Resource requirements CPU, memory, and I/O Expectation: response time, throughput Operating system Manage resources Provide services as user expected However MHERST Department of Computer Science 2

CPU Scheduling Only parameter: nice (priority, weight) Weight distribution, No performance isolation, no QoS Ad-hoc interactivity heuristic: Interactivity trap Static priority for real-time tasks Optimized for Throughput Fairness Responsiveness MHERST Department of Computer Science 3

Need more than CPU Time Need other resources Memory and I/O different components, different policies Memory: recent usage Clock, LRU, SeQ, etc I/O: elevator, sector number, FIFO Anticipatory, deadline, CFQ, etc Does not respect CPU scheduling MHERST Department of Computer Science 4

Redline: An operating system that uses application s specification to drive task scheduling and guide memory and I/O management. Goal: a set of tasks in the system receive resources as specified and are largely immune from Lack of CPU, memory and I/O bandwidth Effect: Provide certain QoS to selected tasks Ensure interactivity and responsiveness Ensure controllability of the system Provide better user experience when system is busy MHERST Department of Computer Science 5

outline Motivation Redline: Specification CPU Scheduling Memory Manager I/O Scheduling Current Status MHERST Department of Computer Science 6

Application Types Three types of applications Response driven (Type A) GUI interface, video/audio, kernel service Arrive at arbitrary interval with arbitrary work length Deadline independent from arrival time Throughput driven (Type B) Batch tasks need to ensure progress Simulation, Research experiments No constraints (Type C) Tasks whose performance user does not care Not critical to the system. MHERST Department of Computer Science 7

Spec for running applications Type A: response time constraints Load: C, Response window: T C/T also indicates CPU share needed Type B: throughput constraints CPU share: P% Type C: fair queuing Weight: W Other stuff Memory, I/O, flags, etc Example: #6:3:100:0:0:1:1:0:0:0# MHERST Department of Computer Science 8

outline Motivation Redline: Specification CPU Scheduling Memory Manager I/O Scheduling Current Status MHERST Department of Computer Science 9

Existing Schedulers Real Time Scheduler GPS Scheduler EDF / RM Knowledge, C/T Strong assumption Strict admission Strong guarantee Low throughput??? EDF + CFS TS / PS / FQ No Knowledge, W No assumption No admission No strict guarantee High throughput MHERST Department of Computer Science 10

Type A: uses two scheduling policy Policy EDF with eligibility control Fair Sharing: CFS Each task: Start time, deadline, quota Renew a cycle if quota used up Eligible tasks: start > now A eligible task with the earliest deadline When a task used up its entitled time Switch to boost mode use CFS for fair sharing Other task may preempt it Become eligible again when now > start time MHERST Department of Computer Science 11

Example P1: 3 / 8 : 1 P2: 2 / 4 : 1 P3: : 1 0 5 10 15 20 0 5 10 15 20 MHERST Department of Computer Science 12

Admission control Every task is given 1ms after fork() If exec(), load spec and check it Otherwise, scheduler check it Based on real CPU load CPU summary window (4 seconds) Actual load, predicted load Difference decayed periodically Admission check New: average over 90%, reject Periodic: all slot over 90%, pick a loser Run as type C task MHERST Department of Computer Science 13

outline Motivation Redline: Specification CPU Scheduling Memory Manager I/O Scheduling Current Status MHERST Department of Computer Science 14

VMM Protect type A pages by a period of time Default: 30 minutes (can change through spec) Evict type C and expired type A pages Type A tasks may book type C pages Type A tasks may reduce protection period A small memory reserve for Type A Avoid competing with type C and paging Push memory pressure towards type C If there is no or very few type C pages Choose a loser and move it to type C MHERST Department of Computer Science 15

I/O scheduler: ongoing I/O priority / bandwidth Break FIFO waiting Type A task submit into request queue earlier Give it higher bandwidth Translate from scheduling spec Page swapping Tread swap in/out differently Treat kswapd differently MHERST Department of Computer Science 16

outline Motivation Redline: Specification CPU Scheduling Memory Manager I/O Scheduling Current Status MHERST Department of Computer Science 17

Current Status Finished Scheduler implementation Admission Control Integrated VMM Ongoing I/O Scheduler Load balancing MHERST Department of Computer Science 18

Experiment Results Vanilla-2.6.22.5 vs Redline 3Ghz, 1G mem, 2 G swap Scheduler overhead: 1, 2, 20, 200, and 2000 tasks ~1400 seconds, 30 times < 0.4% Mini load: one window, one movie Vanilla: video/audio stops when moving the window Redline: never miss a frame no matter how fast you move the window MHERST Department of Computer Science 19

Experiment Results Basic work load: movie, web browser, shell windows Type C fork bomb: 2000 tasks Type C malloc bomb: 4 x 300MB Type A fork bomb: 2000 tasks Type A malloc bomb: 4 x 300MB Launch all of them MHERST Department of Computer Science 20

Future work Load balancing Priority Inherent Dynamic Specification Adjustment Learning from history MHERST Department of Computer Science 21