Overload Scheduling in Real-Time Systems

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Introduction to Algorithms
Unit-iv.
1 Concurrency: Deadlock and Starvation Chapter 6.
Multiprocessor Scheduling
Pricing for Utility-driven Resource Management and Allocation in Clusters Chee Shin Yeo and Rajkumar Buyya Grid Computing and Distributed Systems (GRIDS)
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Tuesday, March 5 Duality – The art of obtaining bounds – weak and strong duality Handouts: Lecture Notes.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULTIPLYING MONOMIALS TIMES POLYNOMIALS (DISTRIBUTIVE PROPERTY)
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Year 6 mental test 10 second questions Numbers and number system Numbers and the number system, fractions, decimals, proportion & probability.
ZMQS ZMQS
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
R O O T S Field-Sensitive Points-to-Analysis Eda GÜNGÖR
CprE 458/558: Real-Time Systems
Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Real-Time: Periodic Tasks Fred Kuhns Applied Research Laboratory Computer Science Washington University.
EE5900 Advanced Embedded System For Smart Infrastructure
Pinwheel Scheduling for Power-Aware Real-Time Systems Gaurav Chitroda Komal Kasat Nalini Kumar.
Real-Time Competitive Environments: Truthful Mechanisms for Allocating a Single Processor to Sporadic Tasks Anwar Mohammadi, Nathan Fisher, and Daniel.
Utility Optimization for Event-Driven Distributed Infrastructures Cristian Lumezanu University of Maryland, College Park Sumeer BholaMark Astley IBM T.J.
Time Slicing in Mobile TV Broadcast Networks with Arbitrary Channel Bit Rates Cheng-Hsin Hsu Joint work with Mohamed Hefeeda April 23, 2009 Simon Fraser.
Digital Logic Design Gate-Level Minimization
Approximating the Optimal Replacement Algorithm Ben Juurlink.
Virtual Memory II Chapter 8.
1 Comnet 2010 Communication Networks Recitation 4 Scheduling & Drop Policies.
Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.
8.6 Linear Programming. Linear Program: a mathematical model representing restrictions on resources using linear inequalities combined with a function.
Management and Control of Domestic Smart Grid Technology IEEE Transactions on Smart Grid, Sep Albert Molderink, Vincent Bakker Yong Zhou
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Formal models of design 1/28 Radford, A D and Gero J S (1988). Design by Optimization in Architecture, Building, and Construction, Van Nostrand Reinhold,
Processes Management.
© 2004, D. J. Foreman 1 Scheduling & Dispatching.
Addition 1’s to 20.
25 seconds left…...
Test B, 100 Subtraction Facts
Fakultät für informatik informatik 12 technische universität dortmund Lab 3: Scheduling Solution - Session 10 - Heiko Falk TU Dortmund Informatik 12 Germany.
Week 1.
Number bonds to 10,
We will resume in: 25 Minutes.
1 Unit 1 Kinematics Chapter 1 Day
Distributed Computing 9. Sorting - a lower bound on bit complexity Shmuel Zaks ©
Delta-Oriented Testing for Finite State Machines
Delay Analysis and Optimality of Scheduling Policies for Multihop Wireless Networks Gagan Raj Gupta Post-Doctoral Research Associate with the Parallel.
Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI.
13-Optimization Assoc.Prof.Dr. Ahmet Zafer Şenalp Mechanical Engineering Department Gebze Technical.
Module 2 Priority Driven Scheduling of Periodic Task
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Imprecise Computations.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Dynamic Priority Driven Scheduling of Periodic Task
Introduction to Real-Time Systems
Determining Optimal Processor Speeds for Periodic Real-Time Tasks with Different Power Characteristics H. Aydın, R. Melhem, D. Mossé, P.M. Alvarez University.
Embedded System Scheduling
Imprecise Computation September 7, 2006
Elastic Task Model For Adaptive Rate Control
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Ch 4. Periodic Task Scheduling
Presentation transcript:

Overload Scheduling in Real-Time Systems Dr. Pedro Mejía Alvarez Sección de Computación. CINVESTAV-IPN, México 1

Outline Motivation Related Work Methodology The INCA Server Algorithm The Approximate Algorithm Analysis of the INCA Server Simulation Results

Motivation Many systems are provisioned incorrectly Correctly provisioned systems have: Changes in the environment, Many arrivals of asynchronous events or Faults of peripheral devices. Overloads occur when safety is at stake  need efficient algorithm

