Minimizing Cache Usage for Real-time Systems

被引:1
|
作者
Sun, Binqi [1 ]
Kloda, Tomasz [2 ]
Garcia, Sergio Arribas [3 ]
Gracioli, Giovani [3 ]
Caccamo, Marco [1 ]
机构
[1] Tech Univ Munich, Munich, Germany
[2] Univ Toulouse, LAAS, CNRS, INSA, Toulouse, France
[3] Univ Fed Santa Catarina, Florianopolis, SC, Brazil
关键词
cache partitioning; real-time; optimization; local search; SCHEDULABILITY ANALYSIS; ALGORITHM;
D O I
10.1145/3575757.3593651
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Cache partitioning is a technique to reduce interference among tasks accessing the shared caches. To make this technique effective, cache segments must be given to the tasks that can benefit most from having their data and instructions cached for faster execution. The existing partitioning schemes for real-time systems divide the available cache among the tasks to guarantee their schedulability which is the sole optimization criterion. However, it is also preferable, especially in systems with power constraints or mixed criticalities, to reduce the total cache usage for real-time tasks. In this paper, we develop optimization algorithms for cache partitioning that, besides ensuring schedulability, also minimize cache usage. We consider both preemptive and non-preemptive scheduling policies on single-processor systems. For preemptive scheduling, we formulate the problem as an integer quadratically constrained program and propose an efficient heuristic achieving near-optimal solutions. For non-preemptive scheduling, we combine linear and binary search techniques with different schedulability tests. Our experiments based on synthetic task sets with parameters from real-world embedded applications show that the proposed heuristic: (i) achieves an average optimality gap of 0.79% within 0.1x run time of a mathematical programming solver and (ii) reduces average cache usage by 39.15% compared to existing cache partitioning approaches. Besides, we find that for large task sets with high utilization, non-preemptive scheduling can use less cache than preemptive to guarantee schedulability.
引用
收藏
页码:200 / 211
页数:12
相关论文
共 50 条
  • [1] Minimizing WCET for Real-Time Embedded Systems via Static Instruction Cache Locking
    Liu, Tiantian
    Li, Minming
    Xue, Chun Jason
    15TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATION SYMPOSIUM: RTAS 2009, PROCEEDINGS, 2009, : 35 - 44
  • [2] A Stack Cache for Real-Time Systems
    Schoeberl, Martin
    Nielsen, Carsten
    2016 IEEE 19TH INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING (ISORC 2016), 2016, : 150 - 157
  • [3] The use of cache memory in real-time systems
    Milligan, MKJ
    Cragon, HG
    CONTROL ENGINEERING PRACTICE, 1996, 4 (10) : 1435 - 1442
  • [4] Symbolic cache analysis for real-time systems
    Blieberger, J
    Fahringer, T
    Scholz, B
    REAL-TIME SYSTEMS, 2000, 18 (2-3) : 181 - 215
  • [5] Symbolic cache analysis for real-time systems
    Blieberger, Johann
    Fahringer, Thomas
    Scholz, Bernhard
    Real-Time Systems, 2000, 18 (02) : 181 - 215
  • [6] Symbolic Cache Analysis for Real-Time Systems
    Johann Blieberger
    Thomas Fahringer
    Bernhard Scholz
    Real-Time Systems, 2000, 18 : 181 - 215
  • [7] Minimizing Stack and Communication Memory Usage in Real-Time Embedded Applications
    Zeng, Haibo
    Di Natale, Marco
    Zhu, Qi
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2014, 13
  • [8] On the effectiveness of cache partitioning in hard real-time systems
    Altmeyer, Sebastian
    Douma, Roeland
    Lunniss, Will
    Davis, Robert I.
    REAL-TIME SYSTEMS, 2016, 52 (05) : 598 - 643
  • [9] A Cache Design for Probabilistically Analysable Real-time Systems
    Kosmidis, Leonidas
    Abella, Jaume
    Quinones, Eduardo
    Cazorla, Francisco J.
    DESIGN, AUTOMATION & TEST IN EUROPE, 2013, : 513 - 518
  • [10] Evaluation of Cache Partitioning for Hard Real-Time Systems
    Altmeyer, Sebastian
    Douma, Roeland
    Lunniss, Will
    Davis, Robert i.
    2014 26TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS (ECRTS 2014), 2014, : 15 - +