Elsevier

Journal of Systems and Software

Volume 53, Issue 3, 15 September 2000, Pages 245-264
Journal of Systems and Software

System Software support for distributed real-time systems

https://doi.org/10.1016/S0164-1212(00)00016-9Get rights and content

Abstract

In this paper, we consider a scalable distributed-memory architecture for which we propose a problem representation that assigns real-time tasks on the processing units of the architecture to maximize deadline compliance rate. Based on the selected problem representation, we derive an algorithm that dynamically schedules real-time tasks on the processors of the distributed architecture. The algorithm uses a formula to generate the adequate scheduling time so that deadline loss due to scheduling overhead is minimized while deadline compliance rate is being maximized. The technique we propose is proved to be correct in the sense that the delivered solutions are not obsolete, i.e. the assigned tasks to working processors are guaranteed to meet their deadlines once executed. The correctness criterion is obtained based on our technique to control the scheduling time.To evaluate the performance of the algorithms that we propose, we provide a number of experiments through a simulation study. We also propose an implementation of our algorithms in the context of scheduling real-time transactions on an Intel-Paragon distributed-memory multiprocessor. The results of the conducted experiments show interesting performance trade-offs among the candidate algorithms.

Introduction

Real-time task scheduling on a multiprocessor architecture is characterized as sequencing a set of tasks and assigning them to processors of the system such that each task's time constraints are satisfied. Based on the time at which scheduling is performed, real-time scheduling algorithms have been divided into two categories, namely static and dynamic. In this paper, our focus is on dynamic algorithms. These algorithms (Mok, 1983, Sprunt et al., 1989, Zhao et al., 1987a, Zhao et al., 1987b, Sha et al., 1988, Schwan and Zhou, 1992, Shen et al., 1993) produce schedules on line in hope of using more comprehensive and up-to-date information about the tasks and the environment. Due to the on-line nature of their problem solving, dynamic algorithms must be efficient, since their complexity directly affects the overall system performance Ramamritham and Stankovic, 1984, Stankovic et al., 1995.

