CAR-SoC
- Start date: 01.11.2005
- End date: 31.12.2011
- Funded by: DFG (Deutsche Forschungsgemeinschaft)
- Local head of project: Prof. Dr. Theo Ungerer
- Local scientists: Florian Kluge, Jörg Mische
- External scientists / cooperations: Uwe Brinkschulte (University of Karlsruhe, Department of Computer Science), Rafael Zalman (Infineon Technologies AG), HiPEAC Cluster "Investigation of real-time capable embedded SMT processor techniques"
Abstract
CAR-SoC defines a new SoC approach that emphasizes Connectivity, Autonomic computing principles, and Real-time requirements on a chip. The requirements shall be fulfilled by a multithreaded processor core in combination with a reconfigurable architecture. The multithreaded processor core is based on Infineon's TriCore architecture extended by an integrated powerful real-time scheduling. Helper threads running with low priority in own thread slots concurrent to the application implement autonomic managers that monitor relevant on-chip characteristics like processor workload and memory usage. The autonomic managers decide in combination with a middleware if self-optimization, self-configuration, self-protection, or self-healing techniques must be triggered.
Description
The CAR-SoC System Architecture Overview
The following figure presents the CAR-SoC system architecture. Several CAR-SoC nodes can be connected by a real-time middleware transparent to the application. Two closed-control-loops are responsible for the autonomic/organic management: one on the local node level and the other on the middleware level.
The CAR-SoC processor core (CarCore) (Sascha Uhrig and Jörg Mische)
The processor core is based on the architecture of Infineon's TriCore processor. It is extended by the ability of simultaneous multithreading. An internal real-time scheduler should fulfill the hard real-time requirements of a number of threads. The hardware scheduler hides the boundaries of software and hardware threads. It selects several threads out of the systems thread list which will be executed within the multithreaded pipeline. Thread swapping is done automatically without software support, i.e. without software overhead. A powerful scheduling scheme enables thread scheduling similar to the Guaranteed Percentage (GP) scheduling (see Komodo project) in combination with the Least Laxity First (LLF) scheduling.
The Reconfigurable CarCore (Sascha Uhrig and Stefan Maier)
A HiPEAC funded cooperation of the Universities of Augsburg and Delft explores the potentials and problems when combining a multithreaded processor core with reconfigurable hardware within an embedded SoC. The cooperation already resulted in an interface design and System-C implementation that combines the simultaneous multithreaded CAR-SoC processor (called CAR-Core) developed at University of Augsburg with the reconfiguration unit of the MOLEN processor developed at University of Delft. Simulations showed a three-fold speedup on an MJPEG application over the pure software-based execution.
The CAR-SoC system software (Florian Kluge)
Because the CAR-SoC is designed for embedded and ubiquitous systems, an extremely small software kernel is required. We just implement a new system architecture following the mirco-kernel proncipals. The kernel is only responsible for memory and thread management, i.e. thread creation, termination and synchronization. Scheduling is done by the CarCore processor. Additionally, the system kernel is able to link together several libraries and applications. One of these libraries/applications will be the CAR-SoC middleware, which will offer more powerful system functions.
Autonomic/Organic Computing principles (Florian Kluge)
Due to the efficient scheduling, the coexistence of hard-real-time, soft-real-time and non-real-time threads is possible. We will implement several soft- and non-real-time threads which will monitor miscellaneous system parameters. Additionally, so-called Autonomic Managers will analyze the system parameters and if necessary trigger some suitable retaliatory actions to realize the self-X properties.
Publications
2010
- Using SMT to Hide Context Switch Times of Large Real-Time Tasksets
Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer
The 16th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2010) - Dynamic Workload Prediction for Soft Real-Time Applications
Florian Kluge, Sascha Uhrig, Jörg Mische, Benjamin Satzger, Theo Ungerer
Proceedings of 10th IEEE International Conference on Computer and Information Technology (ICESS 2010) - Optimisation of Energy Consumption of Soft Real-Time Applications by Workload Prediction
Florian Kluge, Sascha Uhrig, Jörg Mische, Benjamin Satzger, Theo Ungerer
13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops (First IEEE Workshop on Self-Organizing Real-Time Systems, SORT 2010) - How to Enhance a Superscalar Processor to Provide Hard Real-Time Capable In-Order SMT
Jörg Mische, Irakli Guliashvili, Sascha Uhrig, Theo Ungerer
23rd International Conference on Architecture of Computing Systems, Hannover, Germany, February 22-25, 2010, Proceedings
2009
- Implementing AUTOSAR Scheduling and Resource Management on an Embedded SMT Processor
Florian Kluge, Chenglong Yu, Jörg Mische, Sascha Uhrig, Theo Ungerer
Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems (SCOPES 09) - IPC Control for Multiple Real-Time Threads on an In-Order SMT Processor
Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer
Proceedings of the 4th International Conference on High Performance and Embedded Architectures and Compilers (HiPEAC 2009)
2008
- Exploiting spare resources of in-order SMT processors executing hard real-time threads
Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer
XXVI IEEE International Conference on Computer Design (ICCD 2008) - A Two-Layered Management Architecture for Building Adaptive Real-time Systems
Florian Kluge, Sascha Uhrig, Jörg Mische, Theo Ungerer
Proceedings Software Technologies for Embedded and Ubiquitous Systems, 6th IFIP WG 10.2 International Workshop, SEUS 2008 - An Operating System Architecture for Organic Computing in Embedded Real-Time Environments
Florian Kluge, Jörg Mische, Sascha Uhrig, and Theo Ungerer
5th International Conferenc on Autonomic and Trusted Computing (ATC 2008), Oslo, Norway - Building Adaptive Embedded Systems by Monitoring and Dynamic Loading of Application Modules
Florian Kluge, Jörg Mische, Sascha Uhrig, Theo Ungerer
Workshop on Adaptive and Reconfigurable Embedded Systems (APRES'08)
2007
- Integration of Hard Real-Time and Organic Computing
Florian Kluge, Jörg Mische, Stefan Metzlaff, Sascha Uhrig, Theo Ungerer
ACACES 2007 Poster Abstracts - Use of Helper Threads for OS Support in the Multithreaded Embedded TriCore 2 Processor
Florian Kluge, Jörg Mische, Sascha Uhrig, Theo Ungerer, Rafael Zalmann
Proceedings Work-In-Progress-Session of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium
2006
- CAR-SoC - Towards an Autonomic SoC node
Florian Kluge, Jörg Mische, Sascha Uhrig, Theo Ungerer
ACACES 2006 Poster Abstracts - Coupling of a Reconfigurable Architecture and a Multithreaded Processor Core with Integrated Real-Time Scheduling
Sascha Uhrig, Stefan Maier, Georgy Kuzmanov, Theo Ungerer
13th Reconfigurable Architectures Workshop (RAW 2006)
2005
- Toward a Processor Core for Real-Time Capable Autonomic Systems
Sascha Uhrig, Stefan Maier, Theo Ungerer
Proceedings of the Fifth IEEE International Symposium on Signal Processing and Information Technology, 2005. - Reconfigurable Extension for CarCore
Stefan Maier
Technical Report, Institute of Computer Science, University of Augsburg, September 2005
2005-17
2004
- CARUSO – Project Goals and Principal Approach
Uwe Brinkschulte, Jürgen Becker, Klaus Dorfmüller-Ulhaas, Ralf König, Sascha Uhrig and Theo Ungerer
Workshop on Organic Computing; 34. Jahrestagung der Gesellschaft für Informatik, Ulm, Germany, September 20th to 24th, 2004 - CARUSO – an Approach Towards a Network of Low Power Autonomic Systems on Chips for Embedded Real-time Applications
Uwe Brinkschulte, Jürgen Becker, and Theo Ungerer
Workshop on Parallel and Distributed Real-Time Systems 2004 (WPDRTS04), Santa Fe, New Mexico, April 26th and 27th, 2004