Analytical Enhancements and Practical Insights for MPCP with Self-Suspensions. Pratyush Patel, Iljoo Baek, Hyoseung Kim*, Raj Rajkumar

Size: px
Start display at page:

Download "Analytical Enhancements and Practical Insights for MPCP with Self-Suspensions. Pratyush Patel, Iljoo Baek, Hyoseung Kim*, Raj Rajkumar"

Transcription

1 Analytical Enhancements and Practical Insights for MPCP with Self-Suspensions Pratyush Patel, Iljoo Baek, Hyoseung Kim*, Raj Rajkumar *

2 High Computational Demand of Safety-Critical Systems Sense Compute Actuate Repeat Sensors Perception Deadline 33 ms Path Planning Deadline 66 ms Brake Control Deadline 100 ms Actuators Computing System Long execution time Difficult to meet deadlines Need Computational Accelerators * 2/26 * GP-GPUs (General-Purpose GPUs) Digital Signal Processor (DSP)

3 Problems with Hardware Accelerators They do not support preemption o Due to high context switching overhead* They handle multiple resource requests in any order o Concurrent execution on GPU may result in unpredictable delays 3 identical CUDA kernels on NVIDIA GTX % slowdown on two kernels Unpredictable which kernel gets delayed They do not respect task priorities or scheduling policies o May result in unbounded priority inversion * I. Tanasicet al. Enabling preemptive multiprogramming on GPUs. In International Symposium on Computer Architecture (ISCA), Some recent GPU architectures support preemption - NVIDIA Volta Architecture 3/26

4 Existing Solution: Synchronization- Based Approaches * Lock Critical Section Unlock CPU GPU Benefits of synchronization-based approaches Do not require any change in accelerator device drivers Existing schedulability analyses can be directly re-used * G. Elliott and J. Anderson. Globally scheduled real-time multiprocessor systems with GPUs. Real-Time Syst., 48(1):34 74, G. Elliott and J. Anderson. An optimal k-exclusion real-time locking protocol motivated by multi-gpu systems. Real-Time Syst., 49(2): , G. Elliott et al. GPUSync: A framework for real-time GPU management. In IEEE Real-Time Systems Symposium (RTSS), /26

5 Limitations Busy waiting o Critical sections are executed entirely on the CPU Common assumption of most RT synch. protocols, e.g., MPCP*, FMLP, OMLP Lock Critical Section Unlock CPU Busy wait GPU Analytical pessimism o Traditional recursion-based analysis # o Can lead to expensive over-provisioning * R. Rajkumar, L. Sha, and J. P. Lehoczky. Real-time synchronization protocols for multiprocessors. In IEEE Real-Time Systems Symposium (RTSS), A. Block et al. A flexible real-time locking protocol for multiprocessors. In IEEE Embedded and Real-Time Comp. Systems and Apps., (RTCSA), B. Brandenburg and J. Anderson. The OMLP family of optimal multiprocessor real-time locking protocols. Design Automation for Embedded Systems, 2013 # K. Lakshmanan, D. de Niz, and R. Rajkumar. Coordinated task scheduling, allocation and synchronization on multiprocessors. In IEEE Real-Time Systems Symposium (RTSS), /26

6 Our Contributions Analytical enhancements for the Multiprocessor Priority Ceiling Protocol (MPCP) Tighter bounds for task response times Allow suspensions when executing critical sections Extensive schedulability experiments for a variety of task set parameters Prototype implementation and evaluation on Nvidia TX2 running Linux Extensions can be used with multiple types of computational accelerators, such as a digital signal processor (DSP) and General-Purpose GPU (GP-GPU) 6/26

7 Outline Motivation & Introduction Suspension-based MPCP System model Comparison with busy-waiting approach Task response time analysis Evaluation Conclusions 7/26

8 Example of GPU Execution Non-critical section Non-critical section Non-critical section Critical section Critical section CPU GPU GPU execution GPU execution Task arrival GPU request CPU execution GPU execution Misc. operation 8/26

9 System Model Sporadic tasks with constrained deadlines o Task τ ii = CC ii, GG ii, TT ii, η ii CC ii : Sum of the WCET* of all non-critical sections GG ii : Sum of the WCET* of all critical sections TT ii : Period (Deadline = Period) η ii : Maximum number of critical sections ζ ii,jj : Maximum number of suspensions in the j th critical section o Critical segment GG ii,jj = (GG ee ii,jj, GG ii,jj mm ) Critical section Critical section Each hardware accelerator is modeled as a distinct shared resource Use partitioned fixed-priority preemptive scheduling * Worst-Case Execution Time (WCET) 9/26

10 Example under Busy-Waiting MPCP Response time of ττ h : 9 τ h Busy-wait CPU Core 1 τ mm Global priority ceiling Busy-wait Global priority ceiling CPU Core 2 τ ll Busy-wait Global priority ceiling GPU Time Task arrival CPU execution GPU execution Blocked segment Preempted segment GPU request Busy wait Misc. operation 10/26

11 Example under Suspension-based MPCP Response time of ττ h : 6 + overhead CPU Core 1 τ h τ mm Suspend Priority boosting Suspend Priority boosting CPU Core 2 τ ll Suspend Priority boosting GPU Time Task arrival GPU request CPU execution GPU execution Blocked segment Preempted segment Self-Suspension Misc. operation Self-suspension overhead 11/26

12 Task Response Time Analysis Worst-Case Response Time (WW ii )* i = task number Self-suspension by higher-priority tasks WW ii nn+1 = CC ii + GG ii + BB ii + Blocking delay Our contribution τ h hpppp(τii ) WW ii nn + WW h CC h TT h Preemption delay by Higher-priority tasks CC h * N. Audsley, A. Burns, M. Richardson, K. Tindell, and A. Wellings. Applying new scheduling theory to static priority pre-emptive scheduling. Software Engineering Journal, 8(5): , J.-J. Chen et al. Many suspensions, many problems: A review of self-suspending tasks in real-time systems. Technical Report 854, Department of Computer Science, TU Dortmund, /26

