Scalable Multi-Tasking using Preemption Thresholds
نویسندگان
چکیده
Preemptive multi-tasking is a commonly used architecture for designing and implementing embedded real-time software. However, preemptive multi-tasking comes with its own costs. These costs include overheads due to preemptions and context-switches that result in waste of CPU bandwidth. Also, each task incurs a memory cost largely due to the need to maintain a separate stack for each task. These costs increase with the number of tasks and can be significant in complex real-time software. In this paper, we propose results from our ongoing research in which we are developing a design method with scalable multi-tasking implementations for complex realtime software. Our design method is based on an extension of fixed priority preemptive scheduling using preemption thresholds that was proposed in [15]. Using this new scheduling model we show how we can design multi-tasking implementations that are far more scalable than using pure preemptive multi-tasking implementations.
منابع مشابه
Scalable Real-Time System Design using Preemption Thresholds
The maturity of schedulabilty analysis techniques for fixed-priority preemptive scheduling has enabled the consideration of timing issues at design time using a specification of the tasking architecture and estimates of execution times for tasks. While successful, this approach has limitations since the preemptive multi-tasking model does not scale well for a large number of tasks, and the fixe...
متن کاملThe Algebra of Multi-tasking
Modelling multi-tasking behaviour is an important phase of real-time system design. It is shown how task scheduling principles can be captured in a CCS-based process algebra via extensions for both asymmetric interleaving, to model intraprocessor scheduling decisions, and for asynchronous communication, to model interprocessor precedence constraints. Examples are given of task preemption, block...
متن کاملA Class of Composable and Preemptible High-level Petri Nets with an Application to Multi-Tasking Systems
This paper presents an extension of an algebra of high-level Petri nets with operations for suspension and abortion. These operations are sound with respect to the semantics of preemption, and can be applied to the modelling of the semantics of highlevel parallel programming languages with preemption-related features. As an illustration, the paper gives an application to the modelling of a mult...
متن کاملA Preemption Algorithm for a Multitasking Environment on Dynamically Reconfigurable Processor
Task preemption is a critical mechanism for building an effective multi-tasking environment on dynamically reconfigurable processors. When a task is preempted, its necessary state information must be correctly preserved in order for the task to be resumed later. Not only do coarse-grained Dynamically Reconfigurable Processing Array (DRPAs) devices have different architectures using a variety of...
متن کاملMTM2: Scalable Memory Management for Multi-tasking Managed Runtime Environments
Multi-tasking, managed runtime environments (MREs) for modern type-safe, object-oriented programming languages enable isolated, concurrent execution of multiple applications within a single operating system process. Multi-tasking MREs can potentially extract high-performance on modern desktop and hand-held systems through aggressive sharing of classes and compiled code, and by exploiting high-l...
متن کامل