Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of.

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
Advertisements

1 EE5900 Advanced Embedded System For Smart Infrastructure RMS and EDF Scheduling.
CS5270 Lecture 31 Uppaal, and Scheduling, and Resource Access Protocols CS 5270 Lecture 3.
Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Resource Reclaiming (Contd.)
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
THE UNIVERSITY of TEHRAN Mitra Nasri Sanjoy Baruah Gerhard Fohler Mehdi Kargahi October 2014.
Online Scheduling with Known Arrival Times Nicholas G Hall (Ohio State University) Marc E Posner (Ohio State University) Chris N Potts (University of Southampton)
RUN: Optimal Multiprocessor Real-Time Scheduling via Reduction to Uniprocessor Paul Regnier † George Lima † Ernesto Massa † Greg Levin ‡ Scott Brandt ‡
Module 2 Priority Driven Scheduling of Periodic Task
How Many Boundaries Are Required to Ensure Optimality in Multiprocessor Scheduling? Geoffrey Nelissen Shelby Funk Dakai Zhu Joёl Goossens.
Preemptive Behavior Analysis and Improvement of Priority Scheduling Algorithms Xiaoying Wang Northeastern University China.
26 April A Compositional Framework for Real-Time Guarantees Insik Shin and Insup Lee Real-time Systems Group Systems Design Research Lab Dept. of.
Resource augmentation and on-line scheduling on multiprocessors Phillips, Stein, Torng, and Wein. Optimal time-critical scheduling via resource augmentation.
Recap Priorities task-level static job-level static dynamic Migration task-level fixed job-level fixed migratory Baker/ Oh (RTS98) Pfair scheduling This.
Enhancing the Platform Independence of the Real-Time Specification for Java Andy Wellings, Yang Chang and Tom Richardson University of York.
1 Two-type Heterogeneous Multiprocessor Scheduling: Is there a Phase Transition? Gurulingesh Raravi, Björn Andersson and Konstantinos Bletsas CISTER-ISEP.
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
Chapter 4 – Periodic Task Scheduling In many real-time systems periodic tasks dominate the demand. Three classic periodic task scheduling algorithms: –
Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.
New Schedulability Tests for Real- Time task sets scheduled by Deadline Monotonic on Multiprocessors Marko Bertogna, Michele Cirinei, Giuseppe Lipari Scuola.
A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms Presentation by Tony DeLuce CS 537 Scheduling Algorithms Spring Quarter.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
More Scheduling cs550 Operating Systems David Monismith.
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.
Performance Evaluation of Parallel Processing. Why Performance?
系統晶片設計 - 論文報告 指導老師:陳朝烈老師 學生: 陳宗廷 向崇羽 Monot, A.; Navet, N.; Bavoux, B.; Simonot-Lion, F.,” Multisource Software on Multicore Automotive.
Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat.
1 Reducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis Yang Chang, Robert Davis and Andy Wellings Real-time Systems Research Group University.
SOFTWARE / HARDWARE PARTITIONING TECHNIQUES SHaPES: A New Approach.
Scheduling policies for real- time embedded systems.
Multiprocessor Real-time Scheduling Jing Ma 马靖. Classification Partitioned Scheduling In the partitioned approach, the tasks are statically partitioned.
1 Distributed Energy-Efficient Scheduling for Data-Intensive Applications with Deadline Constraints on Data Grids Cong Liu and Xiao Qin Auburn University.
National Taiwan University Department of Computer Science and Information Engineering 1 Optimal Real-Time Scheduling for Uniform Multiprocessors 薛智文 助理教授.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
BFair: An Optimal Scheduler for Periodic Real-Time Tasks
The Global Limited Preemptive Earliest Deadline First Feasibility of Sporadic Real-time Tasks Abhilash Thekkilakattil, Sanjoy Baruah, Radu Dobrin and Sasikumar.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
6. Application mapping 6.1 Problem definition
Real-Time Support for Mobile Robotics K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen)
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems RMS and EDF Schedulers.
CSE 522 Real-Time Scheduling (2)
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.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Nov 3, 2005.
Dynamic Priority Driven Scheduling of Periodic Task
Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2012 年 12 月 19 日 These slides use Microsoft clip.
Introduction to Real-Time Systems
03/02/20061 Evaluating Top-k Queries Over Web-Accessible Databases Amelie Marian Nicolas Bruno Luis Gravano Presented By: Archana and Muhammed.
Mok & friends. Resource partition for real- time systems (RTAS 2001)
Undergraduate course on Real-time Systems Linköping University TDDD07 Real-time Systems Lecture 2: Scheduling II Simin Nadjm-Tehrani 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.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Lecture 6: Real-Time Scheduling
Improved Conditions for Bounded Tardiness under EPDF Fair Multiprocessor Scheduling UmaMaheswari Devi and Jim Anderson University of North Carolina at.
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Tardiness Bounds for Global EDF Scheduling on a Uniform Multiprocessor Kecheng Yang James H. Anderson Dept. of Computer Science UNC-Chapel Hill.
Multiprocessor Real-Time Scheduling
Ching-Chi Lin Institute of Information Science, Academia Sinica
Houssam-Eddine Zahaf, Giuseppe Lipari, Luca Abeni RTNS’17
Sanjoy Baruah The University of North Carolina at Chapel Hill
CSCI1600: Embedded and Real Time Software
Jian-Jia Chen and Tei-Wei Kuo
CSCI1600: Embedded and Real Time Software
The End Of The Line For Static Cyclic Scheduling?
Chapter 6: CPU Scheduling
Ch 4. Periodic Task Scheduling
Presentation transcript:

Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of Computer Science UNC-Chapel Hill

