The Impact of Application and Architecture Properties on Real-Time Multiprocessor Scheduling
Guaranteeing the temporal correctness of a real-time system is a very challenging problem since application and architecture properties may be hard to model accurately. For example, modern computer architectures are typically equipped with mechanisms, such as cache memories and instruction pipelines, whose behavior are by nature stochastic. For hard real-time system with strict timing requirements, the worst-case performance of these mechanisms must be accounted for, which typically yields too low a resource utilization in the system. Also, many applications contain program loops whose termination conditions are a function of dynamic parameters such as input data. As a consequence, the predicted worst-case execution time of the application may have to be overly pessimistic to fit into a hard real-time context.
Because the contemporary approach to designing real-time systems is very much based on design practices that assume fairly simple and "well-behaved" applications and architectures, there exists a gap between real-time scheduling theory and the models used for the application and architecture properties. Current trends indicate that applications and architectures are becoming more complex, which means that there is a risk that this gap will widen in the years to come. This motivates the evaluation of existing real-time scheduling techniques to study what application and architecture properties are critical from a real-time scheduling viewpoint. To achieve this, a flexible evaluation methodology is needed to provide for an objective evaluation of current and new real-time scheduling techniques.
This thesis contributes towards fulfilling this need by developing an evaluation framework that allows for extensive studies of the impact of application and architecture properties on the quality of real-time multiprocessor schedules. This framework is an important part of a comprehensive methodology which has been successfully used for finding solutions for a set of problems related to real-time scheduling. The problems addressed in this thesis concern (i) time-deterministic communication in point-to-point networks, (ii) deadline assignment for precedence-constrained applications, (iii) objective function selection in list scheduling algorithms, and (iv) parameter selection in a branch-and-bound strategy for multiprocessor scheduling.
The results in this thesis indicate that the impact of application and architecture properties cannot be ignored in the design of real-time scheduling techniques, be they direct properties such as application timing constraints or resource availability, or indirect properties such as application parallelism or execution time distribution. We have performed extensive simulation experiments that demonstrate fundamental phenomena for which we find the remedy in either new techniques, improvements of existing techniques, or recommendations in terms of parameter choices for existing techniques.