Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2380403.2380434acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

Static task partitioning for locked caches in multi-core real-time systems

Published: 07 October 2012 Publication History

Abstract

Locking cache lines in hard real-time systems is a common means to ensure timing predictability of data references and to lower bounds on worst-case execution time, especially in a multi-tasking environment. Growing processing demand on multi-tasking real-time systems can be met by employing scalable multi-core architectures, like the recently introduced tile-based architectures. This paper studies the use of cache locking on massive multi-core architectures with private caches in the context of hard real-time systems. In shared cache architectures, a single resource is shared among {\em all} the tasks. However, in scalable cache architectures with private caches, conflicts exist only among the tasks scheduled on one core. This calls for a cache-aware allocation of tasks onto cores. Our work extends the cache-unaware First Fit Decreasing (FFD) algorithm with a Naive locked First Fit Decreasing (NFFD) policy. We further propose two cache-aware static scheduling schemes: (1) Greedy First Fit Decreasing (GFFD) and (2) Colored First Fit Decreasing (CoFFD). This work contributes an adaptation of these algorithms for conflict resolution of partially locked regions. Experiments indicate that NFFD is capable of scheduling high utilization task sets that FFD cannot schedule. Experiments also show that CoFFD consistently outperforms GFFD resulting in lower number of cores and lower system utilization. CoFFD reduces the number of core requirements from 30% to 60% compared to NFFD. With partial locking, the number of cores in some cases is reduced by almost 50% with an increase in system utilization of 10%. Overall, this work is unique in considering the challenges of future multi-core architectures for real-time systems and provides key insights into task partitioning with locked caches for architectures with private caches.

References

[1]
Tilera processor family. http://www.tilera.com/.
[2]
J. Anderson, J. Calandrino, and U. Devi. Real-time scheduling on multicore platforms. In IEEE Real-Time Embedded Technology and Applications Symposium, pages 179--190, Apr. 2006.
[3]
A. Burchard, J. Liebeherr, Y. Oh, and S. Son. New strategies for assigning real-time tasks to multiprocessor systems. IEEE Trans. on Computers, 44(12):1429--1442, 1995.
[4]
J. Calandrino and J. Anderson. Cache-aware real-time scheduling on multicore platforms: Heuristics and a case study. In Euromicro Conference on Real-Time Systems, pages 209--308, July 2008.
[5]
G. J. Chaitin. Register allocation & spilling via graph coloring. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 98--105, 1982.
[6]
S. Chattopadhyay, A. Roychoudhury, and T. Mitra. Modeling shared cache and bus in multi-cores for timing analysis. In Proceedings of the 13th International Workshop on Software & Compilers for Embedded Systems, SCOPES '10, pages 6:1--6:10, New York, NY, USA, 2010. ACM.
[7]
D. Choffnes, M. Astley, and M. J. Ward. Migration policies for multi-core fair-share scheduling. ACM SIGOPS Operating Systems Review, 42:92--93, 2008.
[8]
N. Eisley, L.-S. Peh, and L. Shang. Leveraging on-chip networks for data cache migration in chip multiprocessors. In International conference on Parallel architectures and compilation techniques, pages 197--207, 2008.
[9]
N. Guan, M. Stigge, W. Yi, and G. Yu. Cache-aware scheduling and analysis for multicores. In Proceedings of the seventh ACM international conference on Embedded software, EMSOFT '09, pages 245--254, New York, NY, USA, 2009. ACM.
[10]
D. Hardy, T. Piquet, and I. Puaut. Using bypass to tighten wcet estimates for multi-core processors with shared instruction caches. In Proceedings of the 30th Real-Time Systems Symposium, pages 68--77, Washington D.C., USA, Dec. 2009.
[11]
T. Li, D. Baumberger, D. A. Koufaty, and S. Hahn. Efficient operating system scheduling for performance-asymmetric multi-core architectures. In In ACM/IEEE conference on Supercomputing, pages 1--11, Nov. 2007.
[12]
T. Li, P. Brett, B. Hohlt, R. Knauerhase, S. McElderry, and S. Hahn. Operating system support for shared-isa asymmetric multi-core architectures. In Workshop on the Interaction between Operating Systems and Computer Architecture, pages 19--26, June 2008.
[13]
J. Ouyang and Y. Xie. Loft: A high performance network-on-chip providing quality-of-service support. Microarchitecture, IEEE/ACM International Symposium on, 0:409--420, 2010.
[14]
M. Paolieri, E. QuiÜnones, F. J. Cazorla, G. Bernat, and M. Valero. Hardware support for wcet analysis of hard real-time multicore systems. In ISCA, pages 57--68, 2009.
[15]
I. Puaut. Wcet-centric software-controlled instruction caches for hard real-time systems. In ECRTS '06: Proceedings of the 18th Euromicro Conference on Real-Time Systems, pages 217--226, Washington, DC, USA, 2006. IEEE Computer Society.
[16]
I. Puaut and D. Decotigny. Low-complexity algorithms for static cache locking in multitasking hard real-time systems. In In IEEE Real-Time Systems Symposium, pages 114--123, 2002.
[17]
I. Puaut and C. Pais. Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison. In Proceedings of the conference on Design, automation and test in Europe, pages 1484--1489, San Jose, CA, USA, 2007. EDA Consortium.
[18]
H. Ramaprasad and F. Mueller. Tightening the bounds on feasible preemptions. Transactions on Embedded Computing Systems, Mar. 2008 (accepted).
[19]
V. Suhendra and T. Mitra. Exploring locking & partitioning for predictable shared caches on multi-cores. In Proceedings of the 45th annual Design Automation Conference, pages 300--303, New York, NY, USA, 2008. ACM.
[20]
X. Vera, B. Lisper, and J. Xue. Data caches in multitasking hard real-time systems. In In IEEE Real-Time Systems Symposium, pages 154--165, 2003.

