In order to deal with real time constraints, current embedded processors are usually simple in-order processors with no speculation capabilities to ensure that execution times of applications are predictable. However, embedded systems require ever more compute power and the trend is that they will become as complex as current high performance systems. SMTs are viable candidates for future high performance embedded processors, because of their good cost/performance trade-off. However, current SMTs exhibit unpredictable performance. Hence, the SMT hardware needs to be adapted in order to meet real time constraints. This paper is a first step toward the use of high performance SMT processors in future real time systems. We present a novel collaboration between OS and SMT processors that entails that the OS exercises control over how resources are shared inside the processor. We illustrate this collaboration by a mechanism in which the OS cooperates with the SMT hardware to guarantee that a given thread runs at a specific speed, enabling SMT for real-time systems.

Additional Metadata
Conference 12th European Signal Processing Conference, EUSIPCO 2004
Cazorla, F.J. (F. J.), Knijnenburg, P.M.W. (P. M.W.), Sakellariou, R. (R.), Fernandez, E. (E.), Ramirez, A, & Valero, M. (M.). (2015). Enabling SMT for real-time embedded systems. In European Signal Processing Conference (pp. 1341–1344).