Validation of Timing Properties

Jane W. S. Liu
Department of Computer Science, University of Illinois
1304 West Springfield Avenue, Urbana, IL 61801
janeliu@cs.uiuc.edu, http://pertsserver.cs.uiuc.edu/



As real-time computing and communication systems have become more and more integral parts of our information, command and control infrastructure, an increasingly wider spectrum of time-critical applications demands new real-time systems technologies. Among the more critical ones are

New scheduling and resource management paradigms and open architectures can be used for mission-critical real-time applications only when we can validate and evaluate the timing properties of systems built on them. Unfortunately, existing validation technology is inadequate for future systems; new principles, theories and algorithms are critically needed.

Timing constraints of real-time applications may be specified in deterministic or probabilistic terms. The term validation refers to the process of demonstrating by some rigorous methods that all applications meet their timing constraints and guarantee the temporal quality of their services when integrated together and scheduled according to the algorithms used by the underlying operating system and networks. A validation algorithm is an efficient algorithm for this purpose. It is correct if it never declares that all timing constraints are met when some constraints may not be. A correct validation algorithm is good when it achieves a good balance in complexity, robustness and accuracy [1].

Limitations of State-of-the-Art Validation Algorithms

The tremendous progress in the past ten years have brought the state of the art in validation to a new plateau. Validation and testing technology for clock-driven systems is now mature. There is also a comprehensive set of schedulability conditions for static event-driven systems (i.e., systems in which tasks are statically bound to processors). These conditions are the theoretical basis of the validation tools that have recently become available and on-line tests that are used to determine the admissibility of new tasks without violating timing guarantees.

Existing validation algorithms have several serious limitations that prevent the algorithms and, therefore, the validation technology supported by them, unsuitable for future real-time systems. First, almost all of existing validation algorithms for event-driven systems are based on the periodic task model [2]. They are accurate only when variations in the time/resource demands of applications are small and the amounts of time/resource consumed by the underlying run-time environment are known. The algorithms are overly pessimistic when applied to sporadic applications that have widely varying time and resource demands.

Second, existing validation algorithms are only capable of dealing with deterministic timing constraints. Many existing algorithms for validating deterministic timing constraints can be extended in a natural way to deal with probabilistic time/resource demands and timing properties. (An example of such an extension can be found in [3].) However, the robustness of the probabilistic extensions remains to be determined.

Third, almost all existing algorithms for the validation of timing properties of multiprocessor and distributed systems are extensions of uniprocessor validation algorithms. They cannot be used to validate timing properties of dynamic multiprocessor and distributed systems. (In a dynamic system, tasks are not statically assigned and bound to processors. Instead, task instances ready for execution are placed in a common queue and are dispatched and scheduled on available processors in a priority-driven manner.)

Research Issues

To develop new schedulability conditions and validation algorithms that do not have the limitations of the state-of-the-art techniques, several research issues must be addressed. As an example, it is natural to use a stochastic workload model to characterize the varying demands of applications and time/resource consumptions of unpredictable run-time environments. As stated earlier, many existing validation algorithms can be extended in a natural way to take as input probability distributions of task parameters. Here, the most important of problems to be addressed is concerned with the robustness of probabilistic validation algorithms. (For example, such an algorithm calculates the miss probability, i.e., the probabilility of a job misses its deadlines. This calculation is based on some probability distributions of task parameters. The miss probability obtained by the algorithm may not be correct when the actual distributions of the task parameters differ from the distributions assumed by the algorithm.) The severe shortage of existing real-time benchmark applications makes an accurate calibration and validation of the probability distributions assumed by the underlying workload models nearly impossible now and in the near future. Therefore, it essential for probabilistic validation algorithms to be robust. (The probability of missed deadline predicted by a robust algorithm is never less than the actual miss probability when the assumptions of the probability distributions of task parameters are not valid.)

Another critical problem to be addressed is concerned with the validation of dynamic systems. Almost all past work on schedulability conditions and validation focused on static systems in which tasks are assigned and bound to processors and are migrated among processors infrequently. Efficient and robust methods for validating dynamic, event-driven multiprocessor and distributed systems are not yet available. Because task execution times and release times may vary, the choice of the processor on which each task instance actually executes is nondeterministic. Numerous dynamic scheduling and load balancing algorithms are available and are likely to have better performance than static approaches. The lack of robust and accurate methods to validate timing properties of the resultant dynamic system has hindered their adoption for hard real-time applications. Some preliminary results in this problem area now exist [4], but most of the problems in validating dynamic event-driven systems remain to be solved.

References

[1]
Stankovic, J., ``Real-Time and Embedded Systems,'' ACM Surveys.

[2]
Liu, C. L. and J. W. Layland, ``Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,'' Journal of the Association for Computing Machinery, Vol. 20, No. 1, pp. 46-61, January 1973.

[3]
Tia, T. S., Z. Deng, M. Shankar, M. Storch, J. Sun, L. C. Wu, and J. W. S. Liu, ``Probabilistic Performance Guarantee for Real-Time Tasks with Varying Computation Times,'' Proceedings of IEEE Real-Time Technologies and Applications Symposium, pp. 164-173, Chicago, Illinois, May 1995.

[4]
Liu, J. W. S. and R. Ha, ``Efficient Methods for Validating Real-Time Constraints,'' in Principles of Real-Time Systems, edited by S. Son, pp. 199-224, Prentice Hall, 1994.


Last modified: Fri Nov 15 15:25:05 CST 1996