Cited By

View all
  • (2016)On the Design and Evaluation of a Real-Time Operating System for Cache-Coherent Multicore ArchitecturesACM SIGOPS Operating Systems Review10.1145/2883591.288359449:2(2-16)Online publication date: 20-Jan-2016
  • (2015)A Survey on Cache Management Mechanisms for Real-Time Embedded SystemsACM Computing Surveys10.1145/283055548:2(1-36)Online publication date: 3-Nov-2015
  • (2015)Static Task Partitioning for Locked Caches in Multicore Real-Time SystemsACM Transactions on Embedded Computing Systems10.1145/263855714:1(1-30)Online publication date: 21-Jan-2015
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CASES '12: Proceedings of the 2012 international conference on Compilers, architectures and synthesis for embedded systems
October 2012
230 pages
ISBN:9781450314244
DOI:10.1145/2380403
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 October 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. multi-core architectures
  2. real-time systems
  3. timing analysis

Qualifiers

  • Research-article

Conference

ESWEEK'12
ESWEEK'12: Eighth Embedded System Week
October 7 - 12, 2012
Tampere, Finland

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2016)On the Design and Evaluation of a Real-Time Operating System for Cache-Coherent Multicore ArchitecturesACM SIGOPS Operating Systems Review10.1145/2883591.288359449:2(2-16)Online publication date: 20-Jan-2016
  • (2015)A Survey on Cache Management Mechanisms for Real-Time Embedded SystemsACM Computing Surveys10.1145/283055548:2(1-36)Online publication date: 3-Nov-2015
  • (2015)Static Task Partitioning for Locked Caches in Multicore Real-Time SystemsACM Transactions on Embedded Computing Systems10.1145/263855714:1(1-30)Online publication date: 21-Jan-2015
  • (2014)Network-on-Chip aware scheduling of hard-real-time tasksProceedings of the 9th IEEE International Symposium on Industrial Embedded Systems (SIES 2014)10.1109/SIES.2014.6871198(141-150)Online publication date: Jun-2014
  • (2013)An experimental evaluation of the cache partitioning impact on multicore real-time schedulers2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications10.1109/RTCSA.2013.6732205(72-81)Online publication date: Aug-2013

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media