13 Total Blocking Time Analysis For each analyzed task, Request-driven (RD) Approach* o Consider the sum of the worst-case blocking times for each lockacquisition request issued by the analyzed task Job-driven (JD) Approach o Consider the maximum number of lock-acquisition requests issued by other tasks during the execution of the analyzed task Hybrid Approach o Upper-bound the maximum lock-acquisition requests possible in RD analysis by using JD analysis obtain the best of both approaches o Different from RTAS'14 which simply takes the minimum of RD and JD for the blocking delay * K. Lakshmanan, D. de Niz, and R. Rajkumar. Coordinated task scheduling, allocation and synchronization on multiprocessors. In IEEE Real-Time Systems Symposium (RTSS), H. Kim, D. de Niz, B. Andersson, M. Klein, O. Mutlu, and R. Rajkumar. Bounding memory interference delay in COTS-based multi-core systems. In IEEE Real-Time Technology and Applications Symposium (RTAS), /26

14 Request-driven* Blocking Time Analysis Task C i G i ηη ii G i,1 G i,2 TT ii CPU ττ ττ ττ ττ 11 s period ττ 33 s period GPU execution Blocked segment Job arrival ττ 11 ττ 22 ττ 33 For each request made by ττ 33, its blocking time is given by BB 3 = BB 3,1 + BB 3,2 Time = = 204 * K. Lakshmanan, D. de Niz, and R. Rajkumar. Coordinated task scheduling, allocation and synchronization on multiprocessors. In IEEE Real-Time Systems Symposium (RTSS), /26

15 Job-driven Blocking Time Analysis Task C i G i ηη ii G i,1 G i,2 TT ii CPU ττ ττ ττ ττ 11 s period ττ 33 s period GPU execution Blocked segment Job arrival ττ 11 ττ 22 ττ 33 Time Request-Driven BB The max requests (= jobs) made by other tasks 3 = 204 # of req. by ττ 11 = 12 # of req. by ττ 22 = 1 BB 3 = 12x1 + 1x100 = /26

16 Hybrid Blocking Time Analysis Task C i G i ηη ii G i,1 G i,2 TT ii CPU ττ ττ ττ ττ 11 s period ττ 33 s period GPU execution Blocked segment Job arrival ττ 11 ττ 22 ττ 33 Time Both each req. made by ττ 33 and max req. made by other tasks BB 3 = BB 3,1 + BB 3,2 = (4x1) + (1x100) = /26 Job-Driven BB 3 = 112 Request-Driven BB 3 = 204

17 Outline Motivation & Introduction Suspension-based MPCP Evaluation Case Study Schedulability Experiment Conclusions 17/26

18 Case Study Motivated by the software system of CMU s self-driving car* o Lane-Change Detector Read Image GPU Execution Color Conversion GPU Execution Feature Extraction Classification o Workzone Detector Read Image Preprocessing GPU Execution Blob Detection Classification o Matrix Calculation Arithmetic Calculation GPU Execution Matrix Calculation Arithmetic Calculation * J. Wei et al. Towards a viable autonomous driving research platform. In IEEE Intelligent Vehicles Symposium (IV), J. Lee et al. Kernel-based traffic sign tracking to improve highway workzone recognition for reliable autonomous driving. In IEEE International Conference on Intelligent Transportation Systems (ITSC), /26

19 Experimental Setup NVIDIA TX2 6 CPU Cores 1 GPU (256 Cores, Pascal Arch.) CPU core 1 CPU core 2 Lane Change Detector Workzone Detector Two Matrix Calculations One Matrix Calculation Task priorities are assigned based on the rate-monotonic policy 19/26

20 DEMO Deadline : 33 ms Deadline : 33 ms 20/26

21 Suspension-based vs. Busy-waiting Worst-Case Response Time (ms) MPCP Suspension-based MPCP Busy-waiting MPCP 0 LaneChange Workzone Matrix Cal. 1 Matrix Cal. 2 Matrix Cal. 3 Performs better in practice, especially for lower-priority tasks Allows other tasks to use the CPU while a task is using the GPU 21/26

22 Effect of Suspension Overhead Test result w.r.t. the number of co-scheduled tasks w/ small GPU segments Worst-Case Response time (ms) μs Workzone (Busy-wait) Workzone (Self-suspension) Lane Change (Busy-wait) Lane Change (Self-suspension) Number of co-scheduled Matrix calculation tasks per core The overhead of self-suspension implementation negatively affects task response times when the tasks have small GPU segments 22/26

23 Schedulability Experiments Purpose: To explore the impact of the different approaches on task schedulability 10,000 randomly-generated tasksets Parameters Values Number of CPUs (m) 4 Number of shared resources (g) [1, 3] Number of tasks per CPU [3, 6] Percentage of tasks with critical sections [10, 40] % Task period and deadline (TT ii = DD ii ) MPCP Our Analysis FMLP+ LP-based Analysis* [30, 500] ms Utilization per CPU [40, 60] % Ratio of crit. Sec. len. To non-crit. Sec. len. (GG ii / CC ii ) [10, 30] % Number of critical sections per task (η ii ) [1, 3] Number of suspensions in a critical section (ζ ii,jj ) [1, 2] 23/26 * The Schedulability Test Collection and Toolkit (SchedCAT).

24 Schedulability w.r.t. the Percentage of GPU-using Tasks Period range [30, 500] ms Hybrid MPCP outperforms both the original MPCP and LP-based FMLP+ 24/26

25 Schedulability w.r.t. the Percentage of GPU-using Tasks Period range [300, 500] ms Neither hybrid MPCP nor LP-based FMLP+ dominates the other Hybrid MPCP analysis is over 100x faster than LP-based FMLP+ 25/26

26 Conclusions Suspension-based MPCP Motivated by the limitations of the busy-waiting synchronization-based approach Implementation on a real-world embedded platform Significant improvement over the busy-waiting approach Very competitive with and often outperforms LP-based FMLP+ 100x better runtime performance compared to LP-based analysis Future directions A detailed study of the suspension overhead trade-offs on modern platforms with accelerators Comparison with other synchronization protocols 26/26

27 Thank You Analytical Enhancements and Practical Insights for MPCP with Self-Suspensions Pratyush Patel *, Iljoo Baek *, Hyoseung Kim, Raj Rajkumar * ibaek@andrew.cmu.edu * Carnegie Mellon University University of California, Riverside

