SlideShare uma empresa Scribd logo
1 de 27
Memory Access Control in
Multiprocessor for Real-time Systems
       with Mixed Criticality

   Heechul Yun+, Gang Yao+, Rodolfo Pellizzoni*,
             Marco Caccamo+, Lui Sha+
  University of Illinois at Urbana and Champaign+
               Univerity of Waterloo*
Multi-core Systems
• Mainstream in smartphone
   – Dual/quad-core smartphones
   – More performance with less
     power
                                                                         Tegra 3 (4 cores)



• Traditional embedded/real-time domains
  – Avionics companies are investigating [Nowotsch12]
      • 8 core P4080 processor from Freescale

                                                                                           2
    [Nowotsch12] “Leveraging Multi-Core Computing Architectures in Avionics”, EDCC, 2012
Challenge

         Core1    Core2          Core3   Core4


                      System bus


                          DRAM


• Timing isolation is hard to achieve



                                                 3
Challenge
         Appl1     App2          App 3   App 4

        Core1     Core2          Core3   Core4


                      System bus


                          DRAM


• Cores compete for shared HW resources
  – System bus, DRAM controller, shared cache, …


                                                   4
Effect of Memory Contention
                                           Run-time increase (%)
                    70%

                    60%              60% WCET increase
                    50%                is unacceptable
                    40%

                    30%


App.
App       membomb   20%

                    10%

                    0%
Core        Core           429.mcf      471.omnetpp   473.astar   433.milc   470.lbm



Shared system bus   • Run-time increase due to contention
       Memory             – Five SPEC2006 benchmarks
                          – Compared to solo execution
                                                                                       5
Goal
• Mechanism to control memory contention
  – Software based controller for COTS multi-core
    processors


• Response time analysis accounting memory
  contention effect
  – Based on proposed software based controller



                                                    6
Outline
•   Motivation
•   Memory Access Control System
•   Response Time Analysis
•   Evaluation
•   Conclusion




                                   7
System Architecture
          Core1       Core2            Core3    Core4


            Memory bandwidth controllers (Part of OS)
           20%       30%          10%             40%


                              System bus


                                DRAM

• Assign memory bandwidth to each core using per-core
  memory bandwidth controller

                                                        8
Memory Bandwidth Controller
• Periodic server for memory resource

• Periodically monitor memory accesses of the core
  and control user specified bandwidth using OS
  scheduler
   – Monitoring can be efficiently done by using per-core
     hardware performance counter
   – Bandwidth = # memory accesses X avg. access time



                                                            9
Memory Bandwidth Controller
  • Period: 10 time unit, Budget: 2 memory accesses
         – memory access takes 1 time unit

                          Enqueue tasks
         2
Budget
         1



 Task

         0                  10               20
                 Dequeue tasks                Dequeue tasks

                   computation
                                                              10
                   memory fetch
Outline
•   Motivation
•   Memory Bandwidth Control System
•   Response Time Analysis
•   Evaluation
•   Conclusion




                                      11
System Model
   Critical core                Interfering cores
      Core1        Core2            Core3           Core4

                    Memory bandwidth controller

                           System bus

                             DRAM

• Cores are partitioned based on criticality
• Critical core runs periodic real-time tasks with fixed
  priority scheduling algorithm
• Interfering cores run non-critical workload and
  regulated with proposed memory access controller
                                                            12
Assumptions
    Critical core                Interfering cores
       Core1        Core2            Core3           Core4

                     Memory bandwidth controller

                            System bus

                              DRAM

•   Private or partitioned last level cache (LLC)
•   Round-robin bus arbitration policy
•   Memory access latency is constant
•   1 LLC miss = 1 DRAM access
                                                             13
Simple Case: One Interfering Core
                   Critical            Interfering

                    Core                     Core

                                            Memory
                                           bandwidth
                                           controller



                              System bus


                                DRAM

• Critical core - core under analysis
• Interfering core – generating memory interference
                                                        14
Problem Formulation
• For a given periodic real-time task set 𝑇 = {𝜏1 ,
   𝜏1 ,…, 𝜏 𝑛 } on a critical core
• Problem:
  – Determine 𝑇 is schedulable on the critical core
    given memory access control budget Q and period
    P on the interfering core




                                                      15
Task Model

            CM



                                               computation
                                               memory fetch
                                               (cache stall)
                    C    time

