系統晶片設計 - 論文報告 指導老師:陳朝烈老師 學生: 0152801 陳宗廷 9852025 向崇羽 Monot, A.; Navet, N.; Bavoux, B.; Simonot-Lion, F.,” Multisource Software on Multicore Automotive.

Slides:



Advertisements
Similar presentations
CPE555A: Real-Time Embedded Systems
Advertisements

Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
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
Chap 5 Process Scheduling. Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU–I/O Burst Cycle – Process execution consists of a.
Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of.
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
Chapter 7 Memory Management
1 of 14 1/15 Schedulability Analysis and Optimization for the Synthesis of Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded.
1 Oct 2, 2003 Design Optimization of Mixed Time/Event-Triggered Distributed Embedded Systems Traian Pop, Petru Eles, Zebo Peng Embedded Systems Laboratory.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
Scheduling Parallel Task
Distributed Real-Time systems 1 By: Mahdi Sadeghizadeh Website: Sadeghizadeh.ir Advanced Computer Networks.
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.
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
Task Scheduling By Dr. Amin Danial Asham.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
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.
Subject: Operating System.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
6. Application mapping 6.1 Problem definition
Undergraduate course on Real-time Systems Linköping 1 of 45 Autumn 2009 TDDC47: Real-time and Concurrent Programming Lecture 5: Real-time Scheduling (I)
RTOS task scheduling models
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems RMS and EDF Schedulers.
KUKUM Real Time System 1/21 Module 2 Real Time System Scheduling Lecture 05.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Dynamic Priority Driven Scheduling of Periodic Task
Introduction to Real-Time Systems
1 of 14 1/15 Schedulability-Driven Frame Packing for Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded Systems Lab (ESLAB)
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Clock Driven Scheduling
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
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Undergraduate course on Real-time Systems Linköping TDDD07 – Real-time Systems Lecture 1: Introduction & Scheduling I Simin Nadjm-Tehrani Real-time Systems.
Embedded System Scheduling
Memory Management.
lecture 5: CPU Scheduling
ITEC 202 Operating Systems
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Wayne Wolf Dept. of EE Princeton University
EEE 6494 Embedded Systems Design
Lecture 4 Schedulability and Tasks
Parallel Programming in C with MPI and OpenMP
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
RTS: Kernel Design and Cyclic Executives
CPU Scheduling G.Anuradha
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Sanjoy Baruah The University of North Carolina at Chapel Hill
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter 6: CPU Scheduling
RTS: Kernel Design and Cyclic Executives
RTS: Kernel Design and Cyclic Executives
Processes and operating systems
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
The End Of The Line For Static Cyclic Scheduling?
Ch 4. Periodic Task Scheduling
Module 5: CPU Scheduling
Presentation transcript:

系統晶片設計 - 論文報告 指導老師:陳朝烈老師 學生: 陳宗廷 向崇羽 Monot, A.; Navet, N.; Bavoux, B.; Simonot-Lion, F.,” Multisource Software on Multicore Automotive ECUs—Combining Runnable Sequencing With Task Scheduling,”Industrial Electronics, IEEE Transactions on, Vol 59, p3934 – 3942,Oct 2012.

Outline Abstract Scheduling in the Automotive Domain Runnable Sequencing Algorithms For Multicore ECUs Experimentations

Abstract In this paper, we address the problem of sequencing numerous elementary software modules, called runnables, on a limited set of identical cores. We show how this problem can be addressed as the following two subproblems, which cannot optimally be solved due to their algorithmic complexity: 1) partitioning the set of runnables and 2) building the sequencing of the runnables on each core. Finally, we globally address the scheduling problem, at the ECU level, by discussing how we can extend this approach in cases where other OS tasks are scheduled on the same cores as the sequencer tasks.

Scheduling in the Automotive Domain A. Scheduling Design Choices for Multicore ECUs 1) Partitioning Scheduling Scheme In a multicore system,either the tasks are statically allocated to the cores or they can dynamically be distributed at runtime to balance the workload or migrate functions to increase availability. The latter approach involves complex tasks and resource interactions that are difficult to predict and validate. Thus, approaches that rely on static allocation (i.e., partitioning) and deterministic mechanisms such as periodic cyclic scheduling are more likely to be used in the automotive context, and this is the option taken within the AUTOSAR consortium. Fixed priority preemptive (FPP) or earliest deadline first (EDF)

