SlideShare a Scribd company logo
Multicore scheduling in automotive ECUs
 Aurélien Monot - PSA Peugeot Citroën, LORIA
 Nicolas Navet - INRIA, RealTime-at-Work
 Françoise Simonot - LORIA
 Bernard Bavoux - PSA Peugeot Citroën



  Talk at ERTS2 2010
  Toulouse, May 21st 2010
2




                         Outlook

Context:
New tools and methodologies are needed as multicore ECUs
are being introduced in the automotive EE architecture.


Problem:
How to address the scheduling of numerous runnables on a
multicore ECUs in the context of the automotive domain?


Method:
Deployment of load balancing algorithms in ECU configuration
tools.
3



   The case of a generic car manufacturer



         Typical number of ECUs in a car in 2000 : 20
       Typical number of ECUs in a car in 2010 : over 40


The number of ECUs has more than doubled in 10 years

                       Other examples
            Between 60 and 80 ECUs in the Audi A8
                Over 100 ECUs in some Lexus !
4



Moving towards multicore architecture

  Decreasing the complexity of in-vehicle architecture:
   reduces EE design and verification efforts
   decreases number of network interfaces
   decreases traffic on CAN network
   reduces costs



         ECU 1                     ECU 2
         Tas         Tas                 Tas
          k           k                   k

               Tas         Tas     Tas
                k           k       k
5



Moving towards multicore architecture

  Other use cases for the automotive domain
        Dealing with resource demanding applications
         ‣   engine control, image processing...
        Improving the safety
         ‣   segragation of multi-source software, ISO26262...
        Dedicated use of core
         ‣   monitoring, event-triggered tasks



  General benefits of multi-core
       reduced power consumption
       reduced heat
       reduced EMC
6



        AutoSAR requirements

•   Static partitioning
•   Static cyclic scheduling using schedule tables
•   BSW are all allocated on the same core
7



                                  Problem
Goal: schedule numerous runnables on a multicore ECU

Two sub-problems
     Partitioning
      ‣ 600 runnables on 2 cores : 2600 possible allocations
     Build schedule table
      ‣ 300 runnables in 200 slots (expiry points) : 200300 schedules

Sub-objectives and criteria
     Avoid load peaks
       ‣ Max
     Balance load over time
       ‣ Standard Deviation
8




                                          Model

    Runnables                                             P1=10             R
                                                                                 P2=10
                                                    R1    C1=2                   C2=1
                                                                            2
       •Period                                            O1=0                   O2=5
       •WCET
       •Initial Offset                                              P3=20              P4=20
                                                          R3        C3=3         R4    C4=2
       •Core allocation constraint
                                                                    O3=5               O4=15
       •Colocation constraint


Sequencer task

                R                  R                R                           R
    R1              R3    R1         R4     R1           R3     R1                R4
                2                  2                2                           2

0           5            10      15       20       25          30           35         40
     Ttic                      Slots      Tcycle
9


                         Solution


Partitioning is dealt with as a bin packing problem
        Worst fit decreasing algorithm with fixed number of bins


Load Balancing is done with the Least Loaded algorithm (LL)
  inspired from CAN domain [Grenier and Navet ERTSS2008]
        Extended to handle non harmonic runnable sets (G-LL)
        Improved so as to reduce further load peaks (G-LLσ)

Implemented in a tool
      Freely available soon at http://www.realtimeatwork.com
10


Experiments with RTaW-ECU
11


                 Harmonic task sets

                                             LL
                                             Max: 4.79
                                             Min: 4.52
                                             StdDvt: 0.038

                                             G-LLσ
                                             Max: 4.75
                                             Min: 4.65
                                             StdDvt: 0.018




Generated load: 94%, Ttic=5ms, Tcycle = 1s
12




                      Non harmonic task sets
                                                                         Cmax
     Schedulability bound in the harmonic case                      1−
                                                                         Ttic
                                      Generated        95%    97%         95%     97%
Max WCET (μs)       150   300   900   CPU load
                                      Schedulability   94%                82%
Schedulability      97%   94%   82%   bound in the     Max WCET =         Max WCET = 900μs
bound in the                          harmonic case    300μs
harmonic case
                                      Success % of     64%    18%         12%     1%
Success % of LL     96%   96%   92%   LL
                                      Success % of     94%    94%         30%     5%
Success % of G-LL   100% 100% 100%    G-LL

                                      Success % of     100%   100%        97%     76%
                                      G-LL1σ


      Statistics collected over 1000 generated runnable sets
13

 Multiple synchronized sequencer tasks per core




Incremental scheduling of three synchronized sequencer tasks with respective
   load of 45%, 35% and 15% resulting in 95% of the core capacity.
                        Tcycle=1000ms and Ttic=5ms
14


   Multiple non synchronized sequencer
              tasks per core

Case arises for sequencer tasks using different tic counters
      Engine control applications (standard time vs RPM)



Any offset between the sequencer tasks and all clock rates are
  possible during runtime
      each sequencer task needs to be balanced
      independantly

Verification is possible considering maximum clock rates
       Multi-frame scheduling results can be used
15



                  Conclusion
Adoption of multicore ECU raises new challenges
     Evolution of software architecture design
     Scheduling of software components

We propose runnable scheduling heuristics for ECUs
     Fast and performant
     Easily adaptable for more advanced applications
     Compatible with AutoSAR R4.0 and its multicore
     extensions

Future work
      Precedence constraints
      Lockstep synchronization
      Distributed timing chains
16




Thank you for your attention

More Related Content

Similar to Ertss2010 multicore scheduling

Resilience at exascale
Resilience at exascaleResilience at exascale
Resilience at exascaleMarc Snir
 
Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)
RealTime-at-Work (RTaW)
 
Bluestore oio adaptive_throttle_analysis
Bluestore oio adaptive_throttle_analysisBluestore oio adaptive_throttle_analysis
Bluestore oio adaptive_throttle_analysis
병수 박
 
LCE12: big.LITTLE TC2 update
LCE12: big.LITTLE TC2 updateLCE12: big.LITTLE TC2 update
LCE12: big.LITTLE TC2 update
Linaro
 
KVM Tuning @ eBay
KVM Tuning @ eBayKVM Tuning @ eBay
KVM Tuning @ eBay
Xu Jiang
 
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-StudyDo We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
RealTime-at-Work (RTaW)
 
Haskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHCHaskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHC
dterei
 
5378086.ppt
5378086.ppt5378086.ppt
5378086.ppt
kavita417551
 
Rtos princples adn case study
Rtos princples adn case studyRtos princples adn case study
Rtos princples adn case studyvanamali_vanu
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Jorisimec.archive
 
Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...
Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...
Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...
Tokyo Institute of Technology
 
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell CompilerStatic Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Ilya Sergey
 
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like systemAccelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Shuai Yuan
 
HPC Accelerating Combustion Engine Design
HPC Accelerating Combustion Engine DesignHPC Accelerating Combustion Engine Design
HPC Accelerating Combustion Engine Design
inside-BigData.com
 
Performance and Availability Tradeoffs in Replicated File Systems
Performance and Availability Tradeoffs in Replicated File SystemsPerformance and Availability Tradeoffs in Replicated File Systems
Performance and Availability Tradeoffs in Replicated File Systems
peterhoneyman
 
Adaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and EigensolversAdaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and Eigensolvers
inside-BigData.com
 
Micro controller based DAQ
Micro controller based DAQMicro controller based DAQ
Micro controller based DAQMurugappa Group
 
Challenges of Parallel Simulation of Power Systems_english
Challenges of Parallel Simulation of Power Systems_englishChallenges of Parallel Simulation of Power Systems_english
Challenges of Parallel Simulation of Power Systems_english
OPAL-RT TECHNOLOGIES
 
Configuring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentConfiguring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segment
Nicolas Navet
 

Similar to Ertss2010 multicore scheduling (20)

Resilience at exascale
Resilience at exascaleResilience at exascale
Resilience at exascale
 
Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)
 