– C : WCET of a task on isolated core (no interference)
– CM: number of last level cache misses (DRAM accesses)
– L: stall time of single cache miss

                                                          16
Memory Interference Model




– P : memory access controller period
– Q: memory access time budget
– αu(t): Linearized interfering memory traffic upper-bound

                                                             17
Background [Pellizzoni07]
• Accounting Memory Interference
  – Cache bound: maximum interference time <=
    maximum number cache-accesses (CM) * L of the task
    under analysis
  – Traffic bound: maximum interference time <=
    maximum bus time requested by the interfering core


                                      Cache-bound                            Traffic bound
    𝐶 : WCET account memory stall delay
   L: stall time of single cache miss
                                                                                                      18
    [Pellizzoni07] “Toward the predictable integration of real-time cots based systems,” RTSS, 2007
Classic Response Time Analysis

                              𝑅𝑖 𝑘
𝑅 𝑖𝑘+1 = 𝐶 𝑖 +                     ∗ 𝐶𝑗
                               𝑇𝑗
                      𝑗<𝑖



– Tasks are sorted in priority order
    • low index = high priority task
– 𝐶 𝑖 : WCET of task i (in isolation w/o memory interference)
– 𝑅 𝑖 : Response time of task i
– 𝑇𝑗 : Period of task I


                                                                19
Extended Response Time Analysis

                               𝑅𝑖 𝑘
   𝑅 𝑖𝑘+1 = 𝐶 𝑖 +                   ∗ 𝐶𝑗 + min                    𝑁 𝑅 𝑘 ∗ 𝐿, 𝛼 𝑢 𝑅 𝑘
                                𝑇𝑗
                        𝑗<𝑖                                                    𝑡
                                                    where 𝑁 𝑡 =          𝑗≤𝑖        ∗ 𝐶𝑀𝑗
                                                                               𝑇𝑗

                                                              𝑢
                                                                       𝑄   𝑄(𝑃 − 𝑄)
                                                          𝛼       𝑡 = 𝑡 +2
                                                                       𝑃       𝑃
   –    𝑁 𝑡 : aggregated cache misses over time t
   –    𝛼 𝑢 (𝑡): interfering memory traffic over time t
   –   P: memory access control period
   –   Q: memory access time budget

• Proposed method achieves tighter response time than using 𝐶

                                                                                            20
Outline
•   Motivation
•   Memory Bandwidth Control System
•   Response Time Analysis
•   Evaluation
•   Conclusion




                                      21
Linux Kernel Implementation
• Extending CPU bandwidth reservation feature of
  group scheduler
  – Specify core and bandwidth (memory budget, period)
     •   mkdir /sys/fs/cgroup/core3; cd /sys/fs/cgroup/core3
     •   echo 3 > cpuset.cpus                       core 3
     •   echo 10000 > cpu.cfs_period_us             period
     •   echo 500000 > cpu.cfs_quota_event          cache-misses budget
           – Added feature

  – Monitor memory usage at every scheduler tick and
    context switch


                                                                       22
Experimental Platform
                                    Intel Core2Quad

             Core 0              Core 1               Core 2              Core 3

          L1-I   L1-D        L1-I    L1-D           L1-I   L1-D       L1-I    L1-D


                      L2 Cache                                 L2 Cache



                                          System Bus

                                            DRAM

• Core 0,2 were disabled to simulate a private LLC system
• Running a modified Linux 3.2 kernel
   – https://github.com/heechul/linux-sched-coreidle/tree/sched-3.2-throttle-v2

                                                                                     23
Synthetic Task

App.
App        membomb


Core1        Core3

Shared system bus
       Memory


   •    Core under analysis runs a synthetic task with 50% memory bandwidth
   •    Vary throttling budget of the interfering core from 0 to 100%
   •    Two findings: (1) we can control interference, (2) analysis provide an upper
        bound (albeit still pessimistic)

                                                                                       24
H.264 Movie Playback




• Cache-miss counts sampled over every 100ms
• Some inaccuracy in regulation due to implementation limitation
    – Current version is improved accurate by using hardware overflow interrupt

                                                                                  25
Conclusion
• Shared hardware resources in multi-core systems
  are big challenges for designing real-time systems

• We proposed and implemented a mechanism to
  provide memory bandwidth reservation
  capability on COTS multi-core processors

• We developed a response time analysis method
  using the proposed memory access control
  mechanism

                                                   26
Thank you.




             27