28 BACKUP SLIDES

29 Self-Suspension Implementation Lock Increase Priority Request GPU Wait GPU response CPU GPU Copy Data GPU Execution Global Lock POSIX pthread_mutex() Shared memory Priority Ceiling sched_setscheduler() Wake up Request GPU Wait GPU response Wake up Unlock Decrease Priority Callback 1 Copy Data Callback 2 CPU Suspension POSIX pthread_cond() GPU Execution Asynchronous functions ex) cudamemcpyasync() Stream and Callback 29/26

30 Experimental Setup NVIDIA TX2-4 ARM Cortex-A9 at 2GHz - 2 Denver at 2GHz - 1 GPU (256 Cores, Pascal Arch.) - Ubuntu CPU 6. 1 GPU 1 LC WZ AM1~5 CC ii GG ii TT ii = DD ii CPU Test LC WZ AM AM AM AM AM /26 * All times are in milliseconds (ms) 1 General Use Case 2 GPU Overload 3 Overhead Test

31 Suspension Overhead CPU-side overhead Suspension Context Switching CPU GPU Lock Busy-wait GPU req. Unlock GPU-side overhead Asynchronous Calls Callback functions CPU Lock (1) Suspend (3) (2) Unlock GPU req. GPU 200 μs GPU access time < the suspension overhead the busy-wait approach is better 31/26

32 Self-Suspension Implementation Increase Priority CPU GPU Global Lock Shared memory pthread_mutex() Lock Request GPU Copy Data Suspension a POSIX conditional variable Priority Ceiling Wait GPU response Wake up Request GPU Wait GPU response GPU Execution Callback 1 Copy Data CUDA-related Asynchronous CUDA functions ex) cudamemcpyasync() Stream and Callback Priority Ceiling sched_setscheduler() Wake up Unlock Decrease Priority Callback 2 32/26 new_pri = highest_pri + (cur_pri lowest_pri) + 1 Ex) Task 1: 80 (cpu) Task 2: 54 (gpu) -> 85 = 80 + (54-50) + 1 Task 3: 53 (gpu) -> 84 = 80 + (53-50) + 1 Task 4: 52 (gpu) -> 83 = 80 + (52-50) + 1 Task 6: 50 (gpu) -> 81 = 80 + (50-50) + 1

33 Task Response Time with Suspension Worst-Case Response Time (WW ii ) Time span between a request and the end of the request WW ii nn+1 = CC ii + GG ii + BB ii + Blocking Delay τ h hpppp(τ ii ) WW ii nn + WW h CC h TT h CC h CPU Core 1 CPU Core 2 τ h τ mm GPU req. τ Suspend ll GPU req. Suspend Preemption Delay by Higher priority task WW ii Deadline (DD ii ) = Schedulable GPU Task arrival CPU execution GPU execution Blocked segment Preempted segment 33/30

34 Schedulability Experiments Purpose: To explore the impact of the different approaches on task schedulability Schedulability: How many taskets are schedulable? CC ii, GG ii, DD ii, TT ii, η ii Taskset 1 = {τ 1, τ 2.τ xx }.. Taskset n = {τ 1, τ 2. τ xx } Schedulability (%) 34/30 100% 0% Parameter Variation % of GPU-using Tasks % of CPU Utilization

35 Blocking Definition A task τ i is said to be blocked If a local task τ i with a lower base priority is scheduled while of τ i is pending. If any task τ k has locked the resource that τ i is waiting for. Blocking (1) Blocking (2) Blocking (1) Blocking (2) Core 1 τ 1 Core 2 τ 2 Core 1 τ 3 Higher-Priority Task preemption

36 Blocking Definition Direct Blocking (DB) Core 1 τ ii DB is incurred when any task τ k has locked the resource that τ i is waiting for. Core 2 τ kk Prioritized Blocking (PB) is incurred when lower-priority tasks executing with priority ceilings preempt the CPU execution of τ i Core 1 Core 1 τ ii τ ll Indirect Blocking (IB) is incurred when a task τ x accessing a resource with a higher priority ceiling preempts the execution of τ j, which is holding the resource that τ i is waiting for. Core 1 Core 2 τ ii τ jj DB IB DB R1 Core 2 τ xx R2 36/26

37 Task Response Time with Suspension Worst-case response time under partition fixed-priority scheduling WW ii = CC ii + GG ii + BB ii + τ h hpppp(τii ) II ii τ ii II ii τ ii = αα ii,h EE h Worst-case CPU execution time of τ ii Worst-case execution time of τ ii Upper bound on the maximum synchronization-based blocking Worst-case preemption time due to higher priority tasks on the same CPU αα ii,h = WW ii + WW h EE h TT h Back-to-back execution effect Maximum instances of τ h released during the execution of τ ii 37/26

38 Blocking Analysis Direct Blocking (DB) is incurred when any task τ k has locked the resource that τ i is waiting for. Core 1 τ ii DB Core 2 τ kk DB Request-Driven (RD) Approach BB ii dddd = dddd 0<jj η ii BB ii,jj Critical sections per job of τ ii Worst-case response time of k th critical section of τ ll ββ ii,jj,h HH h,kk 0<kk η h τ h hpp(τ ii ) BB dddd ii,jj = max ( HH ll,kk ) + τ ll llll(τ ii ) RR τ ii,jj =RR τ ll,kk τ h hpp(τ ii ) RR τ ii,jj =RR τ h,kk ββ ii,jj,h HH h,kk ββ ii,jj,h = BB ii,jj dddd + WW h EE h TT h Maximum blocking from lower priority tasks Maximum blocking from higher priority tasks Maximum instances of τ h released dddd during the blocking duration BB ii,jj 38/26