Related Work Best effort scheduling algorithm (Locke and Jensen): The RED (Robust Earliest Deadline) algorithm (Buttazzo): Imprecise Computations Skip Model The (m,k) Model The Elastic Task Model The Incremental Server Model.

Best effort scheduling algorithm Rejection policy for overloaded systems based on removing tasks with the minimum value density (introduced time valued functions). U U U (b) (c) (a) d t d t d t

The RED (Robust Earliest Deadline) algorithm aperiodic tasks in overloaded systems. Combines criticality-based scheduling and deadline tolerance. Remove the task with least value on overload. task Scheduling policy Planning Ready queue RUN Reclaiming policy Rejection policy Reject queue

Imprecise Computation Model Each Task is composed by a mandatory and an optional part. Mi: mandatory part of task i Oi: optional part of task i Mi precceds in execution to a Oi Oi could not execute or it may execute partially The deadline of Mi must be guaranteed. The deadline of Oi could be missed if necesarry. Execution of Oi refines the result obtained by Mi The goal in the scheduling of imprecise tasks is to execute the most possible number of optional parts such that: No deadline of mandatory parts is missed The error is minimized. Error is greater when more optional parts are not executed

Example of Execution of Imprecise Tasks Task 3 misses the deadline of If optional part on its first Job At time: t = 50 0 20 40 60 80 100 120 140 160 20

The Skip Model Some Jobs can be skipped, ocassionally On-line guarantee A job is either executed within its deadline or it is rejected. Each Task is characterized by (Ci,Ti,Di,Si) Si is the minimum number of Jobs that must be executed between two consecutive skips

The Skip Model (Example) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 C1 = 1, T1 = 3; C2 = 2, T2 = 4, Si = 2

The Elastic Tasks Model The idea is to control the processor load by tuning the task periods Task utilization are variable with given elastic coefficients A periodic task is characterized by: (Cu, Ti0, Timin, Timax, Ei) The actual period Ti Є [Timin,Timax] Ei Ri Timin Ti0 Timax

Problems with Related Work Criteria for rejection = discard the lesser-valued tasks. The time valued functions: difficult to obtain performance may be degraded if the system designers are not familiar with these functions. How far from optimal is the performance of the algorithms? Discarding “less critical” tasks during overload requires: exploration of a large search space (combination of tasks) to discard  solution not practical.

Incremental Server for Scheduling Overloads Goal: Selecting Optional Parts to schedule in real-time systems under overloads. Problem: Selection while maximizing system value requires the exploration of a large number of combinations. Approach: Adjust the system workload by executing a sequence of approximate algorithms in incremental steps. At every phase, load is adjusted and solution is refined. Property: The most critical tasks in the systems are always scheduled and the total value is maximized.

OVERLOADED SYSTEM M1 M3 O1 O2 M2 O4 M4 O3 M5 O5 M6 O6 Mandatory Parts Optional Parts

OVERLOADED SYSTEM Optimal Solution High Complexity M1 M3 O1 O2 M2 O4 Mandatory Parts Optional Parts

OVERLOADED SYSTEM Low Cost Poor Solution M1 M3 M2 M4 M5 M6 Mandatory Parts Optional Parts

INCREMENTAL EXECUTION OF A SEQUENCE OF APPROXIMATE ALGORITHMS Solutions O1 O2 O1 O6 O3 O4 O2 O4 [...AP(0)][....................AP(1)] .............. [..........AP(k)] Solution is Refined Complexity Increases

INCREMENTAL EXECUTION OF A SEQUENCE OF APPROXIMATE ALGORITHMS Overload 1 Slack U Time AP(0)][...............AP(1)][.......................................AP(k)] AP(1) runs on the Slack Time recovered by AP(0)

Task Model Imprecise periodic tasks: 0/1 constraints The arrival of each task is aperiodic (ri instances per task). Overload is caused by optional parts. Overloads only due to new task arrivals (comp times are fixed) Optional parts may be discarded under overloaded conditions. Each task has an associated criticality value vi. Earliest Deadline First (EDF) dispatching.

Methodology Proposed Define the search space and the objective functions, Define the conditions for the feasibility of a solution, Find a feasible element within the search space that satisfies an optimality criteria. Execute the Approximate Algorithms in an incremental fashion, during system idle times.

Search Space Set Search Space S4 {1,1,1,1} Each element in S denotes either a Feasible or Non-Feasible Solution Xi = 1, optional part i is chosen for execution.