Mais conteúdo relacionado

Mais procurados

VMworld 2014: Extreme Performance Series
VMworld 2014: Extreme Performance Series VMworld 2014: Extreme Performance Series
VMworld 2014: Extreme Performance Series VMworld
 
Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2
Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2
Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2Cloudera, Inc.
 
Advanced virtualization techniques for FAUmachine
Advanced virtualization techniques for FAUmachineAdvanced virtualization techniques for FAUmachine
Advanced virtualization techniques for FAUmachinewebhostingguy
 
booting-booster-final-20160420-0700
booting-booster-final-20160420-0700booting-booster-final-20160420-0700
booting-booster-final-20160420-0700Samsung Electronics
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time KernelsArnav Soni
 
Hadoop Summit 2012 | HDFS High Availability
Hadoop Summit 2012 | HDFS High AvailabilityHadoop Summit 2012 | HDFS High Availability
Hadoop Summit 2012 | HDFS High AvailabilityCloudera, Inc.
 
Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Sarwan ali
 
Considerations when implementing_ha_in_dmf
Considerations when implementing_ha_in_dmfConsiderations when implementing_ha_in_dmf
Considerations when implementing_ha_in_dmfhik_lhz
 
Hardware-aware thread scheduling: the case of asymmetric multicore processors
Hardware-aware thread scheduling: the case of asymmetric multicore processorsHardware-aware thread scheduling: the case of asymmetric multicore processors
Hardware-aware thread scheduling: the case of asymmetric multicore processorsAchille Peternier
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals哲豪 康哲豪
 
Gnu linux for safety related systems
Gnu linux for safety related systemsGnu linux for safety related systems
Gnu linux for safety related systemsDTQ4
 
Introducing KMux - The Kernel Multiplexer
Introducing KMux - The Kernel MultiplexerIntroducing KMux - The Kernel Multiplexer
Introducing KMux - The Kernel MultiplexerTareque Hossain
 
Memory management in vx works
Memory management in vx worksMemory management in vx works
Memory management in vx worksDhan V Sagar
 

Mais procurados (20)

VMworld 2014: Extreme Performance Series
VMworld 2014: Extreme Performance Series VMworld 2014: Extreme Performance Series
VMworld 2014: Extreme Performance Series
 
Priority Inversion on Mars
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
 
Clifford sugerman
Clifford sugermanClifford sugerman
Clifford sugerman
 
Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2
Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2
Strata + Hadoop World 2012: High Availability for the HDFS NameNode Phase 2
 
design_flow
design_flowdesign_flow
design_flow
 
Rtos slides
Rtos slidesRtos slides
Rtos slides
 
Advanced virtualization techniques for FAUmachine
Advanced virtualization techniques for FAUmachineAdvanced virtualization techniques for FAUmachine
Advanced virtualization techniques for FAUmachine
 
Real time Linux
Real time LinuxReal time Linux
Real time Linux
 
booting-booster-final-20160420-0700
booting-booster-final-20160420-0700booting-booster-final-20160420-0700
booting-booster-final-20160420-0700
 
Mastering Real-time Linux
Mastering Real-time LinuxMastering Real-time Linux
Mastering Real-time Linux
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time Kernels
 
Hadoop Summit 2012 | HDFS High Availability
Hadoop Summit 2012 | HDFS High AvailabilityHadoop Summit 2012 | HDFS High Availability
Hadoop Summit 2012 | HDFS High Availability
 
Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler
 
Considerations when implementing_ha_in_dmf
Considerations when implementing_ha_in_dmfConsiderations when implementing_ha_in_dmf
Considerations when implementing_ha_in_dmf
 
Hardware-aware thread scheduling: the case of asymmetric multicore processors
Hardware-aware thread scheduling: the case of asymmetric multicore processorsHardware-aware thread scheduling: the case of asymmetric multicore processors
Hardware-aware thread scheduling: the case of asymmetric multicore processors
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals
 
Gnu linux for safety related systems
Gnu linux for safety related systemsGnu linux for safety related systems
Gnu linux for safety related systems
 
Introducing KMux - The Kernel Multiplexer
Introducing KMux - The Kernel MultiplexerIntroducing KMux - The Kernel Multiplexer
Introducing KMux - The Kernel Multiplexer
 
Memory management in vx works
Memory management in vx worksMemory management in vx works
Memory management in vx works
 