39 Blocking Analysis Direct Blocking (DB) is incurred when any task τ k has locked the resource that τ i is waiting for. Core 1 τ ii DB Core 2 τ kk DB Job-Driven (JD) Approach iff. RR τ ll,kk = RR τ ii Maximum number of times τ ii accesses resource RR rr 0<jj η ii τ ll llll(τ ii ) max(hh ll,kk ) 0<kk η h αα ii,h HH h,kk 0<kk η h τ h hpp(τ ii ) iff. RR τ h,kk = RR τ ii BB ii ddjj = η ii,rr max (HH ll,kk ) + τ ll llll τ ii rr RR τ ii RR τ ll,kk =rr τ h hpp(τ ii ) RR τ h,kk RR τ ii αα ii,h HH h,kk αα ii,h = WW ii + WW h EE h TT h Maximum direct blocking caused by lower-priority tasks = analogous to the RD approach Direct blocking caused by each higher-priority task critical section that uses the requested resource Maximum instances of τ h released during the execution of τ ii 39/26

40 Blocking Analysis Direct Blocking (DB) is incurred when any task τ k has locked the resource that τ i is waiting for. Core 1 τ ii DB Core 2 τ kk DB Hybrid Approach BB ii ddmm = BBii ddddll + BB ii ddddh 1) Maximum direct higher-priority blocking αα ii,h = WW ii + WW h EE h ββ TT ii,jj,h = BB ii,jj dddd + WW h EE h h TT h BB ddddd ii = τ h hpp(τ ii ) RR τ h,kk =RR τ ii δδ ii,h HH h,kk δδ ii,h = min αα ii,h, 0<jj η ii RR τ h,kk RR τ ii ββ ii,jj,h Worst-case response time of k th critical section of τ h Maximum cumulative number of interfering requests by τ h to the resources accessed by critical sections of τ ii Maximum instances of τ h released during the execution of τ ii Maximum instances of τ h released during the dddd blocking duration BB ii,jj 40/26

41 Blocking Analysis Direct Blocking (DB) is incurred when any task τ k has locked the resource that τ i is waiting for. Core 1 τ ii DB Core 2 τ kk DB Hybrid Approach ddmm BB ii = ddddll ddddh BBii + BB ii 2) Maximum direct lower-priority blocking The k th longest critical section that access resource RR jj and belong to llll τ ii Maximum number of times τ ii accesses resource RR jj BB ii ddddll = 0<jj gg 0<kk QQ ii,jj ψ ii,jj,kk LL ii,jj,kk ψ ii,jj,kk = min η ii,jj 0<tt<kk ψ ii,jj,tt, θθ ii,xxii,jj,kk θθ ii,ll = WW ii + DD ll EE ll TT ll Maximum number of times that the k th longest critical section can block τ ii QQ ii,jj = HH ll,xx τ ll llll τ ii RR τ ll,kk = rr A set contains the worst-case execution times of all the critical sections that access resource RR jj and belong to llll τ ii 41/26 Maximum number of release of a lower-priority τ ll during the execution of τ ii

42 Blocking Analysis: Example Task C i G i n i G i,1 G i,2 G i,3 T τ τ τ τ 1 τ 2 τ QQ 2,1 = HH ll,xx τ ll llll τ 2 RR τ ll,kk = 1 = 20, 10, 5 LL 2,1,1 = 20 LL 2,1,2 = 10 LL 2,1,3 = 5 θθ 2,3 = 1 ψ 2,1,1 = min ψ 2,1,2 = min η 2,1 ψ 2,1,tt, θθ 2,3 = min 3, 1 = 3 0<tt<1 η 2,1 ψ 2,1,tt, θθ 2,3 = min 0, 1 = 0 0<tt<2 42/26

43 Nvidia TX2

44 Nvidia TX2 NVIDIA Jetson TX1 NVIDIA Jetson TX2 CPU ARM Cortex-A GHz ARM Cortex-A57 2GHz + NVIDIA Denver2 2GHz GPU 256-core 998MHz 256-core 1300MHz Memory 4GB 64-bit 1600MHz 25.6 GB/s Storage 16GB emmc GB emmc 5.1 8GB 128-bit 1866Mhz 59.7 GB/s Encoder* 4Kp30, (2x) 1080p60 4Kp60, (3x) 4Kp30, (8x) 1080p30 Decoder* 4Kp60, (4x) 1080p60 (2x) 4Kp60 Camera 12 lanes MIPI CSI Gb/s per lane 1400 megapixels/sec ISP Display Wireless a/b/g/n/ac Mbps Bluetooth 4.0 Ethernet 12 lanes MIPI CSI Gb/sec per lane 1400 megapixels/sec ISP 2x HDMI 2.0 / DP 1.2 / edp 1.2 2x MIPI DSI 10/100/1000 BASE-T Ethernet USB USB USB a/b/g/n/ac Mbps Bluetooth 4.1 PCIe Gen x1 Gen or CAN Not supported Dual CAN bus controller Misc I/O Socket UART, SPI, I2C, I2S, GPIOs 400-pin Samtec board-to-board connector, 50x87mm Thermals -25 C to 80 C Power 10W 7.5W Price $299 at 1K units $399 at 1K units 44/26

45 Nvidia TX2 SM is limited to 2,048 per SM. Shared memory usage is limited to 64KB per SM and 48KB per block. the total number of threads each block can use is limited to 1,024. Each thread can use up to 255 registers A block can use up to 32,768 registers (regardless of its thread count). Additionally, there is a limit of 65,536 registers in total on each SM. 45/26

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators Sandeep D souza and Ragunathan (Raj) Rajkumar Carnegie Mellon University High (Energy) Cost of Accelerators Modern-day

More information

Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks

Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks Junsung Kim, Björn Andersson, Dionisio de Niz, and Raj Rajkumar Carnegie Mellon University 2/31 Motion Planning on Self-driving Parallel

More information

Real-Time Scheduling and Resource Management

Real-Time Scheduling and Resource Management ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems Luca Abeni luca.abeni@unitn.it Interacting Tasks Until now, only independent tasks... A job never blocks or suspends A task only blocks on job termination In real world, jobs

More information

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Moonju Park Ubiquitous Computing Lab., IBM Korea, Seoul, Korea mjupark@kr.ibm.com Abstract. This paper addresses the problem of

More information

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany Dependency Graph Approach for Multiprocessor Real-Time Synchronization Jian-Jia Chen, Georg von der Bru ggen, Junjie Shi, and Niklas Ueter TU Dortmund, Germany 14,12,2018 at RTSS Jian-Jia Chen 1 / 21 Multiprocessor

More information

EDF Feasibility and Hardware Accelerators

