Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip
- 24 August 2005
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
The research on real-time software systems has produced algorithms that allow to effectively schedule system resources while guaranteeing the deadlines of the application and to group tasks in a very short number of non-preemptive sets which require much less RAM memory for stack. Unfortunately, up to now the research focus has been on time guarantees rather than the optimization of RAM usage. Furthermore, these techniques do not apply to multiprocessor architectures which are likely to be widely used in future microcontrollers. This paper presents a fast and simple algorithm for sharing resources in multiprocessor systems, together with an innovative procedure for assigning preemption thresholds to tasks. This allows to guarantee the schedulability of hard real-time task sets while minimizing RAM usage. The experimental part shows the effectiveness of a simulated annealing-based tool that allows to find a near-optimal task allocation. When used in conjunction with our preemption threshold assignment algorithm, our tool further reduces the RAM usage in multiprocessor systems.Keywords
This publication has 16 references indexed in Scilit:
- Scheduling distributed real-time tasks with minimum jitterIEEE Transactions on Computers, 2000
- Schedulability analysis of periodic and aperiodic tasks with resource constraintsJournal of Systems Architecture, 2000
- Allocating fixed-priority periodic tasks on multiprocessor systemsReal-Time Systems, 1995
- New strategies for assigning real-time tasks to multiprocessor systemsIEEE Transactions on Computers, 1995
- Allocating hard real-time tasks: An NP-Hard problem made easyReal-Time Systems, 1992
- Stack-based scheduling of realtime processesReal-Time Systems, 1991
- Priority inheritance protocols: an approach to real-time synchronizationIEEE Transactions on Computers, 1990
- Multiprocessor online scheduling of hard-real-time tasksIEEE Transactions on Software Engineering, 1989
- On the complexity of fixed-priority scheduling of periodic, real-time tasksPerformance Evaluation, 1982
- Scheduling Algorithms for Multiprogramming in a Hard-Real-Time EnvironmentJournal of the ACM, 1973