Sequencing and assignment of real-time and non-real-time tasks on multiprocessor architectures has been formulated in the past as a search for a schedule in a search space. Many of the existing techniques for scheduling ordinary tasks on a multiprocessor architecture adopt an assignment-oriented search representation Hamidzadeh et al., 1995, Ma et al., 1982, Shen and Tsai, 1985. Techniques for scheduling real-time tasks on uniprocessor and multiprocessor architectures have generally adopted a sequence-oriented search representation (Shen et al., 1993, Huang et al., 1989, Zhao et al., 1987a, Zhao et al., 1987b. An assignment-oriented representation emphasizes the choice of processors to which tasks are assigned, in order to satisfy the problem objectives. A sequence-oriented representation emphasizes the order in which tasks should be scheduled, in order to satisfy the problem objectives. Assignment-oriented representations are naturally suitable for task assignment in multiprocessor architectures. The sequence-oriented representations are commonly chosen for real-time scheduling, since they emphasize the ordering of the tasks considering task characteristics such as deadlines.

Dynamic techniques for scheduling real-time tasks on a multiprocessor architecture using an assignment-oriented representation have rarely been discussed. Performance implications of using such techniques and their comparison with sequence-oriented techniques have not been fully studied. This is a major issue that we address in this paper. Many of the existing dynamic algorithms for scheduling real-time tasks ignore the direct effect of factors such as when scheduling is performed, where scheduling is performed and the scheduling duration, on schedule quality. This issue is also addressed in this paper.

The algorithms proposed in the literature are either static, thus lacking the ability to adapt their performance to the changes in the environment or dynamic, thus requiring a time-complexity control. Time-control complexity has up to our knowledge not been addressed explicitly. Implicitly, however, some algorithms do try to minimize the time-complexity by limiting the search space but at the expense of limiting – also – the solution space. Our algorithm's objective is to explicitly control the time-complexity. The algorithm self-adapts its search cost to find a schedule within the complete solution space.

A main contribution of the paper is to evaluate the trade-offs between dynamic techniques that use an assignment-oriented representation and those which use a sequence-oriented representation. Another contribution is to address the problem of deciding when to invoke the scheduling process and what the magnitude of the scheduling quantum should be to minimize scheduling overhead and to guarantee deadlines of scheduled and arriving tasks.

As part of the paper, we propose a technique to dynamically schedule a set of aperiodic, non-preemptable, real-time tasks on a distributed-memory multiprocessor. The proposed technique searches for a schedule in an assignment-oriented representation of the problem. It uses a processor for scheduling and masks the scheduling overhead by overlapping scheduling with the execution of other tasks. Our technique automatically controls and allocates the scheduling time in order to minimize the overhead and to minimize deadline violation of scheduled and arriving tasks.

We evaluate our technique by comparing its performance with another dynamic scheduling technique that uses a sequence-oriented representation. The results of our experiments show significant performance improvement for our technique, in terms of deadline compliance and in terms of scalability as the number of processors increases. The results also reveal interesting performance trade-offs among candidate algorithms.

The remainder of this paper is organized as follows. Section 2 specifies the model and problem to be addressed. Section 3 introduces our scheduling technique. As part of this section, we discuss the assignment-oriented representation of our technique and demonstrate some of its characteristics. Section 4 provides an experimental evaluation of our technique’s performance. Finally, Section 5 concludes the paper with a summary of the results.

Section snippets

Model and problem

In this paper, we address the problem of scheduling a set T of n aperiodic, non-preemptable, independent, real-time tasks Ti with deadlines, on the m processors Pj of a distributed-memory multiprocessor architecture. Aperiodic tasks are tasks with arbitrary arrival times whose characteristics are not known a priori. In a distributed-memory architecture, each processor has its own local memory. Processors access remotely located data by exchanging messages. Memory access delays are non-uniform

Real-time self-adjusting dynamic scheduling (RT-SADS)

RT-SADS performs a search for a feasible schedule in an assignment-oriented search representation. It uses a dedicated processor to perform scheduling phases concurrently with execution of real-time tasks on other processors. The input to each scheduling phase j is a set of tasks (i.e. Batch(j)). Initially, Batch(0) consists of a set of the arrived tasks. At the end of each scheduling phase j, Batch(j+1) is formed by removing, from Batch(j), the scheduled tasks and tasks whose deadlines are

Experimental evaluation

To evaluate the deadline scalability performance of the proposed technique, we provide below a simulation study followed by a distributed real-time database application that we implemented on an Intel Paragon distributed-memory multiprocessor. We start by describing the design and the results of the simulation study. To validate the obtained simulation results, we reveal the performance results of the implemented application.

Conclusion

We have introduced a real-time search technique to dynamically schedule real-time tasks on the procesors of a distributed system. The proposed technique automatically controls and allocates the scheduling time to minimize the scheduling overhead and to minimize deadline violation of real-time tasks, due to the scheduling overhead. Performance results show the effectiveness of our search-based representation and our selected criterion to control the scheduling time.

Dr. Yacine Atif graduated with a Master of Computer Science from the University of Nancy (France). He received his Ph.D. from the University of Science and Technology (Hong Kong). He is currently Assistant-Professor at the school of Electrical and Electronic Engineering at NTU University (Singapore). His current research interests are: Real-Time Systems, Parallel Processing and Distributed Computing.

References (14)

  • B. Hamidzadeh et al.

    Dynamic scheduling techniques for heterogeneous computing systems

    Concurrency, Practice and Experience

    (1995)
  • Kumar, V., Grama, A., Gupta, A., Karypis, G., 1994. Introduction to Parallel Computing: Design and Analysis of Parallel...
  • Ma, D.Y.R., Lee, E.Y.S., Tsuchiya, M., 1982. A task allocation model for distributed computing systems. IEEE...
  • Mok, A.K., 1983. Fundamental design problems of distributed systems for hard real-time environments. Ph.D. Thesis,...
  • Ramamritham, K., Stankovic, J.A., 1984. Dynamic task scheduling in hard real-time distributed systems. IEEE Software,...
  • Schwan, K., Zhou, H., 1992., Dynamic scheduling of hard real-time tasks and real-time threads. IEEE Transactions on...
  • Sha, L., Goodenough, J.B., Ralya, T., 1988. An analytical approach to real-time software engineering. Software...
There are more references available in the full text version of this article.

Cited by (2)

Dr. Yacine Atif graduated with a Master of Computer Science from the University of Nancy (France). He received his Ph.D. from the University of Science and Technology (Hong Kong). He is currently Assistant-Professor at the school of Electrical and Electronic Engineering at NTU University (Singapore). His current research interests are: Real-Time Systems, Parallel Processing and Distributed Computing.

View full text