A Workload-oriented Programming Model for Temporal Isolation with VBS Ana Sokolova Department of Computer Sciences University of Salzburg joint work with.

Slides:



Advertisements
Similar presentations
Hadi Goudarzi and Massoud Pedram
Advertisements

Module R2 Overview. Process queues As processes enter the system and transition from state to state, they are stored queues. There may be many different.
CSE 522 Real-Time Scheduling (4)
Memory Management Chapter 7.
Day 25 Uniprocessor scheduling. Algorithm: Selection function Selection function – which process among ready processes to select. w – time spent in system,
Chapter 3: CPU Scheduling
Scheduling in Batch Systems
Uniprocessor Scheduling Chapter 9. Aim of Scheduling The key to multiprogramming is scheduling Scheduling is done to meet the goals of –Response time.
Supporting Time-sensitive Application on a Commodity OS Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presented by Wen Sun Some Slides.
Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien.
Informationsteknologi Tuesday, October 9, 2007Computer Systems/Operating Systems - Class 141 Today’s class Scheduling.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
1 Lecture 10: Uniprocessor Scheduling. 2 CPU Scheduling n The problem: scheduling the usage of a single processor among all the existing processes in.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 6: CPU Scheduling
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
Scheduling Strategies Operating Systems Spring 2004 Class #10.
Operating Systems Process Management.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Response time Throughput Processor efficiency.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Main Memory. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Performance Performance is about time and the software system’s ability to meet timing requirements.
Processor Scheduling Hank Levy. 22/4/2016 Goals for Multiprogramming In a multiprogramming system, we try to increase utilization and thruput by overlapping.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
CS333 Intro to Operating Systems Jonathan Walpole.
Purpose of Operating System Part 2 Monil Adhikari.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Memory Management Chapter 7.
Programmable Temporal Isolation through Variable-Bandwidth Servers
Memory Management.
OPERATING SYSTEMS CS 3502 Fall 2017
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Process Management Process Concept Why only the global variables?
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Operating Systems (CS 340 D)
Chapter 5a: CPU Scheduling
OPERATING SYSTEMS CS3502 Fall 2017
Process Management Presented By Aditya Gupta Assistant Professor
April 6, 2001 Gary Kimura Lecture #6 April 6, 2001
Chapter 8 – Processor Scheduling
Uniprocessor Scheduling
CPU scheduling 6. Schedulers, CPU Scheduling 6.1. Schedulers
Operating Systems (CS 340 D)
Process management Information maintained by OS for process management
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Chapter 15 – Part 1 The Internal Operating System
Introduction What is an operating system bootstrap
Lecture 21: Introduction to Process Scheduling
Operating System Concepts
Main Memory Background Swapping Contiguous Allocation Paging
Scheduling Adapted from:
TDC 311 Process Scheduling.
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Chapter 6: CPU Scheduling
Lecture 2 Part 3 CPU Scheduling
Lecture 21: Introduction to Process Scheduling
Processor Scheduling Hank Levy 1.
Uniprocessor scheduling
Supporting Time-Sensitive Applications on a Commodity OS
Chapter 5: CPU Scheduling
Uniprocessor Scheduling
IIS Progress Report 2016/01/18.
Presentation transcript:

A Workload-oriented Programming Model for Temporal Isolation with VBS Ana Sokolova Department of Computer Sciences University of Salzburg joint work with Silviu Craciunas and Christoph Kirsch

It is about ● Scheduling processes in temporal isolation ● Using variable bandwidth servers for predictability ● Server design for performance the time it takes to execute a piece of code is bounded, independently of concurrently running code

Process model process time action α 1 response time load arrivaltermination action α 2 ● action is a piece of code ● process is a sequence of actions speed

Problem process 1 process 2 process n schedule the processes so that each of their actions maintains its response time uniprocessor Solvable with variable bandwidth servers (VBS) Results: ● a constant-time scheduling algorithm ● a constant-time admission test

Resources and VBS π1π1π1π1 λ1λ1λ1λ1 time π2π2π2π2 λ2λ2λ2λ2 ● VBS is determined by a bandwidth cap (u) ● VBS processes dynamically adjust speed (resource) λ 1 /π 1 ≤ u and λ 2 /π 2 ≤ u ● generalization of constant bandwidth servers (CBS) [Abeni and Buttazzo 2004] virtual periodic resources virtual periodic resources period π limit λ utilization λ/π

One process on a VBS response time process time process running on a VBS response time under VBS π1π1π1π1 time load action α 1 response time action α 2 load λ1λ1λ1λ1 λ2λ2λ2λ2 π2π2π2π2 response time under VBS

VBSprocess running on a VBS time blocked ready runnin g new action preemption due to limit λ preemption due to release dispatch release next action completion response time under VBS arrival termination

VBS process 1 (2,4) process 2 (2,8) process 3 (1,6) multiple processes are EDF-scheduled blocked readyrunning

Scheduling result and bounds For any action α on a resource (λ,π) we have upper response time bound load / λπ + π - 1 lower response time bound load / λπ jitter jitter π - 1 Processes P 1,P 2, …,P n on VBSs u 1,u 2, …,u n, are schedulable if ∑u i ≤ 1

Implementation ● constant-time scheduling algorithm ● different queue management plugins n – number of processes t – number of time instants trade-off time and space

loop { int number_of_frames=determine_rate(); allocate_memory(number_of_frames); read_from_network(number_of_frames); compress_data(number_of_frames); write_to_disk(number_of_frames); deallocate_memory(number_of_frames); } until (done); Programming model loop period action 1 different throughput and latency requirements for different portions of code action 2

How do we get VBS parameters for an action? “server design problem”

Response-time function

f R : R D → Q +

Execution-time function f E : E D → Q + load

Utilization f U (w) = (f E (w) – d E ) / (f R (w) – d R ) f U (w) < c U

Timing of the allocate_memory action

Response-time sampling Scheduled response time (under VBS)

Server Design Problem Finding the right λ,π is difficult. For f S (w) ≤ f R (w) one can choose π as follows: ● 0 < π < d R – d E / c U ● π divides d R evenly ● π divides f R (w) – d R evenly or ● λ divides f E (w) – d E evenly λ = π * c U

Server Design Problem Higher-level scheduler: ● small period for the first part of an action ● large period for the remaining part Smallest π possible: ● f S approximates f R best ● less response-time jitter ● increased scheduler overhead Scheduler overhead accounting: ● utilization accounting ● response-time accounting ● combined accounting

Conclusion For scheduling processes in temporal isolation: ● Programming model as a link to VBS ● VBS provide predictability ● Server design for better performance