skip to main content
research-article

A hard real-time capable multi-core SMT processor

Published: 08 April 2013 Publication History

Abstract

Hard real-time applications in safety critical domains require high performance and time analyzability. Multi-core processors are an answer to these demands, however task interferences make multi-cores more difficult to analyze from a worst-case execution time point of view than single-core processors. We propose a multi-core SMT processor that ensures a bounded maximum delay a task can suffer due to inter-task interferences. Multiple hard real-time tasks can be executed on different cores together with additional non real-time tasks. Our evaluation shows that the proposed MERASA multi-core provides predictability for hard real-time tasks and also high performance for non hard real-time tasks.

References

[1]
Andrei, A., Eles, P., Peng, Z., and Rosen, J. 2008. Predictable implementation of real-time applications on multiprocessor systems-on-chip. In Proceedings of the 21st International Conference on VLSI Design (VLSID '08). 103--110.
[2]
Bui, B. D., Caccamo, M., Sha, L., and Martinez, J. 2008. Impact of cache partitioning on multi-tasking real time embedded systems. In Proceedings of the 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'08). 101--110.
[3]
Cassé, H. and Sainrat, P. 2006. OTAWA, a framework for experimenting WCET computations. In Proceedings of the European Congress on Embedded Real-Time Software (ERTS).
[4]
De Bosschere, K., Luk, W., Martorell, X., Navarro, N., O'boyle, M., Pnevmatikatos, D., Ramirez, A., Sainrat, P., Seznec, A., Stenstrom, P., and Temam, O. 2007. High-performance embedded architecture and compilation roadmap. Trans. High Perform. Emded. Archit. Comp. 5--29.
[5]
Egger, B., Kim, C., Jang, C., Nam, Y., Lee, J., and Min, S. L. 2006. A dynamic code placement technique for scratchpad memory using postpass optimization. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES'06). 223--233.
[6]
El-Haj-Mahmoud, A., AL-Zawawi, A. S., Anantaraman, A., and Rotenberg, E. 2005. Virtual multiprocessor: An analyzable, high-performance architecture for real-time computing. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems. 213--224.
[7]
Gerdes, M., Wolf, J., Guliashvili, I., Ungerer, T., Houston, M., Bernat, G., Schnitzler, S., and Regler, H. 2011. Large drilling machine control code - parallelisation and WCET speedup. In Proceedings of the 6th IEEE International Symposium on Industrial Embedded Systems (SIES). 91--94.
[8]
Hansson, A., Goossens, K., Bekooij, M., and Huisken, J. 2009. CoMPSoC: A template for composable and predictable multi-processor system on chips. ACM Transactions on Design Automation of Electronic Systems 14, 1--24.
[9]
Hily, S. and Seznec, A. 1998. Out-of-order execution may not be cost-effective on processors featuring simultaneous multithreading. Tech. rep. RR-3391, INRIA.
[10]
Infineon Technologies AG. 2008. TriCore 1 User's Manual. Infineon Technologies AG. V1.3.8.
[11]
Jacob, B., Ng, S. W., and Wang, D. T. 2008. Memory Systems: Cache, DRAM, Disk. Morgan Kaufmann, San Francisco, CA.
[12]
Janapsatya, A., Ignjatović, A., and Parameswaran, S. 2006. A novel instruction scratchpad memory optimization method based on concomitance metric. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC '06). 612--617.
[13]
JEDEC Solid State Technology Association. 2008. JEDEC DDR2 SDRAM Specification JEDEC Standard No. JESD79-2E. JEDEC Solid State Technology Association.
[14]
Khatib, I. A., Poletti, F., Bertozzi, D., Benini, L., Bechara, M., Khalifeh, H., Jantsch, A., and Nabiev, R. 2006. A multiprocessor system-on-chip for real-time biomedical monitoring and analysis: Architectural design space exploration. In Proceedings of the 43rd Annual Conference on Design Automation (DAC '06). 125--130.
[15]
Lickly, B., Liu, I., Kim, S., Patel, H. D., Edwards, S. A., and Lee, E. A. 2008. Predictable programming on a precision timed architecture. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES '08). 137--146.
[16]
Lundqvist, T. and Stenstrom, P. 1999. Timing anomalies in dynamically scheduled microprocessors. In Proceedings of the 20th IEEE Real-Time Systems Symposium. 12--21.
[17]
May, D. 2009. The XMOS XS1 Architecture Ed. XMOS Ltd.
[18]
Metzlaff, S., Guliashvili, I., Uhrig, S., and Ungerer, T. 2011. A dynamic instruction scratchpad memory for embedded processors managed by hardware. In Proceedings of the Architecture of Computing Systems (ARCS'11). 122--134.
[19]
Metzlaff, S., Uhrig, S., Mische, J., and Ungerer, T. 2008. Predictable dynamic instruction scratchpad for simultaneous multithreaded processors. In Proceedings of the 9th Workshop on MEmory Performance (MEDEA '08). 38--45.
[20]
Mische, J., Guliashvili, I., Uhrig, S., and Ungerer, T. 2010. How to enhance a superscalar processor to provide hard real-time capable in-order SMT. In Proceedings of the 23rd International Conference on Architecture of Computing Systems (ARCS '10)
[21]
Mische, J., Uhrig, S., Kluge, F., and Ungerer, T. 2008. Exploiting spare resources of in-order SMT processors executing hard real-time threads. In Proceedings of the IEEE International Conference on Computer Design (ICCD '08). 371--376.
[22]
Paolieri, M., Quinones, E., Cazorla, F., Bernat, G., and Valero, M. 2009. Hardware support for WCET analysis of hard real-time multicore systems. In Proceedings of the 36th International Symposium on Computer Architecture (ISCA'09).
[23]
Paolieri, M., Quinones, E., Cazorla, F., Davis, R., and Valero, M. 2011. IA3: An interference aware allocation algorithm for multicore hard real-time systems. In Proceedings of RTAS. 433--443.
[24]
Paolieri, M., Quinones, E., Cazorla, F., and Valero, M. 2009. An analyzable memory controller for hard real-time CMPs. IEEE Embedded Systems Letters, 1, 4, 86--90.
[25]
Paolieri, M., Quiones, E., Cazorla, F. J., Wolf, J., Ungerer, T., Uhrig, S., and Petrov, Z. 2011. A software-pipelined approach to multicore execution of timing predictable multi-threaded hard real-time tasks. In Proceedings of the ISORC'11. 233--240.
[26]
Pellizzoni, R. and Caccamo, M. 2007. Toward the predictable integration of real-time cots based systems. In RTSS '07: Proceedings of the 28th IEEE International Real-Time Systems Symposium. 73--82.
[27]
Pitter, C. and Schoeberl, M. 2010. A real-time java chip-multiprocessor. ACM Trans. Embed. Comput. Syst. 10, 9, 1--34.
[28]
Preusser, T. B., Zabel, M., and Spallek, R. G. 2007. Bump-pointer method caching for embedded java processors. In Proceedings of the 5th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'07). 206--210.
[29]
Rapita Systems Ltd. 2008. RapiTime White Paper. http://www.rapitasystems.com/system/files/RapiTime-WhitePaper.pdf.
[30]
Rochange, C., Bonenfant, A., Sainrat, P., Gerdes, M., Wolf, J., Ungerer, T., Petrov, Z., and Mikulu, F. 2010. WCET analysis of a parallel 3D multigrid solver executed on the MERASA Multi-Core. In Proceedings of the 10th Int'l Workshop on Worst-Case Execution-Time Analysis in conjunction with the 22nd Euromicro Int'l Conference on Real-Time Systems. Vol. 268. 92--102.
[31]
Rosen, J., Andrei, A., Eles, P., and Peng, Z. 2007. Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip. In Proceedings of the 28th IEEE International Real-Time Systems Symposium (RTSS '07). 49--60.
[32]
Schoeberl, M. 2004. A time predictable instruction cache for a java processor. In Proceedings of the On the Move to Meaningful Internet Systems 2004: Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES '04). 371--382.
[33]
Tasking. 2005. Tricore v2.2 C Compiler, Assembler, Linker Reference Manual. Tasking.
[34]
Thiele, L. and Wilhelm, R. 2004. Design for time-predictability. In Proceedings of the Design of Systems with Predictable Behaviour (DROPS).
[35]
Ungerer, T., Cazorla, F., Sainrat, P., Bernat, G., Petrov, Z., Rochange, C., Quinones, E., Gerdes, M., Paolieri, M., Wolf, J., Casse, H., Uhrig, S., Guliashvili, I., Houston, M., Kluge, F., Metzlaff, S., and Mische, J. 2010. MERASA: Multicore execution of hard real-time applications supporting analyzability. IEEE Micro 30, 66--75.
[36]
Wang, D., Ganesh, B., Tuaycharoen, N., Baynes, K., Jaleel, A., and Jacob, B. 2005. DRAMsim: A memory system simulator. SIGARCH Comput. Archit. News 33, pp. 100--107.
[37]
Wolf, W. 2007. High-Performance Embedded Computing: Architectures, Applications, and Methodologies. Morgan Kaufmann, San Francisco, CA.

Cited By

View all
  • (2024)Achieving Flexible Performance Isolation on the AMD Xilinx Zynq UltraScale+2024 27th Euromicro Conference on Digital System Design (DSD)10.1109/DSD64264.2024.00045(282-290)Online publication date: 28-Aug-2024
  • (2023)InterPRET: a Time-predictable Multicore ProcessorProceedings of Cyber-Physical Systems and Internet of Things Week 202310.1145/3576914.3587497(331-336)Online publication date: 9-May-2023
  • (2020)Multi-core Devices for Safety-critical SystemsACM Computing Surveys10.1145/339866553:4(1-38)Online publication date: 3-Aug-2020
  • Show More Cited By

Index Terms

  1. A hard real-time capable multi-core SMT processor

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 12, Issue 3
      March 2013
      463 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/2442116
      Issue’s Table of Contents
      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Journal Family

      Publication History

      Published: 08 April 2013
      Accepted: 01 October 2011
      Revised: 01 October 2011
      Received: 01 June 2011
      Published in TECS Volume 12, Issue 3

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Multi-core
      2. SMT
      3. multithreading
      4. real-time
      5. worst-case execution time

      Qualifiers

      • Research-article
      • Research
      • Refereed

      Funding Sources

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)11
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 02 Mar 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Achieving Flexible Performance Isolation on the AMD Xilinx Zynq UltraScale+2024 27th Euromicro Conference on Digital System Design (DSD)10.1109/DSD64264.2024.00045(282-290)Online publication date: 28-Aug-2024
      • (2023)InterPRET: a Time-predictable Multicore ProcessorProceedings of Cyber-Physical Systems and Internet of Things Week 202310.1145/3576914.3587497(331-336)Online publication date: 9-May-2023
      • (2020)Multi-core Devices for Safety-critical SystemsACM Computing Surveys10.1145/339866553:4(1-38)Online publication date: 3-Aug-2020
      • (2020)The Potential of Programmable Logic in the Middle: Cache Bleaching2020 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS48715.2020.00006(296-309)Online publication date: Apr-2020
      • (2019)A Survey of Timing Verification Techniques for Multi-Core Real-Time SystemsACM Computing Surveys10.1145/332321252:3(1-38)Online publication date: 18-Jun-2019
      • (2019)Evaluation and modeling of the supercore parallelization pattern in automotive real-time systemsParallel Computing10.1016/j.parco.2018.12.00481(122-130)Online publication date: Jan-2019
      • (2018)Intra-Task Parallelism in Automotive Real-Time SystemsProceedings of the 9th International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3178442.3178449(61-70)Online publication date: 24-Feb-2018
      • (2018)Increasing resource utilization in mixed-criticality systems using a polymorphic VLIW processorJournal of Systems Architecture10.1016/j.sysarc.2018.01.00384(2-11)Online publication date: Mar-2018
      • (2018)Slack clustering for scheduling frame-based tasks on multicore embedded systemsMicroelectronics Journal10.1016/j.mejo.2018.09.00281(144-153)Online publication date: Nov-2018
      • (2017)Performance impacts and limitations of hardware memory access trace collectionProceedings of the Conference on Design, Automation & Test in Europe10.5555/3130379.3130496(506-511)Online publication date: 27-Mar-2017
      • Show More Cited By

      View Options

      Login options

      Full Access

      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