Scheduling In Distributed Soft Real-Time Systems With Autonomous Components (Thesis)
Traditional real-time systems are usually used by very specific,
mission-critical applications, such as a nuclear reactor monitor.
For these applications task deadlines must not be missed. However, with
the advances of computer and communication technology, and as computers
become a commonplace utility, more applications are requiring a casual
use of real-time technology. Task deadlines in these applications are
soft in the sense that missing a deadline occasionally is,
although undesirable, not a disaster. Example soft real-time
applications include 800-number translation,
financial databases, patient-monitoring systems and so on. In these
applications, deadlines are used as a tool to express performance goals.
For example, a buy-sell action triggered by a stock-price update in a
financial database system should be implemented within a specified period of
time due to the volatility of the market.
To conserve resources, soft
real-time systems are usually not designed to guarantee every single
deadline. Instead, the performance of a system is generally measured as
the percentage of deadlines it meets. Deadline driven heuristic
scheduling thus plays a major
role in the design of soft real-time systems.
This thesis studies the scheduling aspect of distributed soft real-time
systems. In particular, it addresses the following cost-performance tradeoff.
When designing a distributed real-time system, one approach is to build
it from scratch, coding each component with algorithms and features
that match the applications' needs. However, the development and
maintenance cost of such a system would be high, and the
development cycle could be long. Alternatively, one can build the
system by piecing together well-tested, easy-to-maintain standard
components, such as a commercial database server, a token ring network,
etc. The disadvantage of this approach is that global real-time
scheduling is not possible because it demands cooperation and
coordination among the individual local schedulers.
In this thesis, we discuss
different scheduling techniques in a distributed soft real-time system
that is constructed out of a variety of existing
conventional non-real-time and
real-time components, and show how these techniques improve the real-time
performance of such a system without requiring the components to
These techniques include subtask
deadline assignment, server prioritization,
and real-time emulation.