Minimizing cache usage with fixed-priority and earliest deadline first scheduling

被引:2
作者
Sun, Binqi [1 ]
Kloda, Tomasz [2 ]
Garcia, Sergio Arribas [3 ]
Gracioli, Giovani [3 ]
Caccamo, Marco [1 ]
机构
[1] Tech Univ Munich, TUM Sch Engn & Design, Munich, Germany
[2] Univ Toulouse, CNRS, LAAS, INSA, Toulouse, France
[3] Univ Fed Santa Catarina, Florianopolis, Brazil
关键词
Real-time systems; Cache partitioning; Preemptive; Non-preemptive; SCHEDULABILITY ANALYSIS; TIME; BOUNDS; EDF; OPTIMIZATION; PERFORMANCE; ALGORITHMS; SYSTEMS;
D O I
10.1007/s11241-024-09423-7
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Cache partitioning is a technique to reduce interference among tasks running on the processors with shared caches. To make this technique effective, cache segments should be allocated to tasks that will benefit the most from having their data and instructions stored in the cache. The requests for cached data and instructions can be retrieved faster from the cache memory instead of fetching them from the main memory, thereby reducing overall execution time. The existing partitioning schemes for real-time systems divide the available cache among the tasks to guarantee their schedulability as the sole and primary optimization criterion. However, it is also preferable, particularly in systems with power constraints or mixed criticalities where low- and high-criticality workloads are executing alongside, to reduce the total cache usage for real-time tasks. Cache minimization as part of design space exploration can also help in achieving optimal system performance and resource utilization in embedded systems. 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 with fixed- and dynamic-priority scheduling algorithms (Rate Monotonic (RM) and Earliest Deadline First (EDF), respectively). 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 fixed-priority schedulability tests and Quick Processor-demand Analysis (QPA) for EDF. 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.
引用
收藏
页码:625 / 664
页数:40
相关论文
共 98 条
[1]   Selective cache ways: On-demand cache resource allocation [J].
Albonesi, DH .
32ND ANNUAL INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, (MICRO-32), PROCEEDINGS, 1999, :248-259
[2]  
Altmeyer S., 2011, Proceedings of the 2011 IEEE 32nd Real-Time Systems Symposium (RTSS 2011), P261, DOI 10.1109/RTSS.2011.31
[3]   On the effectiveness of cache partitioning in hard real-time systems [J].
Altmeyer, Sebastian ;
Douma, Roeland ;
Lunniss, Will ;
Davis, Robert I. .
REAL-TIME SYSTEMS, 2016, 52 (05) :598-643
[4]   Improved cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems [J].
Altmeyer, Sebastian ;
Davis, Robert I. ;
Maiza, Claire .
REAL-TIME SYSTEMS, 2012, 48 (05) :499-526
[5]   A new Notion of Useful Cache Block to Improve the Bounds of Cache-Related Preemption Delay [J].
Altmeyer, Sebastian ;
Burguiere, Claire .
PROCEEDINGS OF THE 21ST EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, 2009, :109-118
[6]  
[Anonymous], 2014, Embedded Real Time Software (ERTS)
[7]  
[Anonymous], 2008, Valgrind 3.3-Advanced debugging and profiling for GNU/Linux applications
[8]  
AUDSLEY NC, 1991, P 8 IEEE WORKSH REAL, P127, DOI DOI 10.1016/S1474-6670(17)51283-5
[9]  
BAKER TP, 1990, PROCEEDINGS : 11TH REAL-TIME SYSTEMS SYMPOSIUM, P191, DOI 10.1109/REAL.1990.128747
[10]   STACK-BASED SCHEDULING OF REALTIME PROCESSES [J].
BAKER, TP .
REAL-TIME SYSTEMS, 1991, 3 (01) :67-99