Mechanism for Event-DrivEn Adaptation

Overview

General purpose systems are ill-equipped to meet the service requirements of complex real-time applications. For this reason, we are retro-fitting `commodity off-the-shelf' (COTS) systems with the necessary subsystems to better meet the needs of real-time and adaptive applications. One such subsystem, which is part of the Linux Dionisys adaptive QoS management system is MEDEA. MEDEA is a mechanism for distributing events (or control messages) around a system of tightly-coupled machines running service managers. These service managers are 'wrappers' around service policies, and control the allocation and adaptation of resources shared amongst competing resource consumers (typically applications).

Using mechanisms such as MEDEA in our Linux Dionisys system provides the basis for coordinated resource management, as well as the implementation of adaptive protocols (for flow, error, rate, congestion control etc) and large-scale applications, including web servers and farms. MEDEA provides the low-level plumbing (or `event channels') for events to be delivered between Dionisys service managers, where service adaptation is deemed necessary.  Every event channel links a single source (i.e., a Dionisys monitor) function with potentially many destination (i.e., Dionisys handler) functions in different service managers throughout the distributed system. In this fashion, events can be multicast across hosts, across address-spaces and across protection domains.
That is, events can be communicated not only between processes on the same or different hosts, but also between kernel- and user-level address spaces. In fact, MEDEA provides support for up- and down-calls across protection domains.

MEDEA uses `mailbox' abstractions (see below), providing one outbox for every monitor and one inbox for every service manager. This enables event delivery to be decoupled from the management of system services that may trigger and respond to events. Moreover, the subsystem can batch or select single events for delivery, as well as deliver/receive events from/into mailboxes according to a specified ordering policy. Developments to the MEDEA subsystem include the support for real-time event delivery.




Related Projects

Linux Dionisys:
A distributed system for runtime service adaptation. MEDEA is used as a Dionisys subsystem.
Safe Kernel Extensions. This is a mechanism  to support the compilation and dynamic-linking of application-specific `QoS safe' code into the kernel.
Linux DWCS:
Dynamic Window-Constrained Scheduling for Linux. DWCS is one of several thread and packet scheduling algorithms used in the service managers of Linux Dionisys.

Selected Papers

  • Richard West and Karsten Schwan, "Quality Events: A Flexible Mechanism for Quality of Service Management ", in Proceedings of the 7th IEEE Real-Time Technology and Applications Symposium (RTAS), 2001
[pdf][ps.gz]



Department of Computer Science , Boston University

Page maintained by Rich West