Abstract
This paper proposes an architecture for concurrent scheduling of hard, soft and non real-time threads in embedded systems. It is based on a superscalar in-order processor binary compatible to the Infineon TriCore. The architecture allows a tight static WCET analysis of hard real-time threads. To provide high performance anyway, the absence of speculative elements like branch prediction and out-of-order execution is compensated by multithreading, transforming the processor into an in-order SMT processor.
The Priority Controller that manages the scheduling is able (1) to assign fixed portions of time to hard real-time threads, (2) to control the IPC of soft real-time threads and (3) to fairly distribute execution cycles to non real-time threads. It is located within a separate unit outside the pipeline to avoid prolonging the critical path.
We evaluate the processor using the EEMBC automotive benchmarks and show that the overlapping of two soft real-time threads can be used to either reduce the clock rate by 23% or to grant each thread 65% of its single-threaded IPC. Even if a hard real-time thread is executed predominantly, the remaining resources can be used by concurrent soft real-time threads which reach a performance of 70% compared to their single-threaded execution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Siemens VDO: IAA 2007: A New direction in electronics architecture –A Modular concept enables new functions. Press release SV 200709.007 en
Mische, J., Uhrig, S., Kluge, F., Ungerer, T.: Exploiting Spare Resources of In-order SMT Processors Executing Hard Real-time Threads. In: Proceedings of the 26th IEEE International Conference on Computer Design (October 2008)
Tullsen, D.M., Eggers, S.J., Emer, J.S., Levy, H.M., Lo, J.L., Stamm, R.L.: Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor. In: Proceedings of the 23rd Annual International Symposium on Computer Architecture, pp. 191–202 (May 1996)
Raasch, S.E., Reinhardt, S.K.: Applications of Thread Prioritization in SMT Processors. In: Proceedings of the 1999 Workshop on Multithreaded Execution, Architecture, and Compilation (January 1999)
Jain, R., Hughes, C.J., Adve, S.V.: Soft Real-Time Scheduling on Simultaneous Multithreaded Processors. In: Proceedings of the 23rd IEEE International Real-Time Systems Symposium, pp. 134–145 (December 2002)
Cazorla, F.J., Knijnenburg, P.M., Sakellariou, R., Fernández, E., Ramirez, A., Valero, M.: Predictable Performance in SMT Processors. In: Proceedings of the 1st Conference on Computing Frontiers, pp. 433–443 (April 2004)
Yamasaki, N., Magaki, I., Itou, T.: Prioritized SMT Architecture with IPC Control Method for Real-Time Processing. In: Proceedings of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 12–21 (April 2007)
Dorai, G.K., Yeung, D., Choi, S.: Optimizing SMT Processors for High Single-Thread Performance. Journal of Instruction-Level Parallelism 5 (April 2003)
Dorai, G.K., Yeung, D.: Transparent Threads: Resource Sharing in SMT Processors for High Single-thread Performance. In: Proceedings of the 11th International Conference on Parallel Architectures and Compilation Techniques, pp. 30–41 (September 2002)
Kreuzinger, J., Schulz, A., Pfeffer, M., Ungerer, T., Brinkschulte, U., Krakowski, C.: Real-time Scheduling on Multithreaded Processors. In: 7th Int. Conference on Real-Time Computing Systems and Applications, pp. 155–159 (December 2000)
Brinkschulte, U., Pacher, M.: Implementing Control Algorithms Within a Multithreaded Java Microcontroller. In: Beigl, M., Lukowicz, P. (eds.) ARCS 2005. LNCS, vol. 3432, pp. 33–49. Springer, Heidelberg (2005)
El-Haj-Mahmoud, A., AL-Zawawi, A.S., Anantaraman, A., Rotenberg, E.: Virtual Multiprocessor: An Analyzable, High-Performance Architecture for Real-Time Computing. In: Proceedings of the 2005 International Conference on Compilers, Architectures and Synthesis for Embedded Systems, pp. 213–224 (2005)
Anantaraman, A., Seth, K., Patil, K., Rotenberg, E., Mueller, F.: Virtual simple architecture (VISA): exceeding the complexity limit in safe real-time systems. In: ISCA 2003: Proceedings of the 30th annual international symposium on Computer architecture, pp. 350–361 (2003)
Infineon Technologies AG: TriCore 1 User’s Manual. V1.3.8 (January 2008)
Liu, C.L., Layland, J.W.: Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. Journal of the ACM 20(1), 46–61 (1973)
Uhrig, S., Wiese, J.: Jamuth – An IP Processor Core for Embedded Java Real-Time Systems. In: Proceedings of the 5th International Workshop on Java Technologies for Real-time and Embedded Systems, pp. 230–237 (September 2007)
EEMBC: AutoBench 1.1 Software Benchmark Data Book, http://www.eembc.com/TechLit/Datasheets/autobench_db.pdf
HighTec EDV-Systeme GmbH: Website, http://www.hightec-rt.com/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mische, J., Uhrig, S., Kluge, F., Ungerer, T. (2009). IPC Control for Multiple Real-Time Threads on an In-Order SMT Processor. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds) High Performance Embedded Architectures and Compilers. HiPEAC 2009. Lecture Notes in Computer Science, vol 5409. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92990-1_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-92990-1_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-92989-5
Online ISBN: 978-3-540-92990-1
eBook Packages: Computer ScienceComputer Science (R0)