Embedded Multiprocessors: Scheduling and Synchronization
Embedded Multiprocessors: Scheduling and Synchronization
Real-Time Virtual Resource: A Timely Abstraction for Embedded Systems
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
Analysis of Hierar hical Fixed-Priority Scheduling
ECRTS '02 Proceedings of the 14th Euromicro Conference on Real-Time Systems
Scheduling real-time applications in an open environment
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
Compositional Design of RT Systems: A Conceptual Basis for Specification of Linking Interfaces
ISORC '03 Proceedings of the Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Periodic Resource Model for Compositional Real-Time Guarantees
RTSS '03 Proceedings of the 24th IEEE International Real-Time Systems Symposium
Symbian OS Internals
A methodology for designing hierarchical scheduling systems
Journal of Embedded Computing - Real-Time Systems (Euromicro RTS-03)
The role of virtualization in embedded systems
Proceedings of the 1st workshop on Isolation and integration in embedded systems
Distributed Resource Kernels: OS Support for End-To-End Resource Isolation
RTAS '08 Proceedings of the 2008 IEEE Real-Time and Embedded Technology and Applications Symposium
CoMPSoC: A template for composable and predictable multi-processor system on chips
ACM Transactions on Design Automation of Electronic Systems (TODAES)
VM-Based Real-Time Services for Automotive Control Applications
RTCSA '10 Proceedings of the 2010 IEEE 16th International Conference on Embedded and Real-Time Computing Systems and Applications
Design and implementation of an operating system for composable processor sharing
Microprocessors & Microsystems
The CompSOC design flow for virtual execution platforms
Proceedings of the 10th FPGAworld Conference
Journal of Systems Architecture: the EUROMICRO Journal
Hi-index | 0.00 |
Systems-on-Chip (SoCs) typically implement complex applications, each consisting of multiple tasks. Several applications share the SoC cores, to reduce cost. Applications have mixed time-criticality, i.e., real-time or not, and are typically developed together with their schedulers, by different parties. Composability, i.e., complete functional and temporal isolation between applications, is an SoC property required to enable fast integration and verification of applications. To achieve composability, an Operating System (OS) allocates processor time in quanta of constant duration. The OS executes first the application scheduler, then the corresponding task scheduler, to determine which task runs next. As the OS should be a trusted code base, both inter- and intra-application schedulers should be thoroughly analysed and verified. This is required anyway for real-time intra-application schedulers. But for non-real-time applications, a costly effort is required to achieve the desired confidence level in their intra-application schedulers. In this paper we propose a light-weight, real-time OS implementation that overcomes these limitations. It separates the two arbitration levels, and requires only the inter-application scheduler to run in OS time. The intra-application scheduler runs in user time, and is therefore not trusted code. This approach allows each application to execute its own specialised task scheduler. We evaluated the practical implications of our proposal on an SoC modelled in FPGA, running an H264 and a JPEG decoder and we found that composability is preserved and performance is improved with up to 37%.