Bluestore oio adaptive_throttle_analysis
Bluestore oio adaptive_throttle_analysisBluestore oio adaptive_throttle_analysis
Bluestore oio adaptive_throttle_analysis
 
LCE12: big.LITTLE TC2 update
LCE12: big.LITTLE TC2 updateLCE12: big.LITTLE TC2 update
LCE12: big.LITTLE TC2 update
 
KVM Tuning @ eBay
KVM Tuning @ eBayKVM Tuning @ eBay
KVM Tuning @ eBay
 
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-StudyDo We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
 
Haskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHCHaskell Symposium 2010: An LLVM backend for GHC
Haskell Symposium 2010: An LLVM backend for GHC
 
5378086.ppt
5378086.ppt5378086.ppt
5378086.ppt
 
Rtos princples adn case study
Rtos princples adn case studyRtos princples adn case study
Rtos princples adn case study
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
 
Magma trcak b
Magma  trcak bMagma  trcak b
Magma trcak b
 
Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...
Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...
Integrating Cache Oblivious Approach with Modern Processor Architecture: The ...
 
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell CompilerStatic Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
 
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like systemAccelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
 
HPC Accelerating Combustion Engine Design
HPC Accelerating Combustion Engine DesignHPC Accelerating Combustion Engine Design
HPC Accelerating Combustion Engine Design
 
Performance and Availability Tradeoffs in Replicated File Systems
Performance and Availability Tradeoffs in Replicated File SystemsPerformance and Availability Tradeoffs in Replicated File Systems
Performance and Availability Tradeoffs in Replicated File Systems
 
Adaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and EigensolversAdaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and Eigensolvers
 
Micro controller based DAQ
Micro controller based DAQMicro controller based DAQ
Micro controller based DAQ
 
Challenges of Parallel Simulation of Power Systems_english
Challenges of Parallel Simulation of Power Systems_englishChallenges of Parallel Simulation of Power Systems_english
Challenges of Parallel Simulation of Power Systems_english
 
Configuring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentConfiguring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segment
 

More from Nicolas Navet

Battery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsBattery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task Graphs
Nicolas Navet
 
In-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardIn-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look Forward
Nicolas Navet
 
Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to security
Nicolas Navet
 
Mécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSMécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OS
Nicolas Navet
 
Automating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleAutomating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication Cycle
Nicolas Navet
 
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelAperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Nicolas Navet
 
Optimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsOptimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word Combinatorics
Nicolas Navet
 
Cief2007 nn shc_slides
Cief2007 nn shc_slidesCief2007 nn shc_slides
Cief2007 nn shc_slidesNicolas Navet
 
Virtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookVirtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an Outlook
Nicolas Navet
 

More from Nicolas Navet (11)

Battery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsBattery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task Graphs
 
In-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardIn-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look Forward
 
Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to security
 
Mécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSMécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OS
 
New policies
New policiesNew policies
New policies
 
Isi2007 nn shc_2007
Isi2007 nn shc_2007Isi2007 nn shc_2007
Isi2007 nn shc_2007
 
Automating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleAutomating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication Cycle
 
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelAperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
 
Optimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsOptimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word Combinatorics
 
Cief2007 nn shc_slides
Cief2007 nn shc_slidesCief2007 nn shc_slides
Cief2007 nn shc_slides
 
Virtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookVirtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an Outlook
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