Motivation Soft real-time (SRT) semi-partitioned scheduling algorithms with restricted migrations have been previously proposed for homogeneous multiprocessors. Heterogeneous multiprocessors are emerging. E.g., the big.LITTLE technology from ARM. image source:

Contributions EDF-sh ( semi-partitioned scheduling for heterogeneous multiprocessors) is the first SRT scheduling algorithm with restricted migrations for heterogeneous multiprocessors. Develop a schedulability condition. Improve the task assignment strategy. Derive tardiness bounds. Evaluate the schedulability and tardiness bounds.

Multiprocessor Platforms Categories Identical: All processors of speed 1.0. Uniform Heterogeneous: Processor p has speed s p. Unrelated Heterogeneous: Task  i executes with speed s p,i on processor p. We assume there are m processors indexed by speed, i.e., s 1 ≥ s 2 ≥ … ≥ s m. This paper

Real-Time Tasks Task model: sporadic tasks with implicit deadlines. Task  i is specified by (C i, T i ), where C i is defined by its worst-cast execution time (WCET) on a unit-speed processor (i.e., if it entirely executes on processors p, its WCET would be C i /s p ), and T i is it period. Its utilization is defined as u i = C i /T i, which can be greater than 1 if there is a processor with a speed greater than 1. Also, we assume there are n tasks indexed by utilization, i.e., u 1 ≥ u 2 ≥ … ≥ u n. CiCiCiCi CiCiCiCi 0 CiCi time if S p =2 if S p =1

Conditions FeasibilitySchedulability for k = 1, 2, …, m Processor p is “fast enough” for task  i if s p ≥u i. a necessary condition for only executing tasks on fast enough processors without overutilizing them. s 1 = 3, s 2 = 1; u 1 = 2, u 2 = 2.

Semi-Partitioned Scheduling In semi-partitioned scheduling, most tasks are partitioned, or fixed, onto processors, but those tasks that cannot be feasibly partitioned are allowed to migrate. Our algorithm EDF-sh is such a semi-partitioned scheduling algorithm.