EDF Feasibility and Hardware Accelerators EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo, Waterloo, Canada, arrmorton@uwaterloo.ca Wayne M. Loucks University of Waterloo, Waterloo, Canada, wmloucks@pads.uwaterloo.ca

More information

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II TDDB68 Concurrent programming and operating systems Lecture: CPU Scheduling II Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Copyright Notice:

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems hared Resources Luca Abeni Credits: Luigi Palopoli, Giuseppe Lipari, and Marco Di Natale cuola uperiore ant Anna Pisa -Italy Real Time Operating ystems p. 1 Interacting Tasks

More information

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy istemi in tempo reale hared resources Giuseppe Lipari cuola uperiore ant Anna Pisa -Italy inher.tex istemi in tempo reale Giuseppe Lipari 7/6/2005 12:35 p. 1/21 Interacting tasks Until now, we have considered

More information

arxiv: v1 [cs.os] 6 Jun 2013

arxiv: v1 [cs.os] 6 Jun 2013 Partitioned scheduling of multimode multiprocessor real-time systems with temporal isolation Joël Goossens Pascal Richard arxiv:1306.1316v1 [cs.os] 6 Jun 2013 Abstract We consider the partitioned scheduling

More information

Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan

Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan Note 6-1 Mars Pathfinder Timing Hiccups? When: landed on the

More information

Global Real-Time Semaphore Protocols: A Survey, Unified Analysis, and Comparison

Global Real-Time Semaphore Protocols: A Survey, Unified Analysis, and Comparison Global Real-Time Semaphore Protocols: A Survey, Unified Analysis, and Comparison Maolin Yang Alexander Wieder Björn B. Brandenburg Max Planck Institute for Software Systems (MPI-SWS) University of Electronic

More information

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund Non-Preemptive and Limited Preemptive Scheduling LS 12, TU Dortmund 09 May 2017 (LS 12, TU Dortmund) 1 / 31 Outline Non-Preemptive Scheduling A General View Exact Schedulability Test Pessimistic Schedulability

More information

Andrew Morton University of Waterloo Canada

Andrew Morton University of Waterloo Canada EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo Canada Outline 1) Introduction and motivation 2) Review of EDF and feasibility analysis 3) Hardware accelerators and scheduling

More information

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES Department for Embedded Systems/Real-Time Systems, University of Ulm {name.surname}@informatik.uni-ulm.de Abstract:

More information

Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling (extended version)

Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling (extended version) Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling (extended version) Björn B. Brandenburg MPI-SWS Technical Report MPI-SWS-203-00 January 203 Abstract Several suspension-based

More information

Improved Priority Assignment for the Abort-and-Restart (AR) Model

Improved Priority Assignment for the Abort-and-Restart (AR) Model Improved Priority Assignment for the Abort-and-Restart (AR) Model H.C. Wong and A. Burns Department of Computer Science, University of York, UK. February 1, 2013 Abstract This paper addresses the scheduling

More information

The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis

The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis Björn B. Brandenburg Max Planck Institute for Software Systems (MPI-SWS) Abstract Multiprocessor real-time

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2017 年 11 月 29 日 These slides use Microsoft clip arts. Microsoft copyright

More information

CIS 4930/6930: Principles of Cyber-Physical Systems

CIS 4930/6930: Principles of Cyber-Physical Systems CIS 4930/6930: Principles of Cyber-Physical Systems Chapter 11 Scheduling Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) CIS 4930/6930: Principles

More information

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

Scheduling Slack Time in Fixed Priority Pre-emptive Systems Scheduling Slack Time in Fixed Priority Pre-emptive Systems R.I.Davis Real-Time Systems Research Group, Department of Computer Science, University of York, England. ABSTRACT This report addresses the problem

More information

Response Time Analysis for Tasks Scheduled under EDF within Fixed Priorities

Response Time Analysis for Tasks Scheduled under EDF within Fixed Priorities Response Time Analysis for Tasks Scheduled under EDF within Fixed Priorities M. González Harbour and J.C. Palencia Departamento de Electrónica y Computadores Universidad de Cantabria 39-Santander, SPAIN

More information

Optimality Results for Multiprocessor Real-Time Locking

Optimality Results for Multiprocessor Real-Time Locking Optimality Results for Multiprocessor Real-Time Locking Björn B. Brandenburg and James H. Anderson Department of Computer Science, University of North Carolina at Chapel Hill Abstract When locking protocols

More information

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science -25 Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

More information

Supporting Read/Write Applications in Embedded Real-time Systems via Suspension-aware Analysis

Supporting Read/Write Applications in Embedded Real-time Systems via Suspension-aware Analysis Supporting Read/Write Applications in Embedded Real-time Systems via Suspension-aware Analysis Guangmo Tong and Cong Liu Department of Computer Science University of Texas at Dallas ABSTRACT In many embedded

More information

A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems

A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems Jian-Jia Chen 1, Wen-Hung Huang 1, and Geoffrey Nelissen 2 1 TU Dortmund University, Germany Email: jian-jia.chen@tu-dortmund.de,

More information

Many suspensions, many problems: a review of self-suspending tasks in real-time systems

Many suspensions, many problems: a review of self-suspending tasks in real-time systems Real-Time Systems (2019) 55:144 207 https://doi.org/10.1007/s11241-018-9316-9 Many suspensions, many problems: a review of self-suspending tasks in real-time systems Jian-Jia Chen 1 Geoffrey Nelissen 2

More information

Embedded Systems Design: Optimization Challenges. Paul Pop Embedded Systems Lab (ESLAB) Linköping University, Sweden

Embedded Systems Design: Optimization Challenges. Paul Pop Embedded Systems Lab (ESLAB) Linköping University, Sweden of /4 4 Embedded Systems Design: Optimization Challenges Paul Pop Embedded Systems Lab (ESLAB) Linköping University, Sweden Outline! Embedded systems " Example area: automotive electronics " Embedded systems

More information

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach Process Scheduling for RTS Dr. Hugh Melvin, Dept. of IT, NUI,G RTS Scheduling Approach RTS typically control multiple parameters concurrently Eg. Flight Control System Speed, altitude, inclination etc..

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 3 Real-Time Scheduling Dr. Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Model-based Software Development Generator Lustre programs Esterel programs