Preempt_rt realtime patch
Preempt_rt realtime patchPreempt_rt realtime patch
Preempt_rt realtime patch
 

Semelhante a Memory access control in multiprocessor for real-time system with mixed criticality

Taming Non-blocking Caches to Improve Isolation in Multicore Real-Time Systems
Taming Non-blocking Caches to Improve Isolation in Multicore Real-Time SystemsTaming Non-blocking Caches to Improve Isolation in Multicore Real-Time Systems
Taming Non-blocking Caches to Improve Isolation in Multicore Real-Time SystemsHeechul Yun
 
Deterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System ArchitectureDeterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System ArchitectureHeechul Yun
 
Parallelism-Aware Memory Interference Delay Analysis for COTS Multicore Systems
Parallelism-Aware Memory Interference Delay Analysis for COTS Multicore SystemsParallelism-Aware Memory Interference Delay Analysis for COTS Multicore Systems
Parallelism-Aware Memory Interference Delay Analysis for COTS Multicore SystemsHeechul Yun
 
Improving Real-Time Performance on Multicore Platforms using MemGuard
Improving Real-Time Performance on Multicore Platforms using MemGuardImproving Real-Time Performance on Multicore Platforms using MemGuard
Improving Real-Time Performance on Multicore Platforms using MemGuardHeechul Yun
 
chap 18 multicore computers
chap 18 multicore computers chap 18 multicore computers
chap 18 multicore computers Sher Shah Merkhel
 
PlovDev 2016: Application Performance in Virtualized Environments by Todor T...
PlovDev 2016: Application Performance in Virtualized Environments by Todor T...PlovDev 2016: Application Performance in Virtualized Environments by Todor T...
PlovDev 2016: Application Performance in Virtualized Environments by Todor T...PlovDev Conference
 
webinar vmware v-sphere performance management Challenges and Best Practices
webinar vmware v-sphere performance management Challenges and Best Practiceswebinar vmware v-sphere performance management Challenges and Best Practices
webinar vmware v-sphere performance management Challenges and Best PracticesMetron
 
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...peknap
 
Supporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OSSupporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OSNamHyuk Ahn
 
CPU Caches - Jamie Allen
CPU Caches - Jamie AllenCPU Caches - Jamie Allen
CPU Caches - Jamie Allenjaxconf
 
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld
 
Protecting Real-Time GPU Kernels in Integrated CPU-GPU SoC Platforms
Protecting Real-Time GPU Kernels in Integrated CPU-GPU SoC PlatformsProtecting Real-Time GPU Kernels in Integrated CPU-GPU SoC Platforms
Protecting Real-Time GPU Kernels in Integrated CPU-GPU SoC PlatformsHeechul Yun
 

Semelhante a Memory access control in multiprocessor for real-time system with mixed criticality (20)

Taming Non-blocking Caches to Improve Isolation in Multicore Real-Time Systems
Taming Non-blocking Caches to Improve Isolation in Multicore Real-Time SystemsTaming Non-blocking Caches to Improve Isolation in Multicore Real-Time Systems
Taming Non-blocking Caches to Improve Isolation in Multicore Real-Time Systems
 
Deterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System ArchitectureDeterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System Architecture
 
Parallelism-Aware Memory Interference Delay Analysis for COTS Multicore Systems
Parallelism-Aware Memory Interference Delay Analysis for COTS Multicore SystemsParallelism-Aware Memory Interference Delay Analysis for COTS Multicore Systems
Parallelism-Aware Memory Interference Delay Analysis for COTS Multicore Systems
 
Improving Real-Time Performance on Multicore Platforms using MemGuard
Improving Real-Time Performance on Multicore Platforms using MemGuardImproving Real-Time Performance on Multicore Platforms using MemGuard
Improving Real-Time Performance on Multicore Platforms using MemGuard
 
CPU Caches
CPU CachesCPU Caches
CPU Caches
 
chap 18 multicore computers
chap 18 multicore computers chap 18 multicore computers
chap 18 multicore computers
 
PlovDev 2016: Application Performance in Virtualized Environments by Todor T...
PlovDev 2016: Application Performance in Virtualized Environments by Todor T...PlovDev 2016: Application Performance in Virtualized Environments by Todor T...
PlovDev 2016: Application Performance in Virtualized Environments by Todor T...
 
Chen Haibo
Chen HaiboChen Haibo
Chen Haibo
 