Objective Functions and Feasibility test Utilization: (s) =  mi/Ti +  xj (pj/Tj) Criticality Value: (s) =  xi (vi/Ti) Feasibility Test (utilization based) true if (s) <= 1 UBT(s) = false otherwise {

The Optimization Problems Maximize Utilization Maximize the Value maximize (s) maximize (s) Subject to UBT(s) Subject to UBT(s)

Formulation for Maximizing Utilization Problem: If an arriving task I causes an overload: Decide whether to accept the new task. Determine the time for the scheduling of the new task. Determine the optional parts to shed. Maximize the usage of the resources at a low cost.

Incremental Scheduling Server Adjust the workload in response to transient overload requests. Executes a sequence of Approximate Algorithms AP(0), ..., AP(n) during idle time. At each level k, AP(k) determines which optional parts to shed to satisfy optimality criteria AP(k) obtains a solution closer to optimal than AP(k-1) but with longer execution time.

Incremental Scheduling Server Metodology for Handling Overload Activating the Incremental Server Execution of AP(0): Overload Removal Scheduling the New Task. Execution of AP(1),..., AP(n) Stopping the execution of the Server

Incremental Scheduling Server Triggers for activating the INCA Server: A new task arrives and causes an overload: UBT Test A task leaves the system. While waiting for new tasks, the INCA server do not cause overhead in the system.

Incremental Scheduling Server Execution of AP(0) yields Overload Removal: “shed the less critical optional parts” AP(0) is a greedy algorithm O(n)  finds a sub-optimal solution. If overload persists after AP(0)  the new task is rejected. Optional Tasks are temporarily suspended, not discarded.

Incremental Scheduling Server Scheduling the New Task occurs only at the end of the longest period of all preempted tasks. The resulting utilization can not be immediately subtracted.

Incremental Scheduling Server Incremental Execution of AP(1), ..., AP(n) AP(1) runs on the slack time recovered by AP(0). Similarly, slack from AP(1) is used to run AP(2), ... And so on... INCA server will execute as many AP(k)’s as possible AP(i) solution better than AP(i-1) AP(i) runtime longer than AP(i-1) Results from AP(i) may increase the utilization, reducing the amount of available slack.

Incremental Scheduling Server Triggers for stopping the execution of the INCA Server There is no slack in the schedule to execute AP(k)  stop server AP(k) gives a solution no better than AP(k-1)  stop server After AP(n) is executed  stop server Another task arrives in the system  stop and re-start server A Task leaves the system  stop and re-start server

Incremental Scheduling Server INCA Server: input: Set of tasks, including the newly arrived task 1: Execute AP(0); 2: if the system is still overloaded then exit; 3: Compute the start time of the new task; 4: Schedule the new task at its start time; 5: k=1; 6: while (there is slack in the schedule) do 7: Execute AP(k) (during slack time) 8: if the result (utilization) from AP(k) is better than AP(k-1) 9: then Adjust the workload (remove optional parts) 10: else exit; 11: k = k+ 1; 12: end;

Each Approximate Algorithm Greedy algorithm to select optional parts for execution. AP(k) considers all possible (feasible) subsets in the search space with al least k optional parts. Characteristics: The time complexity of AP(k) is: O(nk+1) The worst-case performance ratio is: k/(k+1) For a small value of k, AP(k) give a solution “close to optimal”.

Performance of the Approximate Algorithm Number of Solutions within x percent near optimal 1000 Simulations 10 tasks U = 120%

Analysis of the INCA Server Results. Using INCA gives better results than using NON-INCA, when the objective is to maximize (s) (utilization).

Simulation Experiments: setup Measure the quality of results over a set of dynamic tasks. Measure and compare the performance among several stages of our different optimality criteria 100 independent simulations (first 5 stages of AP(k)) 5,000 tasks (life time of each task: 400-600 instances)

Performance Evaluation: Metrics Utilization Ratio = CU(I) Total Utilization Criticality Ratio = CV(I) Total Criticality CU(I) = i ri * pi ri = number of instances of task i CV(I) = i ri * vi

Simulation Results Utilization Ratio for up to 5 stages

Simulation Results Criticality Ratio for up to 5 stages

Conclusion on the INCA Server Only few stages of the INCA server are necessary for achieving near-optimal results. INCA Algorithm is easy to implement. Performance metrics (utilization and criticality) are easy to obtain for system designers.