More information

Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks

Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks Stefan Metzlaff, Sebastian Weis, and Theo Ungerer Department of Computer Science,

More information

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems Zhishan Guo and Sanjoy Baruah Department of Computer Science University of North Carolina at Chapel

More information

Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources

Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources Jan Reineke @ saarland university ACACES Summer School 2017 Fiuggi, Italy computer science Fixed-Priority

More information

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Many processes to execute, but one CPU OS time-multiplexes the CPU by operating context switching Between

More information

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling Gang Yao, Giorgio Buttazzo and Marko Bertogna Scuola Superiore Sant Anna, Pisa, Italy {g.yao, g.buttazzo, m.bertogna}@sssup.it

More information

Integrating Cache Related Preemption Delay Analysis into EDF Scheduling

Integrating Cache Related Preemption Delay Analysis into EDF Scheduling Integrating Cache Related Preemption Delay Analysis into EDF Scheduling Will Lunniss 1 Sebastian Altmeyer 2 Claire Maiza 3 Robert I. Davis 1 1 Real-Time Systems Research Group, University of York, UK {wl510,

More information

Schedulability Analysis for the Abort-and-Restart (AR) Model

Schedulability Analysis for the Abort-and-Restart (AR) Model Schedulability Analysis for the Abort-and-Restart (AR) Model ABSTRACT H.C. Wong Real-Time Systems Research Group, Department of Computer Science, University of York, UK. hw638@york.ac.uk This paper addresses

More information

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation*

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation* Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation* Meng Xu Linh Thi Xuan Phan Hyon-Young Choi Insup Lee University of Pennsylvania Abstract We introduce

More information

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions Common approaches 3 3. Scheduling issues Priority-driven (event-driven) scheduling This class of algorithms is greedy They never leave available processing resources unutilized An available resource may

More information

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 12-2013 Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

More information

An Optimal k-exclusion Real-Time Locking Protocol Motivated by Multi-GPU Systems

An Optimal k-exclusion Real-Time Locking Protocol Motivated by Multi-GPU Systems An Optimal k-exclusion Real-Time Locking Protocol Motivated by Multi-GPU Systems Glenn A. Elliott and James H. Anderson Department of Computer Science, University of North Carolina at Chapel Hill Abstract

More information

Slack-Time Computation for Temporal Robustness in Embedded Systems

Slack-Time Computation for Temporal Robustness in Embedded Systems Slack-Time Computation for Temporal Robustness in Embedded Systems Serge Midonnet, Damien Masson, Rémi Lassalle To cite this version: Serge Midonnet, Damien Masson, Rémi Lassalle. Slack-Time Computation

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee & Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note 3: CPU Scheduling 1 CPU SCHEDULING q How can OS schedule the allocation of CPU cycles

More information

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni Real Time Operating Systems and Middleware Luca Abeni luca.abeni@unitn.it Definitions Algorithm logical procedure used to solve a problem Program formal description of an algorithm, using a programming

More information

CPU scheduling. CPU Scheduling

CPU scheduling. CPU Scheduling EECS 3221 Operating System Fundamentals No.4 CPU scheduling Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University CPU Scheduling CPU scheduling is the basis of multiprogramming

More information

Schedulability Analysis for the Abort-and-Restart Model

Schedulability Analysis for the Abort-and-Restart Model Schedulability Analysis for the Abort-and-Restart Model Hing Choi Wong Doctor of Philosophy University of York Computer Science December 2014 Abstract In real-time systems, a schedulable task-set guarantees

More information

Task Models and Scheduling

Task Models and Scheduling Task Models and Scheduling Jan Reineke Saarland University June 27 th, 2013 With thanks to Jian-Jia Chen at KIT! Jan Reineke Task Models and Scheduling June 27 th, 2013 1 / 36 Task Models and Scheduling

More information

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors Consistent * Complete * Well Documented * Easy to Reuse * Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors Artifact * AE * Evaluated * ECRTS * Alessandro Biondi

More information

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts. TDDI4 Concurrent Programming, Operating Systems, and Real-time Operating Systems CPU Scheduling Overview: CPU Scheduling CPU bursts and I/O bursts Scheduling Criteria Scheduling Algorithms Multiprocessor

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

Controlling Preemption for Better Schedulability in Multi-Core Systems

Controlling Preemption for Better Schedulability in Multi-Core Systems 2012 IEEE 33rd Real-Time Systems Symposium Controlling Preemption for Better Schedulability in Multi-Core Systems Jinkyu Lee and Kang G. Shin Dept. of Electrical Engineering and Computer Science, The University

More information

An Improved Schedulability Test for Uniprocessor. Periodic Task Systems

An Improved Schedulability Test for Uniprocessor. Periodic Task Systems An Improved Schedulability Test for Uniprocessor Periodic Task Systems UmaMaheswari C. Devi Department of Computer Science, University of North Carolina, Chapel Hill, NC 27599-375 December 2002 Abstract

More information

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Mitra Nasri Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany nasri@eit.uni-kl.de

More information

On the Design and Application of Thermal Isolation Servers

On the Design and Application of Thermal Isolation Servers On the Design and Application of Thermal Isolation Servers Rehan Ahmed, Pengcheng Huang, Max Millen, Lothar Thiele EMSOFT 2017 October 16, 2017 1/25 2/25 The Temperature Problem 1 1 Extremetech: https://tinyurl.com/y8gmopks

More information

Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities

Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities Revision 1 July 23, 215 Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities Arpan Gujarati Felipe Cerqueira Björn B. Brandenburg Max Planck Institute for Software

More information

Reservation-Based Federated Scheduling for Parallel Real-Time Tasks

Reservation-Based Federated Scheduling for Parallel Real-Time Tasks Reservation-Based Federated Scheduling for Parallel Real-Time Tasks Niklas Ueter 1, Georg von der Brüggen 1, Jian-Jia Chen 1, Jing Li 2, and Kunal Agrawal 3 1 TU Dortmund University, Germany 2 New Jersey

More information

PASS: Priority Assignment of Real-Time Tasks with Dynamic Suspending Behavior under Fixed-Priority Scheduling

PASS: Priority Assignment of Real-Time Tasks with Dynamic Suspending Behavior under Fixed-Priority Scheduling T E C H N I C A L R E P O RT S I N C O M P U T E R S C I E N C E Technische Universität Dortmund PASS: Priority Assignment of Real-Time Tasks with Dynamic Suspending Behavior under Fixed-Priority Scheduling

More information

2/5/07 CSE 30341: Operating Systems Principles

2/5/07 CSE 30341: Operating Systems Principles page 1 Shortest-Job-First (SJR) Scheduling Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time Two schemes: nonpreemptive once

More information

Bursty-Interference Analysis Techniques for. Analyzing Complex Real-Time Task Models

Bursty-Interference Analysis Techniques for. Analyzing Complex Real-Time Task Models Bursty-Interference Analysis Techniques for lemma 3 Analyzing Complex Real- Task Models Cong Liu Department of Computer Science The University of Texas at Dallas Abstract Due to the recent trend towards

More information

Module 5: CPU Scheduling

Module 5: CPU Scheduling Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 5.1 Basic Concepts Maximum CPU utilization obtained

More information

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Song Han 1 Deji Chen 2 Ming Xiong 3 Aloysius K. Mok 1 1 The University of Texas at Austin 2 Emerson Process Management

More information

Bounding the End-to-End Response Times of Tasks in a Distributed. Real-Time System Using the Direct Synchronization Protocol.

Bounding the End-to-End Response Times of Tasks in a Distributed. Real-Time System Using the Direct Synchronization Protocol. Bounding the End-to-End Response imes of asks in a Distributed Real-ime System Using the Direct Synchronization Protocol Jun Sun Jane Liu Abstract In a distributed real-time system, a task may consist

More information

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund Scheduling Periodic Real-Time Tasks on Uniprocessor Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 08, Dec., 2015 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 38 Periodic Control System Pseudo-code

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

More information

Schedulability Bound for Integrated Modular Avionics Partitions

Schedulability Bound for Integrated Modular Avionics Partitions Schedulability Bound for Integrated Modular Avionics Partitions Jung-Eun Kim, Tarek Abdelzaher and Lui Sha University of Illinois at Urbana-Champaign, Urbana, IL 682 Email:{jekim34, zaher, lrs}@illinois.edu

More information

Exact speedup factors and sub-optimality for non-preemptive scheduling

Exact speedup factors and sub-optimality for non-preemptive scheduling Real-Time Syst (2018) 54:208 246 https://doi.org/10.1007/s11241-017-9294-3 Exact speedup factors and sub-optimality for non-preemptive scheduling Robert I. Davis 1 Abhilash Thekkilakattil 2 Oliver Gettings

More information

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems Sangchul Han and Minkyu Park School of Computer Science and Engineering, Seoul National University, Seoul,

More information

CHAPTER 5 - PROCESS SCHEDULING

CHAPTER 5 - PROCESS SCHEDULING CHAPTER 5 - PROCESS SCHEDULING OBJECTIVES To introduce CPU scheduling, which is the basis for multiprogrammed operating systems To describe various CPU-scheduling algorithms To discuss evaluation criteria

More information

Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems

Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems Jian-Jia Chen *, Chuan Yue Yang, Tei-Wei Kuo, and Chi-Sheng Shih Embedded Systems and Wireless Networking Lab. Department of Computer

More information

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors Consistent * Complete * Well Documented * Easy to Reuse * Technical Report MPI-SWS-216-3 May 216 Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors (extended

More information

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat Mälardalen Real-Time Research Center, Mälardalen University,

More information

Deadlines misses and their Implication on Feedback Control Loops. Dip Goswami Eindhoven University of Technology (TU/e) The Netherlands

Deadlines misses and their Implication on Feedback Control Loops. Dip Goswami Eindhoven University of Technology (TU/e) The Netherlands Deadlines misses and their Implication on Feedback Control Loops Dip Goswami Eindhoven University of Technology (TU/e) The Netherlands Periodic tasks dd ii 2 Periodic tasks dd ii Hard deadlines 3 Periodic

More information

Simulation of Process Scheduling Algorithms

Simulation of Process Scheduling Algorithms Simulation of Process Scheduling Algorithms Project Report Instructor: Dr. Raimund Ege Submitted by: Sonal Sood Pramod Barthwal Index 1. Introduction 2. Proposal 3. Background 3.1 What is a Process 4.

More information

Lec. 7: Real-Time Scheduling

Lec. 7: Real-Time Scheduling Lec. 7: Real-Time Scheduling Part 1: Fixed Priority Assignment Vijay Raghunathan ECE568/CS590/ECE495/CS490 Spring 2011 Reading List: RM Scheduling 2 [Balarin98] F. Balarin, L. Lavagno, P. Murthy, and A.

More information

Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors

Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors Shinpei Kato and Nobuyuki Yamasaki Department of Information and Computer Science Keio University, Yokohama, Japan {shinpei,yamasaki}@ny.ics.keio.ac.jp

More information

Schedulability analysis of global Deadline-Monotonic scheduling

Schedulability analysis of global Deadline-Monotonic scheduling Schedulability analysis of global Deadline-Monotonic scheduling Sanjoy Baruah Abstract The multiprocessor Deadline-Monotonic (DM) scheduling of sporadic task systems is studied. A new sufficient schedulability

More information

Design of Real-Time Software

Design of Real-Time Software Design of Real-Time Software Analysis of hard real-time tasks under fixed-priority pre-emptive scheduling Reinder J. Bril Technische Universiteit Eindhoven Department of Mathematics and Computer Science

More information

Resource Sharing Protocols for Real-Time Task Graph Systems

Resource Sharing Protocols for Real-Time Task Graph Systems Resource Sharing Protocols for Real-Time Task Graph Systems Nan Guan, Pontus Ekberg, Martin Stigge, Wang Yi Uppsala University, Sweden Northeastern University, China Abstract Previous works on real-time

More information

Resource Sharing in an Enhanced Rate-Based Execution Model

Resource Sharing in an Enhanced Rate-Based Execution Model In: Proceedings of the 15th Euromicro Conference on Real-Time Systems, Porto, Portugal, July 2003, pp. 131-140. Resource Sharing in an Enhanced Rate-Based Execution Model Xin Liu Steve Goddard Department

More information

Uniprocessor Mixed-Criticality Scheduling with Graceful Degradation by Completion Rate

Uniprocessor Mixed-Criticality Scheduling with Graceful Degradation by Completion Rate Uniprocessor Mixed-Criticality Scheduling with Graceful Degradation by Completion Rate Zhishan Guo 1, Kecheng Yang 2, Sudharsan Vaidhun 1, Samsil Arefin 3, Sajal K. Das 3, Haoyi Xiong 4 1 Department of

More information

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Real-time operating systems course 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Definitions Scheduling Scheduling is the activity of selecting which process/thread should

More information

There are three priority driven approaches that we will look at

There are three priority driven approaches that we will look at Priority Driven Approaches There are three priority driven approaches that we will look at Earliest-Deadline-First (EDF) Least-Slack-Time-first (LST) Latest-Release-Time-first (LRT) 1 EDF Earliest deadline

More information

Tardiness Bounds under Global EDF Scheduling on a. Multiprocessor

Tardiness Bounds under Global EDF Scheduling on a. Multiprocessor Tardiness Bounds under Global EDF Scheduling on a Multiprocessor UmaMaheswari C. Devi and James H. Anderson Department of Computer Science The University of North Carolina at Chapel Hill Abstract We consider

More information

CS 550 Operating Systems Spring CPU scheduling I

CS 550 Operating Systems Spring CPU scheduling I 1 CS 550 Operating Systems Spring 2018 CPU scheduling I Process Lifecycle Ready Process is ready to execute, but not yet executing Its waiting in the scheduling queue for the CPU scheduler to pick it up.

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 3 Real-Time Services Part 2 (Rate Monotonic Theory - Policy and Feasibility for RT Services) September 7, 2018 Sam Siewert Quick Review Service Utility RM Policy, Feasibility,

More information

Mixed Criticality in Safety-Critical Systems. LS 12, TU Dortmund

Mixed Criticality in Safety-Critical Systems. LS 12, TU Dortmund Mixed Criticality in Safety-Critical Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 18, July, 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 25 Motivation today s embedded systems use complex

More information

Utilization Bounds on Allocating Rate-Monotonic Scheduled Multi-Mode Tasks on Multiprocessor Systems

Utilization Bounds on Allocating Rate-Monotonic Scheduled Multi-Mode Tasks on Multiprocessor Systems Utilization Bounds on Allocating Rate-onotonic Scheduled ulti-ode Tasks on ultiprocessor Systems Wen-Hung Huang Department of Computer Science TU Dortmund University, Germany wen-hung.huang@tu-dortmund.de

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems E 450 Real-ime Systems Lecture 4 Rate Monotonic heory Part September 7, 08 Sam Siewert Quiz Results 93% Average, 75 low, 00 high Goal is to learn what you re not learning yet Motivation to keep up with

More information

Scheduling periodic Tasks on Multiple Periodic Resources

Scheduling periodic Tasks on Multiple Periodic Resources Scheduling periodic Tasks on Multiple Periodic Resources Xiayu Hua, Zheng Li, Hao Wu, Shangping Ren* Department of Computer Science Illinois Institute of Technology Chicago, IL 60616, USA {xhua, zli80,

More information

Accurate Estimation of Cache-Related Preemption Delay

Accurate Estimation of Cache-Related Preemption Delay Accurate Estimation of Cache-Related Preemption Delay Hemendra Singh Negi Tulika Mitra Abhik Roychoudhury School of Computing National University of Singapore Republic of Singapore 117543. [hemendra,tulika,abhik]@comp.nus.edu.sg

More information

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K.

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K. Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors Sanjoy K. Baruah Abstract In fixed-priority scheduling the priority of a job, once assigned,

More information

Embedded Systems 23 BF - ES

Embedded Systems 23 BF - ES Embedded Systems 23-1 - Measurement vs. Analysis REVIEW Probability Best Case Execution Time Unsafe: Execution Time Measurement Worst Case Execution Time Upper bound Execution Time typically huge variations

More information

Rate-monotonic scheduling on uniform multiprocessors

Rate-monotonic scheduling on uniform multiprocessors Rate-monotonic scheduling on uniform multiprocessors Sanjoy K. Baruah The University of North Carolina at Chapel Hill Email: baruah@cs.unc.edu Joël Goossens Université Libre de Bruxelles Email: joel.goossens@ulb.ac.be

More information

ENHANCING CPU PERFORMANCE USING SUBCONTRARY MEAN DYNAMIC ROUND ROBIN (SMDRR) SCHEDULING ALGORITHM

ENHANCING CPU PERFORMANCE USING SUBCONTRARY MEAN DYNAMIC ROUND ROBIN (SMDRR) SCHEDULING ALGORITHM ENHANCING CPU PERFORMANCE USING SUBCONTRARY MEAN DYNAMIC ROUND ROBIN (SMD) SCHEDULING ALGORITHM Sourav Kumar Bhoi *1, Sanjaya Kumar Panda 2 and Debashee Tarai 3 * 1 Department of Computer Science & Engineering,

More information

Networked Embedded Systems WS 2016/17

Networked Embedded Systems WS 2016/17 Networked Embedded Systems WS 2016/17 Lecture 2: Real-time Scheduling Marco Zimmerling Goal of Today s Lecture Introduction to scheduling of compute tasks on a single processor Tasks need to finish before

More information

Contention-Free Executions for Real-Time Multiprocessor Scheduling

Contention-Free Executions for Real-Time Multiprocessor Scheduling Contention-Free Executions for Real-Time Multiprocessor Scheduling JINKYU LEE, University of Michigan ARVIND EASWARAN, Nanyang Technological University INSIK SHIN, KAIST A time slot is defined as contention-free

More information

Real-Time Systems. Event-Driven Scheduling

Real-Time Systems. Event-Driven Scheduling Real-Time Systems Event-Driven Scheduling Hermann Härtig WS 2018/19 Outline mostly following Jane Liu, Real-Time Systems Principles Scheduling EDF and LST as dynamic scheduling methods Fixed Priority schedulers

More information