webinar vmware v-sphere performance management Challenges and Best Practices
webinar vmware v-sphere performance management Challenges and Best Practiceswebinar vmware v-sphere performance management Challenges and Best Practices
webinar vmware v-sphere performance management Challenges and Best Practices
 
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
 
Memory Organization
Memory OrganizationMemory Organization
Memory Organization
 
Memory
MemoryMemory
Memory
 
Supporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OSSupporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OS
 
Cpu Caches
Cpu CachesCpu Caches
Cpu Caches
 
CPU Caches - Jamie Allen
CPU Caches - Jamie AllenCPU Caches - Jamie Allen
CPU Caches - Jamie Allen
 
Cache
CacheCache
Cache
 
Lec5
Lec5Lec5
Lec5
 
Multicore computers
Multicore computersMulticore computers
Multicore computers
 
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
 
Protecting Real-Time GPU Kernels in Integrated CPU-GPU SoC Platforms
Protecting Real-Time GPU Kernels in Integrated CPU-GPU SoC PlatformsProtecting Real-Time GPU Kernels in Integrated CPU-GPU SoC Platforms
Protecting Real-Time GPU Kernels in Integrated CPU-GPU SoC Platforms
 

Último

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Memory access control in multiprocessor for real-time system with mixed criticality

  • 1. Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality Heechul Yun+, Gang Yao+, Rodolfo Pellizzoni*, Marco Caccamo+, Lui Sha+ University of Illinois at Urbana and Champaign+ Univerity of Waterloo*
  • 2. Multi-core Systems • Mainstream in smartphone – Dual/quad-core smartphones – More performance with less power Tegra 3 (4 cores) • Traditional embedded/real-time domains – Avionics companies are investigating [Nowotsch12] • 8 core P4080 processor from Freescale 2 [Nowotsch12] “Leveraging Multi-Core Computing Architectures in Avionics”, EDCC, 2012
  • 3. Challenge Core1 Core2 Core3 Core4 System bus DRAM • Timing isolation is hard to achieve 3
  • 4. Challenge Appl1 App2 App 3 App 4 Core1 Core2 Core3 Core4 System bus DRAM • Cores compete for shared HW resources – System bus, DRAM controller, shared cache, … 4
  • 5. Effect of Memory Contention Run-time increase (%) 70% 60% 60% WCET increase 50% is unacceptable 40% 30% App. App membomb 20% 10% 0% Core Core 429.mcf 471.omnetpp 473.astar 433.milc 470.lbm Shared system bus • Run-time increase due to contention Memory – Five SPEC2006 benchmarks – Compared to solo execution 5
  • 6. Goal • Mechanism to control memory contention – Software based controller for COTS multi-core processors • Response time analysis accounting memory contention effect – Based on proposed software based controller 6
  • 7. Outline • Motivation • Memory Access Control System • Response Time Analysis • Evaluation • Conclusion 7
  • 8. System Architecture Core1 Core2 Core3 Core4 Memory bandwidth controllers (Part of OS) 20% 30% 10% 40% System bus DRAM • Assign memory bandwidth to each core using per-core memory bandwidth controller 8
  • 9. Memory Bandwidth Controller • Periodic server for memory resource • Periodically monitor memory accesses of the core and control user specified bandwidth using OS scheduler – Monitoring can be efficiently done by using per-core hardware performance counter – Bandwidth = # memory accesses X avg. access time 9
  • 10. Memory Bandwidth Controller • Period: 10 time unit, Budget: 2 memory accesses – memory access takes 1 time unit Enqueue tasks 2 Budget 1 Task 0 10 20 Dequeue tasks Dequeue tasks computation 10 memory fetch
  • 11. Outline • Motivation • Memory Bandwidth Control System • Response Time Analysis • Evaluation • Conclusion 11
  • 12. System Model Critical core Interfering cores Core1 Core2 Core3 Core4 Memory bandwidth controller System bus DRAM • Cores are partitioned based on criticality • Critical core runs periodic real-time tasks with fixed priority scheduling algorithm • Interfering cores run non-critical workload and regulated with proposed memory access controller 12
  • 13. Assumptions Critical core Interfering cores Core1 Core2 Core3 Core4 Memory bandwidth controller System bus DRAM • Private or partitioned last level cache (LLC) • Round-robin bus arbitration policy • Memory access latency is constant • 1 LLC miss = 1 DRAM access 13
  • 14. Simple Case: One Interfering Core Critical Interfering Core Core Memory bandwidth controller System bus DRAM • Critical core - core under analysis • Interfering core – generating memory interference 14
  • 15. Problem Formulation • For a given periodic real-time task set 𝑇 = {𝜏1 , 𝜏1 ,…, 𝜏 𝑛 } on a critical core • Problem: – Determine 𝑇 is schedulable on the critical core given memory access control budget Q and period P on the interfering core 15
  • 16. Task Model CM computation memory fetch (cache stall) C time – C : WCET of a task on isolated core (no interference) – CM: number of last level cache misses (DRAM accesses) – L: stall time of single cache miss 16
  • 17. Memory Interference Model – P : memory access controller period – Q: memory access time budget – αu(t): Linearized interfering memory traffic upper-bound 17
  • 18. Background [Pellizzoni07] • Accounting Memory Interference – Cache bound: maximum interference time <= maximum number cache-accesses (CM) * L of the task under analysis – Traffic bound: maximum interference time <= maximum bus time requested by the interfering core Cache-bound Traffic bound 𝐶 : WCET account memory stall delay L: stall time of single cache miss 18 [Pellizzoni07] “Toward the predictable integration of real-time cots based systems,” RTSS, 2007
  • 19. Classic Response Time Analysis 𝑅𝑖 𝑘 𝑅 𝑖𝑘+1 = 𝐶 𝑖 + ∗ 𝐶𝑗 𝑇𝑗 𝑗<𝑖 – Tasks are sorted in priority order • low index = high priority task – 𝐶 𝑖 : WCET of task i (in isolation w/o memory interference) – 𝑅 𝑖 : Response time of task i – 𝑇𝑗 : Period of task I 19
  • 20. Extended Response Time Analysis 𝑅𝑖 𝑘 𝑅 𝑖𝑘+1 = 𝐶 𝑖 + ∗ 𝐶𝑗 + min 𝑁 𝑅 𝑘 ∗ 𝐿, 𝛼 𝑢 𝑅 𝑘 𝑇𝑗 𝑗<𝑖 𝑡 where 𝑁 𝑡 = 𝑗≤𝑖 ∗ 𝐶𝑀𝑗 𝑇𝑗 𝑢 𝑄 𝑄(𝑃 − 𝑄) 𝛼 𝑡 = 𝑡 +2 𝑃 𝑃 – 𝑁 𝑡 : aggregated cache misses over time t – 𝛼 𝑢 (𝑡): interfering memory traffic over time t – P: memory access control period – Q: memory access time budget • Proposed method achieves tighter response time than using 𝐶 20
  • 21. Outline • Motivation • Memory Bandwidth Control System • Response Time Analysis • Evaluation • Conclusion 21
  • 22. Linux Kernel Implementation • Extending CPU bandwidth reservation feature of group scheduler – Specify core and bandwidth (memory budget, period) • mkdir /sys/fs/cgroup/core3; cd /sys/fs/cgroup/core3 • echo 3 > cpuset.cpus  core 3 • echo 10000 > cpu.cfs_period_us  period • echo 500000 > cpu.cfs_quota_event  cache-misses budget – Added feature – Monitor memory usage at every scheduler tick and context switch 22
  • 23. Experimental Platform Intel Core2Quad Core 0 Core 1 Core 2 Core 3 L1-I L1-D L1-I L1-D L1-I L1-D L1-I L1-D L2 Cache L2 Cache System Bus DRAM • Core 0,2 were disabled to simulate a private LLC system • Running a modified Linux 3.2 kernel – https://github.com/heechul/linux-sched-coreidle/tree/sched-3.2-throttle-v2 23
  • 24. Synthetic Task App. App membomb Core1 Core3 Shared system bus Memory • Core under analysis runs a synthetic task with 50% memory bandwidth • Vary throttling budget of the interfering core from 0 to 100% • Two findings: (1) we can control interference, (2) analysis provide an upper bound (albeit still pessimistic) 24
  • 25. H.264 Movie Playback • Cache-miss counts sampled over every 100ms • Some inaccuracy in regulation due to implementation limitation – Current version is improved accurate by using hardware overflow interrupt 25
  • 26. Conclusion • Shared hardware resources in multi-core systems are big challenges for designing real-time systems • We proposed and implemented a mechanism to provide memory bandwidth reservation capability on COTS multi-core processors • We developed a response time analysis method using the proposed memory access control mechanism 26