Binqi Sun, Debayan Roy, Tomasz Kloda, Andrea Bastoni, Rodolfo Pellizzoni, Marco Caccamo
{"title":"Co-Optimizing Cache Partitioning and Multi-Core Task Scheduling: Exploit Cache Sensitivity or Not?","authors":"Binqi Sun, Debayan Roy, Tomasz Kloda, Andrea Bastoni, Rodolfo Pellizzoni, Marco Caccamo","doi":"arxiv-2310.02959","DOIUrl":null,"url":null,"abstract":"Cache partitioning techniques have been successfully adopted to mitigate\ninterference among concurrently executing real-time tasks on multi-core\nprocessors. Considering that the execution time of a cache-sensitive task\nstrongly depends on the cache available for it to use, co-optimizing cache\npartitioning and task allocation improves the system's schedulability. In this\npaper, we propose a hybrid multi-layer design space exploration technique to\nsolve this multi-resource management problem. We explore the interplay between\ncache partitioning and schedulability by systematically interleaving three\noptimization layers, viz., (i) in the outer layer, we perform a breadth-first\nsearch combined with proactive pruning for cache partitioning; (ii) in the\nmiddle layer, we exploit a first-fit heuristic for allocating tasks to cores;\nand (iii) in the inner layer, we use the well-known recurrence relation for the\nschedulability analysis of non-preemptive fixed-priority (NP-FP) tasks in a\nuniprocessor setting. Although our focus is on NP-FP scheduling, we evaluate\nthe flexibility of our framework in supporting different scheduling policies\n(NP-EDF, P-EDF) by plugging in appropriate analysis methods in the inner layer.\nExperiments show that, compared to the state-of-the-art techniques, the\nproposed framework can improve the real-time schedulability of NP-FP task sets\nby an average of 15.2% with a maximum improvement of 233.6% (when tasks are\nhighly cache-sensitive) and a minimum of 1.6% (when cache sensitivity is low).\nFor such task sets, we found that clustering similar-period (or mutually\ncompatible) tasks often leads to higher schedulability (on average 7.6%) than\nclustering by cache sensitivity. In our evaluation, the framework also achieves\ngood results for preemptive and dynamic-priority scheduling policies.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"17 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-10-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2310.02959","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Cache partitioning techniques have been successfully adopted to mitigate
interference among concurrently executing real-time tasks on multi-core
processors. Considering that the execution time of a cache-sensitive task
strongly depends on the cache available for it to use, co-optimizing cache
partitioning and task allocation improves the system's schedulability. In this
paper, we propose a hybrid multi-layer design space exploration technique to
solve this multi-resource management problem. We explore the interplay between
cache partitioning and schedulability by systematically interleaving three
optimization layers, viz., (i) in the outer layer, we perform a breadth-first
search combined with proactive pruning for cache partitioning; (ii) in the
middle layer, we exploit a first-fit heuristic for allocating tasks to cores;
and (iii) in the inner layer, we use the well-known recurrence relation for the
schedulability analysis of non-preemptive fixed-priority (NP-FP) tasks in a
uniprocessor setting. Although our focus is on NP-FP scheduling, we evaluate
the flexibility of our framework in supporting different scheduling policies
(NP-EDF, P-EDF) by plugging in appropriate analysis methods in the inner layer.
Experiments show that, compared to the state-of-the-art techniques, the
proposed framework can improve the real-time schedulability of NP-FP task sets
by an average of 15.2% with a maximum improvement of 233.6% (when tasks are
highly cache-sensitive) and a minimum of 1.6% (when cache sensitivity is low).
For such task sets, we found that clustering similar-period (or mutually
compatible) tasks often leads to higher schedulability (on average 7.6%) than
clustering by cache sensitivity. In our evaluation, the framework also achieves
good results for preemptive and dynamic-priority scheduling policies.