Title :
DARTS: Techniques and Tools for Predictably Fast Memory Using Integrated Data Allocation and Real-Time Task Scheduling
Author :
Kang, Sangyeol ; Dean, Alexander G.
Author_Institution :
Dept. of Electr. & Comput. Eng., North Carolina State Univ., Raleigh, NC, USA
Abstract :
Hardware-managed caches introduce large amounts of timing variability, complicating real-time system design. One alternative is a memory system with scratchpad memories which improve system performance while eliminating such timing variability. Prior work introduced the DARTS approach, which combines static allocation of data into scratchpad memories, with task scheduling for preemptive multi-threaded, hard real-time embedded systems.This study offers several significant contributions. First, it introduces a method to split a stack frame across multiple memory units, offering fine-grain allocation of automatic memory variables with very low run-time overhead. This enables more effective use of fast memory, improving run-times. Second, it introduces the completed tool-chain based on DARTS, which reallocates static and automatic variables across multiple memory banks and now targets the ARM7 architecture. Third, it evaluates the performance improvement from DARTS using experimental results from the code running on real hardware in a preemptively scheduled RTOS-based multi-tasking environment. This hands-on experimental approach ensures a high level of confidence in the results; previous studies have generally stopped at estimating performance rather than building and measuring a real implementation.In our experiments the execution time of each task is reduced up to 24% from the baseline external SRAM configurations. We show that our methods improve task execution time to achieve 37% to 99% of the performance improvement of an ideal unlimited-capacity scratchpad memory system. Finally, we find our allocations provide on average 2/3 of the performance enhancement of the equivalently-sized cache yet with easily-predicted performance.
Keywords :
SRAM chips; cache storage; embedded systems; multi-threading; scheduling; ARM7 architecture; DARTS approach; RTOS-based multitasking environment; SRAM; automatic memory variable fine-grain allocation; hard real-time embedded systems; hardware-managed caches; ideal unlimited-capacity scratchpad memory system; integrated data static allocation; multiple memory banks; preemptive multithreading; real-time system design; real-time task scheduling; Delay; Embedded system; Hardware; Processor scheduling; Programming profession; Real time systems; Runtime; Scanning probe microscopy; System performance; Timing; Memory reallocation; Preemption threshold scheduling; Scratchpad memory;
Conference_Titel :
Real-Time and Embedded Technology and Applications Symposium (RTAS), 2010 16th IEEE
Conference_Location :
Stockholm
Print_ISBN :
978-1-4244-6690-0
Electronic_ISBN :
1080-1812
DOI :
10.1109/RTAS.2010.36