EDF-sh EDF-sh has two phases, an assignment phase and an execution phase. Assignment phase: Consider tasks from heaviest to lightest. If the considered task can be fixed then fix it (fixed task). Otherwise allocate shares on processors from fastest to slowest to match its utilization (migrating task).

τ 4 =(4,3) 100% Example τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Both tasks and processors are indexed decreasingly w.r.t utilization or speed. Fix a task when possible Migrating task are assigned to processors from fastest to slowest τ 4 =(4,3) τ 7 =(1,3) τ i =(C i,T i ): τ 1 =(3,1), τ 2 =(11,6), τ 3 =(5,3), τ 4 =(4,3), τ 5 =(1,2), τ 6 =(2,6), τ 7 =(1,3).

τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example Key properties for the assignment: 1.On any single processor, there are at most two migrating tasks. 2.A task will not assign a share to a not-fast-enough processor. Processor p is “fast enough” for task  i if s p ≥u i.

Restricted Migrations Fixed tasks do not migrate. Migrating tasks do migrate, but the migrations can only happen on job boundaries. We assign jobs to processors. I.e., a migrating task can migrate among processors; however, a single job can only execute on the processor it was assigned to. Given the shares of a migrating task on each processor, we have a mechanism to systematically assign the jobs of this task to those processors, maintaining the long-term workload on each processor to match its corresponding share. If a migrating task has been assigned one half to processor 1 and one half to processor 2, then we just need to assign all the odd-indexed jobs to processor 1 and all the even-indexed jobs to processor 2.

τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example the one-half-one-half case we discussed in the prior slide For τ 4, every 8 jobs, 6 → Processor 1, 1 → Processor 2, 1 → Processor 3.

EDF-sh Execution phase: Migrating tasks are statically prioritized over fixed tasks. Fixed tasks are prioritized against each other on by EDF. On a migrating task's last processor (the highest-indexed processor that has non-zero share of this migrating task), its priority is lower than the other migrating task, but still higher than fixed ones.

τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example High Priority The last processor of τ 4. Priority: τ 7 >τ 4 >fixed ones. Low Priority

Tardiness Bounds The tardiness bounds are computed inductively. The order is as follows. Migrating task(s) that do not share their last processor with other migrating tasks. (base case) Migrating task(s), if on their last processor, the bound for the other migrating task has already been computed. (inductively) Fixed task(s).

τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example First, compute a bound for τ 7, since it does not share its last processor. Finally, we compute the bounds for fixed tasks by the already computed bounds for τ 4 and τ 7. τ 4 shares its last processor with τ 7, so we need τ 7 ’s bound to compute τ 4 ’s.

Proof Key idea: introduce a hypothetical situation. Tardiness in the hypothetical situation upper bounds that in the real situation. Derive a upper bound on the tardiness for the hypothetical situation. Real Situation ≤ Hypothetical Situation ≤ Bounds

τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 7 =(1,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example τ 4 =(4,3) faster processor highest priority slower processor may not be the highest priority faster processor highest priority slower processor may not be the highest priority

Schedulability

Tardiness Bounds Multiples of periods

Future Works Eliminate the utilization constraints to develop an optimal scheduling algorithm for uniform heterogeneous multiprocessors. Implement the schedulers on real heterogeneous hardware. Consider CPU frequency scaling, where an identical multiprocessor may function as a heterogeneous multiprocessor.

Thank you! Questions?

Schedulability Four different platform settings. π 1 ={6,6,6,6,3,3,3,3} π 2 ={8,8,4,4,4,4,3,3} π 3 ={8,7,6,5,4,3,2,1} π 4 ={15,3,3,3,3,3,3,3} the percentage of randomly generated feasible task sets that satisfied our proposed schedulability conditions

Tardiness Bounds The ratio of the tardiness bounds and corresponding tasks’ periods Two different platform settings. π 1 ={6,6,6,6,3,3,3,3} π 2 ={8,8,4,4,4,4,3,3}