Scheduling in the Automotive Domain 2) Static Cyclic Scheduling The static cyclic scheduling of elementary software modules or runnables is common, because there are usually many more runnables than the maximum number of tasks allowed by automotive operating systems such as OSEK/VDX or AUTOSAR OS. Thus, runnables must be grouped together and scheduled within a sequencer task (also called a dispatcher task). In this paper, we focus on how we can sequence large runnable sets on multicore platforms using a static partitioning approach.

Scheduling in the Automotive Domain Indeed, the static task partitioning scheme is very likely to be adopted, at least, in a first step, because it is conceptually simple and provides better predictability for ECU designers compared with a global scheduling approach.

Scheduling in the Automotive Domain B.Model Description In this paper, we consider a large set of n periodic elementary software modules, also called runnables, that will be allocated on an ECU that consists of m identical cores. 1) Runnable Characteristics: The ith runnable is denoted by Ri = (Ci, Ti,Oi, {R}, Pi). Quantities Ci, Ti, and Oi correspond, respectively, to the worst case execution time (WCET), the period (i.e., the exact time between two successive releases), and the offset of Ri. As shown in Fig. 1.

Scheduling in the Automotive Domain A set of interrunnable dependencies is denoted by {R}.Indeed, due to specific design requirements, such as shared variables, some runnables may have to be allocated on the same core, and the set {R} is used to capture these constraints. In addition, some specific features, such as input/output (I/O) ports located on a given core, may require a runnable to be allocated onto a specific core. This locality constraint is expressed by Pi.

Scheduling in the Automotive Domain 2) Dispatcher Task: A dispatcher task is characterized by the duration of the dispatch table Tcycle,which is executed in a cyclic manner, and by a quantum Ttic,which is the duration of a slot in the table. Note that Tcycle must be a multiple of the greatest common divisor of the runnable periods and the least common multiple (LCM) of these periods must be a multiple of Ttic. As a result, a dispatch table holds Tcycle/Ttic slots.

Scheduling in the Automotive Domain 3) Assumptions: In this paper, we place a set of working assumptions, which, in our experience, can most often be met in current automotive applications, as follows. Each runnable is periodically executed strictly. The runnables are assumed to be offset-free, because the initial offset of a runnable can freely be chosen in the limit of its period (see [10]). These offsets will be assigned during the construction of the dispatch table, with the objective of uniformizing the central processing unit (CPU) load over a scheduling cycle The WCETs of the runnables are assumed to be small ompared to Ttic. Typical values for the case that we consider would be 5 ms for Ttic and Ci ≤ 300 μs.

Scheduling in the Automotive Domain 3) Assumptions: In this paper, we place a set of working assumptions, which, in our experience, can most often be met in current automotive applications, as follows. All cores are identical with regard to their processing speed. There are no dependencies between runnables allocated on different cores. Therefore, all cores can independently be scheduled. This assumption is in line with the choices made by AUTOSAR with regard to multicore architecture This last assumption allows us to divide the overall problem into two independent subproblems. 1. balancing the CPU load of the m resulting partitions 2. building the dispatch table for each core

Scheduling in the Automotive Domain 4) Schedulability Condition: Assuming that we only consider runnable scheduling, the system is schedulable and, thus, can safely be deployed if and only if the following conditions are satisfied on each core. The runnables are strictly periodically executed. The initial offset of each runnable is smaller than its period. The sum of the WCET of the runnables allocated in each slot does not exceed a given threshold, which is typically chosen as the duration of the slot, i.e., Ttic.

Runnable Sequencing Algorithms For Multicore ECUs

Ri(Ti, Ci) : R1(10, 2), R2(10, 1), R3(20, 4), R4(20, 2) leads to the dispatch table shown in Fig. 2. The resulting distribution of the load is shown in Table I.

Runnable Sequencing Algorithms For Multicore ECUs R1(10, 2), R2(20, 3),R3(20, 1), R4(50, 2) with Ttic = 5 and Tcycle = 100. Fig. 3 shows the dispatch table before the allocation of R4. The resulting distribution of the load is shown in Table II.

Runnable Sequencing Algorithms For Multicore ECUs At that point, choosing one of the LL slots in the dispatch table will make the schedule fail, because R4 will also have to be allocated in the slot with the highest load because of its periodicity. For example, if the first instance of R4 is allocated in slot 1, the next instance will be placed in slot 11, and this condition will make the system unschedulable. However, allocating R4 in any even slot is safe.

Runnable Sequencing Algorithms For Multicore ECUs

Experimentations

Experimentations

Experimentations