Title: SACR: Scheduling-Aware Cache Reconfiguration for Real-Time Embedded Systems
1SACR Scheduling-Aware Cache Reconfiguration for
Real-Time Embedded Systems
- Weixun Wang and Prabhat Mishra
- Embedded Systems Lab
- Computer and Information Science and Engineering
- University of Florida
- Ann Gordon-Ross
- Electrical and Computer Engineering
- University of Florida
2Outline
- Introduction
- Related Work
- Scheduling-Aware Cache Reconfigurations
- Phase-based Optimal Cache Selection
- Scheduling-Aware Dynamic Reconfigurations
- Experiments
- Conclusion
3Introduction
- Real-time embedded systems
- Energy constraints (battery operated)
- Time constrained
- Hard task deadlines
- Safety-critical systems
- Soft task deadlines
- Gaming, multimedia, housekeeping devices have
soft deadlines - Deadline miss results in temporary
service/quality degradation - Dynamic cache reconfigurations
- Promising for improving energy and performance
- Not applicable in real-time systems
- Dynamic computation is expensive
- Dynamic reconfiguration leads to timing
uncertainty
Propose a scheduling-aware dynamic cache
reconfiguration technique to generate
significant energy savings in soft real-time
systems by exploiting static analysis during
runtime.
4Outline
- Introduction
- Related Work
- Scheduling-Aware Cache Reconfigurations
- Phase-based Optimal Cache Selection
- Scheduling-Aware Dynamic Reconfigurations
- Experiments
- Conclusion
5Related Work
- Energy-aware task scheduling techniques
- Early Deadline First (EDF) and Rate Monotonic
(RM) - Dynamic Voltage Scaling (DVS)
- Jejurikar et al. IEEE TCAD 06, Quan et al.
ACM TECS 07 - Caches in Real-Time Systems
- Cache locking and Cache Partitioning
- Puant RTSS 02 and Wolfe IWRCS 1993
- Cache-related preemption delay analysis
- Tan et al. ACM TECS 2007
- Reconfigurable Cache Architectures
- Reconfigurable cache architecture
- Zhang et al. ACM TECS 05
- Application-based vs. Phase-based tuning
- Gordon-Ross et al. ISLPED 05 vs. Sherwood et
al. Micro 03
6Outline
- Introduction
- Related Work
- Scheduling-Aware Cache Reconfigurations
- Phase-based Optimal Cache Selection
- Scheduling-Aware Dynamic Reconfigurations
- Experiments
- Conclusion
7Overview
Task 1
Task 2
In traditional real-time systems
In our approach
8Phase-based Optimal Cache Selection
- A task is divided by n potential preemption
points - A phase is the period of time between a
predefined potential preemption point and task
completion - Each phase has its optimal cache configuration
- Performance-optimal and energy-optimal
- A static profile table is generated for each task
Pn-1
P1
P2
0
Task Execution Time
phase n (n-1/n)
Cn
phase 3 (2/n)
C3
phase 2 (1/n)
C2
phase 1 (0/n)
C1
9Phase-based Optimal Cache Selection
- Potential preemption points may not be the same
as actual preemption points. - They are used for cache configuration selection.
- Partition factor determines the potential
preemption points and resulting phases - Large partition factor leads to large look-up
table - Not feasible due to area constraints
- Large partition factor may not save more energy
- Partition factor around 4 to 7 is profitable
10Outline
- Introduction
- Related Work
- Scheduling-Aware Cache Reconfigurations
- Phase-based Optimal Cache Selection
- Scheduling-Aware Dynamic Reconfigurations
- Statically Scheduled Systems
- Dynamically Scheduled Systems
- Experiments
- Conclusion
11Scheduling-Aware Cache Reconfiguration
- Statically scheduled systems
- Arrival times, execution times, and deadlines are
known a priori for each task - Statically profile energy-optimal configurations
for every execution period of each task without
violating any task deadlines - Dynamically scheduled systems
- Task preemption points are unknown
- New tasks can enter the system at any time
- Conservative approach
- Aggressive approach
12Conservative Approach
- Energy-optimal cache configuration with equal or
higher performance than base cache - Nearest-neighbor
- Use the nearest partition point to decide which
cache configuration to tune to
- Static Profile table
- Deadline-aware energy-optimal configurations
- Task list entry
- Runtime information
13Aggressive Approach
- Energy-optimal cache configuration
Performance-optimal cache configuration - Includes their execution time as well.
- Ready task list (RTL)
- Contains all the tasks currently in the system
- Static Profile table
- Energy-opt configuration
- Perf.-optimal configuration
- Task list entry
- Runtime information
14Outline
- Introduction
- Related Work
- Scheduling-Aware Cache Reconfigurations
- Phase-based Optimal Cache Selection
- Scheduling-Aware Dynamic Reconfigurations
- Experiments
- Conclusion
15Experimental Setup
- SimpleScalar to obtain simulation statistics
- Used external I/O (eio) trace file, checkpointing
and fastforwarding to generate static profile
table - Energy model
- Zhang et al. and CACTI 4.2
- Benchmarks
- EEMBC
- MediaBench
16Energy Savings (Instruction Cache)
28 average energy savings using conservative
approach
51 average energy saving using aggressive
approach
17Energy Savings (Data Cache)
17 average energy savings using conservative
approach
22 average energy saving using aggressive
approach
17
18Hardware Overhead
- Profile Table stores 18 cache configurations
- Synthesized using Synopsys Design Compiler
- Assumed lookup frequency of one million
nanoseconds - Table lookup every 500K cycles using 500 MHz CPU
- Average energy penalty is 450 nJ
- Less than 0.02 of overall savings (2825563 nJ)
19Conclusion
- Dynamic cache reconfiguration is a promising
approach to improve both energy consumption and
overall performance. - Developed a scheduling aware dynamic cache
reconfiguration technique - On average 50 reduction in overall cache energy
consumption in soft real-time systems - Future work
- Hard real-time systems
- Multi-core and multi-processor systems
20 21Aggressive Approach
- When task T is the only task in the system
- Always tune to energy-optimal cache if possible
- When task T preempts another task
- Run schedulability check
- Discard the lowest priority task if absolutely
necessary - Tune to energy-optimal cache
- if all other tasks in RTL can meet their
deadlines using their performance-optimal caches - When task T is preempted by another task
- Calculate and store runtime information (RIN, CP)