Skip to main content

CyPhOS – A Component-Based Cache-Aware Multi-core Operating System

  • Conference paper
  • First Online:
Architecture of Computing Systems – ARCS 2019 (ARCS 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11479))

Included in the following conference series:

Abstract

Off-the-shelf multi-core processors provide a cost-efficient alternative to expensive special purpose processors at the cost of complex time predictability due to shared resources like buses, caches and the memory itself. This paper presents an operating system concept that takes control over the shared cache to minimize contention, by creating a component-based operating system, that is structured in small data chunks to allow better control over data and code movement in and out of the cache. An evaluation of the operating system shows that the system is able to reduce the difference between the ACET and observed WCET of a synthetic memory load test by 93% for ARM and 98% for Intel systems. Some noteworthy improvements were also achieved for the TACLe benchmarks.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Evaluated on an Intel Xeon E5-1620 v4 processor with 20 cache ways.

  2. 2.

    Verified on NXP i.MX6 and Samsung Exynos 4412.

  3. 3.

    The source code of the prototype implementation is available under: https://github.com/ESS-Group/CyPhOS.

  4. 4.

    https://developer.amd.com/wp-content/resources/56375.pdf.

References

  1. Accetta, M., et al.: Mach: a new kernel foundation for UNIX development (1986)

    Google Scholar 

  2. Advanced Micro Devices: AMD64 architecture programmer’s manual volume 3: General-purpose and system instructions, December 2017. http://support.amd.com/TechDocs/24594.pdf

  3. Borghorst, H., Spinczyk, O.: Increasing the predictability of modern COTS hardware through cache-aware OS-design. In: Proceedings of the 11th Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT 2015), July 2015

    Google Scholar 

  4. Falk, H., et al.: TACLeBench: a benchmark collection to support worst-case execution time research. In: Schoeberl, M. (ed.) 16th International Workshop on Worst-Case Execution Time Analysis (WCET 2016). OpenAccess Series in Informatics (OASIcs), vol. 55, pp. 2:1–2:10. Schloss Dagstuhl-Leibniz-Zentrum für Informatik, Dagstuhl (2016)

    Google Scholar 

  5. Intel Corporation: Improving real-time performance by utilizing cache allocation technology, April 2015. https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/cache-allocation-technology-white-paper.pdf

  6. Levis, P., et al.: TinyOS: an operating system for sensor networks. In: Weber, W., Rabaey, J.M., Aarts, E. (eds.) Ambient Intelligence, pp. 115–148. Springer, Heidelberg (2005). https://doi.org/10.1007/3-540-27139-2_7

    Chapter  Google Scholar 

  7. Liedtke, J., Härtig, H., Hohmuth, M.: OS-controlled cache predictability for real-time systems. In: Proceedings Third IEEE Real-Time Technology and Applications Symposium, pp. 213–224, June 1997. https://doi.org/10.1109/RTTAS.1997.601360

  8. Mancuso, R., Dudko, R., Betti, E., Cesati, M., Caccamo, M., Pellizzoni, R.: Real-time cache management framework for multi-core architectures. In: 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS), pp. 45–54, April 2013. https://doi.org/10.1109/RTAS.2013.6531078

  9. Mendlson, A., Pinter, S.S., Shtokhamer, R.: Compile time instruction cache optimizations. In: Fritzson, P.A. (ed.) CC 1994. LNCS, vol. 786, pp. 404–418. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-57877-3_27

    Chapter  Google Scholar 

  10. Mueller, F.: Compiler support for software-based cache partitioning. In: Proceedings of the ACM SIGPLAN 1995 Workshop on Languages, Compilers & Tools for Real-time Systems, LCTES 1995, pp. 125–133. ACM, New York (1995). https://doi.org/10.1145/216636.216677

  11. Tullsen, D.M., Eggers, S.J.: Effective cache prefetching on bus-based multiprocessors. ACM Trans. Comput. Syst. 13(1), 57–88 (1995). https://doi.org/10.1145/200912.201006

    Article  Google Scholar 

  12. Ward, B.C., Herman, J.L., Kenna, C.J., Anderson, J.H.: Making shared caches more predictable on multicore platforms. In: 2013 25th Euromicro Conference on Real-Time Systems, pp. 157–167, July 2013. https://doi.org/10.1109/ECRTS.2013.26

  13. Zhang, X., Dwarkadas, S., Shen, K.: Towards practical page coloring-based multicore cache management. In: Proceedings of the 4th ACM European Conference on Computer Systems, EuroSys 2009, pp. 89–102. ACM, New York (2009). https://doi.org/10.1145/1519065.1519076

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hendrik Borghorst .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Borghorst, H., Spinczyk, O. (2019). CyPhOS – A Component-Based Cache-Aware Multi-core Operating System. In: Schoeberl, M., Hochberger, C., Uhrig, S., Brehm, J., Pionteck, T. (eds) Architecture of Computing Systems – ARCS 2019. ARCS 2019. Lecture Notes in Computer Science(), vol 11479. Springer, Cham. https://doi.org/10.1007/978-3-030-18656-2_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-18656-2_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-18655-5

  • Online ISBN: 978-3-030-18656-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics