Partitioning real-time systems on multiprocessors with shared resources
OPODIS'10 Proceedings of the 14th international conference on Principles of distributed systems
Sharing resources among independently-developed systems on multi-cores
ACM SIGBED Review
Real-time resource-sharing under clustered scheduling: mutex, reader-writer, and k-exclusion locks
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Task synchronization and allocation for many-core real-time systems
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Optimization of task allocation and priority assignment in hard real-time distributed systems
ACM Transactions on Embedded Computing Systems (TECS)
The scheduling problem of self-suspending periodic real-time tasks
Proceedings of the 20th International Conference on Real-Time and Network Systems
Energy-aware real-time task synchronization in multi-core embedded systems
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Timing analysis of multi-mode applications on AUTOSAR conform multi-core systems
Proceedings of the Conference on Design, Automation and Test in Europe
Fine-grained multiprocessor real-time locking with improved blocking
Proceedings of the 21st International conference on Real-Time Networks and Systems
Exploring the design space of multiprocessor synchronization protocols for real-time systems
Journal of Systems Architecture: the EUROMICRO Journal
Hi-index | 0.00 |
Chip-multiprocessors represent a dominant new shift in the field of processor design. Better utilization of such technology in the real-time context requires coordinated approaches to task allocation, scheduling, and synchronization. In this paper, we characterize various scheduling penalties arising from multiprocessor task synchronization, including (i) blocking delays on global critical sections, (ii) back-to-back execution due to jitter from blocking, and (iii) multiple priority inversions due to remote resource sharing. We analyze the impact of these scheduling penalties under different execution control policies (ECPs) which compensate for the scheduling penalties incurred by tasks due to remote blocking. Subsequently, we develop a synchronization-aware task allocation algorithm for explicitly accommodating these global task synchronization penalties. The key idea of our algorithm is to bundle tasks that access a common shared resource and co-locate them, thereby transforming global resource sharing into local sharing. This approach reduces the above-mentioned penalties associated with remote task synchronization. Experimental results indicate that such a coordinated approach to scheduling, allocation, and synchronization yields significant benefits (as much as 50% savings in terms of required number of processing cores). An implementation of this approach is available as a part of our RT-MAP library, which uses the pthreads implementation of Linux-2.6.22.