Modeling of Concurrent Task Execution in a Distributed System for Real-Time Control
IEEE Transactions on Computers
Performance Analysis of Parallel Processing Systems
IEEE Transactions on Software Engineering
A real-time language with a schedulability analyzer
A real-time language with a schedulability analyzer
Experiments with a Program Timing Tool Based on Source-Level Timing Schema
Computer - Special issue on real-time systems
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Probability and Statistics with Reliability, Queuing and Computer Science Applications
Probability and Statistics with Reliability, Queuing and Computer Science Applications
Measuring and Analyzing Real-Time Performance
IEEE Software
A tool for performance estimation of networked embedded end-systems
DAC '98 Proceedings of the 35th annual Design Automation Conference
AsaP—a framework for evaluating run-time schedulers in embedded multimedia end-systems
MULTIMEDIA '98 Proceedings of the sixth ACM international conference on Multimedia
Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design
Schedulability analysis of applications with stochastic task execution times
ACM Transactions on Embedded Computing Systems (TECS)
Computation and communication refinement for multiprocessor SoC design: A system-level perspective
Proceedings of the 41st annual Design Automation Conference
ACM Transactions on Embedded Computing Systems (TECS)
Hi-index | 14.98 |
Task-execution times are one of the most important parameters in scheduling tasks. Most scheduling algorithms are based on the assumption that either worst-case task-execution times are known to the scheduler or no information on execution times is available at all. While scheduling tasks based on worst-case execution times can guarantee to meet their timing requirements, it may lead to severe under-utilization of CPUs because worst-case execution times could be one or two orders of magnitude larger than the corresponding actual values. Scheduling tasks based on the execution time distribution (instead of worst-case execution times) is known to improve system utilization significantly.In this paper, we propose a model to predict task execution times in a distributed system. The model considers several factors which affect the execution time of each task. These factors are classified into two groups: intrinsic and extrinsic. The intrinsic factors control the flow within a task, while the extrinsic factors include communication and synchronization delays between tasks. By simplifying the extrinsic factors, we represent a distributed system with a simple queuing model. The proposed queuing model consists of two stations: one for computation and the other for communication and synchronization. Information on system utilization can be obtained by converting this queuing model to a Markov chain. The execution time of a task is then derived from the information on system utilization in the form of average and distribution. The model is extended to describe the effects of multiple tasks assigned to a single processing node. The utility of the model is demonstrated with an example.