Binqi Sun, Debayan Roy, Tomasz Kloda, Andrea Bastoni, Rodolfo Pellizzoni, Marco Caccamo
{"title":"协同优化缓存分区和多核任务调度:利用缓存敏感性与否?","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":"{\"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}","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}
Co-Optimizing Cache Partitioning and Multi-Core Task Scheduling: Exploit Cache Sensitivity or Not?
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.