Ertss2010 multicore scheduling

  • 1. Multicore scheduling in automotive ECUs Aurélien Monot - PSA Peugeot Citroën, LORIA Nicolas Navet - INRIA, RealTime-at-Work Françoise Simonot - LORIA Bernard Bavoux - PSA Peugeot Citroën Talk at ERTS2 2010 Toulouse, May 21st 2010
  • 2. 2 Outlook Context: New tools and methodologies are needed as multicore ECUs are being introduced in the automotive EE architecture. Problem: How to address the scheduling of numerous runnables on a multicore ECUs in the context of the automotive domain? Method: Deployment of load balancing algorithms in ECU configuration tools.
  • 3. 3 The case of a generic car manufacturer Typical number of ECUs in a car in 2000 : 20 Typical number of ECUs in a car in 2010 : over 40 The number of ECUs has more than doubled in 10 years Other examples Between 60 and 80 ECUs in the Audi A8 Over 100 ECUs in some Lexus !
  • 4. 4 Moving towards multicore architecture Decreasing the complexity of in-vehicle architecture: reduces EE design and verification efforts decreases number of network interfaces decreases traffic on CAN network reduces costs ECU 1 ECU 2 Tas Tas Tas k k k Tas Tas Tas k k k
  • 5. 5 Moving towards multicore architecture Other use cases for the automotive domain Dealing with resource demanding applications ‣ engine control, image processing... Improving the safety ‣ segragation of multi-source software, ISO26262... Dedicated use of core ‣ monitoring, event-triggered tasks General benefits of multi-core reduced power consumption reduced heat reduced EMC
  • 6. 6 AutoSAR requirements • Static partitioning • Static cyclic scheduling using schedule tables • BSW are all allocated on the same core
  • 7. 7 Problem Goal: schedule numerous runnables on a multicore ECU Two sub-problems Partitioning ‣ 600 runnables on 2 cores : 2600 possible allocations Build schedule table ‣ 300 runnables in 200 slots (expiry points) : 200300 schedules Sub-objectives and criteria Avoid load peaks ‣ Max Balance load over time ‣ Standard Deviation
  • 8. 8 Model Runnables P1=10 R P2=10 R1 C1=2 C2=1 2 •Period O1=0 O2=5 •WCET •Initial Offset P3=20 P4=20 R3 C3=3 R4 C4=2 •Core allocation constraint O3=5 O4=15 •Colocation constraint Sequencer task R R R R R1 R3 R1 R4 R1 R3 R1 R4 2 2 2 2 0 5 10 15 20 25 30 35 40 Ttic Slots Tcycle
  • 9. 9 Solution Partitioning is dealt with as a bin packing problem Worst fit decreasing algorithm with fixed number of bins Load Balancing is done with the Least Loaded algorithm (LL) inspired from CAN domain [Grenier and Navet ERTSS2008] Extended to handle non harmonic runnable sets (G-LL) Improved so as to reduce further load peaks (G-LLσ) Implemented in a tool Freely available soon at http://www.realtimeatwork.com
  • 11. 11 Harmonic task sets LL Max: 4.79 Min: 4.52 StdDvt: 0.038 G-LLσ Max: 4.75 Min: 4.65 StdDvt: 0.018 Generated load: 94%, Ttic=5ms, Tcycle = 1s
  • 12. 12 Non harmonic task sets Cmax Schedulability bound in the harmonic case 1− Ttic Generated 95% 97% 95% 97% Max WCET (μs) 150 300 900 CPU load Schedulability 94% 82% Schedulability 97% 94% 82% bound in the Max WCET = Max WCET = 900μs bound in the harmonic case 300μs harmonic case Success % of 64% 18% 12% 1% Success % of LL 96% 96% 92% LL Success % of 94% 94% 30% 5% Success % of G-LL 100% 100% 100% G-LL Success % of 100% 100% 97% 76% G-LL1σ Statistics collected over 1000 generated runnable sets
  • 13. 13 Multiple synchronized sequencer tasks per core Incremental scheduling of three synchronized sequencer tasks with respective load of 45%, 35% and 15% resulting in 95% of the core capacity. Tcycle=1000ms and Ttic=5ms
  • 14. 14 Multiple non synchronized sequencer tasks per core Case arises for sequencer tasks using different tic counters Engine control applications (standard time vs RPM) Any offset between the sequencer tasks and all clock rates are possible during runtime each sequencer task needs to be balanced independantly Verification is possible considering maximum clock rates Multi-frame scheduling results can be used
  • 15. 15 Conclusion Adoption of multicore ECU raises new challenges Evolution of software architecture design Scheduling of software components We propose runnable scheduling heuristics for ECUs Fast and performant Easily adaptable for more advanced applications Compatible with AutoSAR R4.0 and its multicore extensions Future work Precedence constraints Lockstep synchronization Distributed timing chains
  • 16. 16 Thank you for your attention