Caches are a source of unpredictability since it is very difficult to predict if a memory access results in a cache hit or miss. In systems running multiple tasks steered by a preempting scheduler, it is even impossible to determine the cache behavior since interrupt-driven schedulers lead to unknown points of time for context switches. Partitioned caches are already used in multi-task environments to increase the cache hit ratio by avoiding mutual eviction of tasks from the cache. For real-time systems, the upper bound of the execution time is one of the most important metrics, called the Worst-Case Execution Time (WCET). In this paper, we use partitioning of instruction caches as a technique to achieve tighter WCET estimations since tasks can not be evicted from their partition by other tasks. We propose a novel WCET-aware cache partitioning algorithm, which determines the optimal partition size for each task with focus on decreasing the system's WCET for a given set of possible partition sizes. Employing this algorithm, we are able to decrease the WCET depending on the number of tasks in a set by up to 34%. On average, reductions between 12% and 19% can be achieved.
@InProceedings{plazar_et_al:OASIcs.WCET.2009.2286, author = {Plazar, Sascha and Lokuciejewski, Paul and Marwedel, Peter}, title = {{WCET-aware Software Based Cache Partitioning for Multi-Task Real-Time Systems}}, booktitle = {9th International Workshop on Worst-Case Execution Time Analysis (WCET'09)}, pages = {1--11}, series = {Open Access Series in Informatics (OASIcs)}, ISBN = {978-3-939897-14-9}, ISSN = {2190-6807}, year = {2009}, volume = {10}, editor = {Holsti, Niklas}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.WCET.2009.2286}, URN = {urn:nbn:de:0030-drops-22860}, doi = {10.4230/OASIcs.WCET.2009.2286}, annote = {Keywords: WCET analysis, cache partitioning} }
Feedback for Dagstuhl Publishing