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

  • Hendrik BorghorstEmail author
  • Olaf Spinczyk
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11479)


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.


Operating system Multi-core Component-based design Timing predictability Real-time 


  1. 1.
    Accetta, M., et al.: Mach: a new kernel foundation for UNIX development (1986)Google Scholar
  2. 2.
    Advanced Micro Devices: AMD64 architecture programmer’s manual volume 3: General-purpose and system instructions, December 2017.
  3. 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 2015Google Scholar
  4. 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. 5.
    Intel Corporation: Improving real-time performance by utilizing cache allocation technology, April 2015.
  6. 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). Scholar
  7. 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.
  8. 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.
  9. 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). Scholar
  10. 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).
  11. 11.
    Tullsen, D.M., Eggers, S.J.: Effective cache prefetching on bus-based multiprocessors. ACM Trans. Comput. Syst. 13(1), 57–88 (1995). Scholar
  12. 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.
  13. 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).

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceTU DortmundDortmundGermany
  2. 2.Institute of Computer ScienceOsnabrück UniversityOsnabrückGermany

Personalised recommendations