Configurable Real-Time Services Overview

Configurable Real-Time Services

Department of Computer Science

The University of Arizona


Real-time guarantees for computing services such as network communication and task execution are important in many application areas. For example, safety critical systems usually require hard guarantees on system response time to avoid catastrophe, while multimedia applications behave optimally with at least soft guarantees. Numerous different types of real-time services and systems have been developed but most such systems are targeted for specific applications, which makes them rigid and unable to accommodate the different requirements of a variety of application types. This is especially true for real-time communication services found in distributed systems, where applications often need guarantees related to such properties as reliable message transmission, atomic delivery, and consistent message ordering in addition to real-time guarantees.

This project is working on developing a new approach to constructing distributed real-time communication services that allows the service guarantees to be customized to the requirements of a wide array of different applications. The focus is on building flexible middleware services that use the functionality of an underlying real-time operating system and network to implement higher-level abstractions for distributed applications. The goal is to construct services that can provide not only real-time guarantees, but also reliability, message ordering, and other quality of service (QoS) guarantees optimized for each application and execution environment. Our approach is based on the event-driven model developed in the Coyote project. The original model in Coyote did not address real-time issues of execution, however, so a number of augmentations will have to be made in the abstract model and in the implementation. In particular, now the runtime system within each composite protocol schedules execution of micro-protocols to ensure that real-time properties are satisfied, while an admission control module ensures that composite protocols are only created if the system has enough resources to satisfy its requirements. An implementation of the model is currently underway using the Open Group Research Institute MK 7.2 real-time operating system with the CORDS communication subsystem on a cluster of Pentium PCs.

This figure shows the major logical components in the system and their interactions. Each customizable middleware service is implemented as a composite protocol consisting of selected micro-protocols and uses system resources allocated as CORDS paths. In our design, resource allocation has been divided into the service control module (SCM), which is specific to each service, and the admission control module (ACM), which manages resources across multiple types of services. The SCM translates service arguments into general resource requirements. In particular, it translates the service property requirements into a set of micro-protocols and paths that satisfies these requirements, and calculates the CPU requirements given the application traffic model. The ACM is a process that maintains information about available resources, and based on this information, either grants or denies requested resources. If the request is granted, the ACM also assigns path priorities. A service may also interact with the ACM after being created; for example, it may request additional resources or be instructed to release resources or terminate should a higher-priority service need resources. Note that the ACMs on different sites may interact, for example, to allocate the network bandwidth.

The first configurable real-time service that we are designing is a real-time channel abstraction that provides communications service for application processes. The design allows channels of different shapes to be defined ranging from unidirectional point-to-point channel to bidirection multi-source and multi-target channels as well as a multicast channel. The customizable channel properties include real-time properties (message deadline, the required percentage of messages that meet their deadlines, etc) to realibility properties (the required percentage of messages that reach their destination), and ordering properties (fifo, causal, and total orders). See a technical report we recently completed for more details.


back to Configurable Real-Time Services home page

------------------------------------------------------------------------
http://www.cs.arizona.edu/cactus/real-time/overview.html
Last updated March 2, 1998
Matti Hiltunen (hiltunen@cs.arizona.edu)