Houssam-Eddine Zahaf, Giuseppe Lipari, Luca Abeni RTNS’17

Slides:



Advertisements
Similar presentations
CprE 458/558: Real-Time Systems
Advertisements

Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
Time Demand Analysis.
Priority Inheritance and Priority Ceiling Protocols
Real-Time Mutli-core Scheduling Moris Behnam. Introduction Single processor scheduling – E.g., t 1 (P=10,C=5), t 2 (10, 6) – U= >1 – Use a faster.
CS5270 Lecture 31 Uppaal, and Scheduling, and Resource Access Protocols CS 5270 Lecture 3.
CPE555A: Real-Time Embedded Systems
CSE 522 Real-Time Scheduling (4)
SUMMARY: SOFT REAL-TIME ON MULTIPROCESSORS: ARE ANALYSIS-BASED SCHEDULERS REALLYWORTH IT? Christopher J. Kennay, Jonathan L. Hermany, Bj¨orn B. Brandenburgy,
Power Management in Cloud Computing using Green Algorithm -Kushal Mehta COP 6087 University of Central Florida.
Power Aware Real-time Systems Rami Melhem A joint project with Daniel Mosse, Bruce Childers, Mootaz Elnozahy.
RUN: Optimal Multiprocessor Real-Time Scheduling via Reduction to Uniprocessor Paul Regnier † George Lima † Ernesto Massa † Greg Levin ‡ Scott Brandt ‡
Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of.
Sporadic Server Scheduling in Linux Theory vs. Practice Mark Stanovich Theodore Baker Andy Wang.
Towards Feasibility Region Calculus: An End-to-end Schedulability Analysis of Real- Time Multistage Execution William Hawkins and Tarek Abdelzaher Presented.
Preemptive Behavior Analysis and Improvement of Priority Scheduling Algorithms Xiaoying Wang Northeastern University China.
Chapter 6 Dynamic Priority Servers
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
New Schedulability Tests for Real- Time task sets scheduled by Deadline Monotonic on Multiprocessors Marko Bertogna, Michele Cirinei, Giuseppe Lipari Scuola.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Combined Scheduling of Periodic and Aperiodic Tasks.
The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.
Progress Report 2014/02/12. Previous in IPDPS’14 Energy-efficient task scheduling on per- core DVFS architecture ◦ Batch mode  Tasks with arrival time.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
The Packing Server for Real-time Scheduling of MapReduce Workflows Shen Li, Shaohan Hu, Tarek Abdelzaher University of Illinois at Urbana Champaign 1.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Real-Time Scheduling CS 3204 – Operating Systems Lecture 20 3/3/2006 Shahrooz Feizabadi.
Age Based Scheduling for Asymmetric Multiprocessors Nagesh B Lakshminarayana, Jaekyu Lee & Hyesoon Kim.
An Energy-efficient Task Scheduler for Multi-core Platforms with per-core DVFS Based on Task Characteristics Ching-Chi Lin Institute of Information Science,
Real Time Operating Systems Schedulability - Part 2 Course originally developed by Maj Ron Smith 12/20/2015Dr Alain Beaulieu1.
Real-Time Scheduling CS 3204 – Operating Systems Lecture 13 10/3/2006 Shahrooz Feizabadi.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Multiprocessor Fixed Priority Scheduling with Limited Preemptions Abhilash Thekkilakattil, Rob Davis, Radu Dobrin, Sasikumar Punnekkat and Marko Bertogna.
Defects of the POSIX Sporadic Server and How to Correct Them
Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
Real-Time Operating Systems RTOS For Embedded systems.
R-Storm: Resource Aware Scheduling in Storm
vCAT: Dynamic Cache Management using CAT Virtualization
Multiprocessor Real-Time Scheduling
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Unit OS9: Real-Time and Embedded Systems
Ching-Chi Lin Institute of Information Science, Academia Sinica
Measuring Service in Multi-Class Networks
Lecture 24: Process Scheduling Examples and for Real-time Systems
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Process Scheduling B.Ramamurthy 11/18/2018.
Module 5: CPU Scheduling
Chapter 6 Dynamic Priority Servers
Sanjoy Baruah The University of North Carolina at Chapel Hill
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter5: CPU Scheduling
CSCI1600: Embedded and Real Time Software
Chapter 6: CPU Scheduling
Outline Scheduling algorithms Multi-processor scheduling
Chapter 6: CPU Scheduling
NET 424: REAL-TIME SYSTEMS (Practical Part)
NET 424: REAL-TIME SYSTEMS (Practical Part)
Department of Electrical Engineering Joint work with Jiong Luo
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Chapter 6: CPU Scheduling
Ch.7 Scheduling Aperiodic and Sporadic Jobs in Priority-Driven Systems
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
The End Of The Line For Static Cyclic Scheduling?
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Presentation transcript:

Migrate when necessary: toward partitioned reclaiming for soft real-time systems Houssam-Eddine Zahaf, Giuseppe Lipari, Luca Abeni RTNS’17 Presenter: Haoran Li

Motivation: Decrease Soft Real-Time Deadline misses Undesirable to miss deadlines but not crucial Task Model Release job aperiodically Execution time varies (“highly dynamic”) Jobs: Possibly unbounded inter-arrival time Tasks may enter and leave the system dynamically Consequence Non-guarantee to respect all deadlines Tasks with long execution times may monopolize the processor, and then increase deadline miss rate. Insight: CPU reservation  guarantee CPU share in a timely fashion reclaiming unused CPU cycles  exploit unused CPU cycles

Reservation: Bandwidth Preserving Servers a server is a scheduling entity, which specify its <budget, period> The server consumes budget when executing jobs When the budget exhausted, the server stop executing jobs Different budget burn/replenishment algorithms  Different servers Deferrable Server GRUB Server (*) Then, the server is treated as if it were a periodic task, which will be scheduled by the host scheduler. * This paper adopt GRUB approach

Example: Deferrable Server Preserve unused capacity till the end of the current period Get better utilization?  Assign another server and sched the server by EDF!

Example: EDF + Deferrable Server Better Utilization: suppose we have ONE JOB with very long execution time Reservation! As long as the servers are schedulable, the budget is guaranteed in every period.

Issue: “Wasted CPU Cycles” Server 1: Task 1 releases a job with a long execution time Server 2: No pending jobs Server (4, 6)’s cycle is wasted. How to RECLAME those unused budget?

GRUB, another server: A rough “insight” Note: The algorithm showed here is NOT accurate, just for an insight Server utilization (aka. bandwidth) 𝑢𝑖= 𝐵𝑖 𝑃𝑖 If the server has pending job, mark it as “Active”. Ua= 𝑖∈𝑎𝑐𝑡𝑖𝑣𝑒 𝑢𝑖 Each period, Virtual Budget is replenished as its Period. Burns at Different rate, according to active servers only r= 𝑈𝑎 𝑢𝑖 Key Features of GRUB Servers scheduled by “EDF-like” policy For any t, If 𝐔𝐚(𝐭)≤𝟏, then no server misses its scheduling deadline regardless of the behavior of the served tasks

Different Burn Rate Server 1: Virtual Budget start at 3, r = 1 / (1/3) = 3 Server 2: Virtual Budget start at 6, r = 1 / (4/6) = 1.5 “EDF-Like” r = 1.5 r = 3

Auto Reclaiming Server 1: Only active server: Ua= 1/3, r = (1/3) / (1/3) = 1 Server 2: Not active r = 1 Auto Reclaiming unused CPU cycles!

Architecture Partitioned Reservation Partitioned: GRUB is a single core server + scheduling policy (pEDF like) Each task has a server (no task scheduling within a server) Reservation: Server can guarantee at least Budget execution every Period Global Reclaiming Global: Job can (temporarily) migrate among different PCPU Reclaiming: the migrated job is put in a migrated server, which can exploit the unused PCPU cycles

Architecture Preset 𝑢𝑚 as migrating utilization Total utilization of servers on core Uj Total utilization of other migrating server 𝑈 𝑗 𝑚 Find the core j with smallest 𝑈 𝑗 𝑎 j 𝑢𝑚 + 𝑈𝑗 + 𝑈 𝑗 𝑚 ≤1 Other features: Permanent Migration: If one task is always tend to missing deadlines, do permanent migration Dynamic Load Balance Different partitioned algorithm (e.g. Worst-Fit Best-Fit) If cannot satisfied: do it with best effort: 𝑢𝑚′ =min{𝑢𝑚 ,1- 𝑈𝑗 - 𝑈 𝑗 𝑚 }

Evaluation: Two core platform (simulation) A high CPU demand task enters @ t=2000, leaves @ t=6000. Its server’s utilization = 0.3 Enable Load Balance/Migration Disable Load Balance/Migration

Evaluation: Utilization Enable Load Balance/Migration Disable Load Balance/Migration

Contribution We proposed: heuristics to partition a set of soft real-tasks to a set of identical cores The execution time of each job is not know apriori Tasks may enter and leave the system dynamically We allow: Jobs to migrate to reclaim extra-budget Tasks to migrate to load balance

Critiques & Lesson Learned Reclaiming: “Work Conserving”  Exploit unused cycles Trade off: Partitioned Reservation: EDF-Like utilization feature Global Reclaiming: Opportunistic Temporarily Migration  Guarantee the pre assigned servers, while give best effort to temporarily job. Challenge: How to choose um??? By profiling? GRUB complexity? Challenge of adopting it in real system? (Marked as Future work)

Thank You