ACM Home Page
Please provide us with feedback. Feedback
Cache-aware scheduling and analysis for multicores
Full text PdfPdf (605 KB)
Source
International Conference on Compilers, Architecture and Synthesis for Embedded Systems archive
Proceedings of the seventh ACM international conference on Embedded software table of contents
Grenoble, France
SESSION: Time predictability and memory management table of contents
Pages 245-254  
Year of Publication: 2009
ISBN:978-1-60558-627-4
Authors
Nan Guan  Uppsala University, Uppsala, Sweden
Martin Stigge  Uppsala University, Uppsala, Sweden
Wang Yi  Uppsala University, Uppsala, Sweden
Ge Yu  Northeastern University, China, Shenyang, China
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 23,   Downloads (12 Months): 23,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1629335.1629369
What is a DOI?

ABSTRACT

The major obstacle to use multicores for real-time applications is that we may not predict and provide any guarantee on real-time properties of embedded software on such platforms; the way of handling the on-chip shared resources such as L2 cache may have a significant impact on the timing predictability. In this paper, we propose to use cache space isolation techniques to avoid cache contention for hard real-time tasks running on multicores with shared caches. We present a scheduling strategy for real-time tasks with both timing and cache space constraints, which allows each task to use a fixed number of cache partitions, and makes sure that at any time a cache partition is occupied by at most one running task. In this way, the cache spaces of tasks are isolated at run-time.

As technical contributions, we have developed a sufficient schedulability test for non-preemptive fixed-priority scheduling for multicores with shared L2 cache, encoded as a linear programming problem. To improve the scalability of the test, we then present our second schedulability test of quadratic complexity, which is an over approximation of the first test. To evaluate the performance and scalability of our techniques, we use randomly generated task sets. Our experiments show that the first test which employs an LP solver can easily handle task sets with thousands of tasks in minutes using a desktop computer. It is also shown that the second test is comparable with the first one in terms of precision, but scales much better due to its low complexity, and is therefore a good candidate for efficient schedulability tests in the design loop for embedded systems or as an on-line test for admission control.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
J. Anderson and J. Calandrino. Parallel real-time task scheduling on multicore platforms. RTSS, 2006.
 
2
J. Anderson, J. Calandrino, and U. Devi. Real-time scheduling on multicore platforms. RTAS, 2006.
 
3
B. Andersson, S. Baruah, and J. Jonsson. Static-priority scheduling on multiprocessors. In RTSS, 2001.
 
4
T. P. Baker. Multiprocessor EDF and deadline monotonic schedulability analysis. In RTSS, 2003.
 
5
T. P. Baker. A comparison of global and partitioned edf schedulability tests for multiprocessors. In Technical Report, Florida State University, 2005.
 
6
S. Baruah. Techniques for multiprocessor global schedulability analysis. In RTSS, 2007.
 
7
M. Berkelaar. lp solve: a mixed integer linear program solver. In Relatorio Tecnico, Eindhoven University of Technology, 1999.
 
8
B. K. Bershad, B. J. Chen, D. Lee, and T. H. Romer. Avoiding conflict misses dynamically in large direct mapped caches. In ASPLOS, 1994.
 
9
Marko Bertogna, Michele Cirinei, and Giuseppe Lipari. Improved schedulability analysis of edf on multiprocessor platforms. In ECRTS, 2005.
 
10
B.D. Bui, M. Caccamo, L. Sha, and J. Martinez. Impact of cache partitioning on multi-tasking real time embedded systems. In RTCSA, 2008.
 
11
J. Vicente Busquets-Mataix and A. Wellings. Hybrid instruction cache partitioning for preemptive real-time systems. In ECRTS, 1997.
 
12
J. Calandrino and J. Anderson. Cache-aware real-time scheduling on multicore platforms: Heuristics and a case study. In ECRTS, 2008.
 
13
D. Chandra, F. Guo, S. Kim, and Y. Solihin. Predicting inter-thread cache contention on a multi-processor architecture. In HPCA, 2005.
 
14
D. Chiou, S. Devadas, L. Rudolph, and B. S. Ang. Dynamic cache partitioning via columnization. In Technical Report, MIT, 1999.
 
15
K. Danne and M. Platzner. An edf schedulability test for periodic tasks on reconfigurable hardware devices. In LCTES, 2006.
 
16
S. Dropsho and C. Weems. Comparing caching techniques for multitasking real-time systems. In Technical Report, University of Massachusetts-Amherst, 1997.
 
17
A. Fedorova, M. Seltzer, C. Small, and D. Nussbaum. Throughput-oriented scheduling on chip multithreading systems. Technical Report, Harvard University, 2005.
 
18
N. Fisher, J. Anderson, and S. Baruah. Task partitioning upon memory-constrained multiprocessors. In RTCSA, 2005.
 
19
N. Guan, Q. Deng, Z. Gu, W. Xu, and G. Yu. Schedulability analysis of preemptive and non-preemptive edf on partial runtime-reconfigurable fpgas. In ACM Transaction on Design Automation of Electronic Systems, volume 13, 2008.
 
20
N. Guan, M. Stigge, W. Yi, and G. Yu. Cache-aware scheduling and analysis for multicores. In Technical Report, Uppsala University, (http://user.it.uu.se/~yi), 2009.
 
21
N. Guan, W. Yi, Z. Gu, Q. Deng, and G. Yu. New schedulability test conditions for non-preemptive scheduling on multiprocessor platforms. In RTSS, 2008.
 
22
N. Guan, W. Yi, Z. Gu, Q. Deng, and G. Yu. New schedulability test conditions for non-preemptive scheduling on multiprocessor platforms. In RTSS, 2008.
 
23
J. Liedtke, H. Hartig, and M. Hohmuth. Os-controlled cache predictability for real-time systems. In RTAS, 1997.
 
24
M. Paolieri, E. Quinones, F. Cazorla, G. Bernat, and M. Valero. Hardware support for wcet analysis of hard real-time multicore systems. In ISCA, 2009.
 
25
J. Rosen, A. Andrei, P. Eles, and Z. Peng. Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip. In RTSS, 2007.
 
26
H. Salamy and J. Ramanujam. A framework for task scheduling and memory partitioning for multi-processor system-on-chip. In HiPEAC, 2009.
 
27
V. Suhendra and T. Mitra. Exploring locking and partitioning for predictable shared caches on multi-cores. In DAC, 2008.
 
28
V. Suhendra, C. Raghavan, and T. Mitra. Integrated scratchpad memory optimization and task scheduling for mpsoc architectures. In CASES, 2006.
 
29
D. Tam, R. Azimi, and M. Stumm L. Soares. Managing shared l2 caches on multicore systems in software. In WIOSCA, 2007.
 
30
R. Wilhelm, J. Engblom, A. Ermedahl, N. Holsti, S. Thesing, D. Whalley, G. Bernat, C. Ferdinand, R. Heckmann, T. Mitra, F. Mueller, I. Puaut, P. Puschner, J. Staschulat, and P. Stenstrom. The worst-case execution-time problem|overview of methods and survey of tools. In ACM Transaction on Embedded Computing Systems, 2008.
 
31
A. Wolfe. Software-based cache partitioning for real-time applications. In Journal of Computer Software Engineering, 1994.
 
32
J. Yan and W. Zhang. Wcet analysis for multi-core processors with shared l2 instruction caches. In RTAS, 2008.