Adaptive Quality of Service Architecture (AQuoSA) is an open architecture for the provisioning of adaptive Quality of Service functionality into the Linux kernel. The project features a flexible, portable, lightweight and open architecture for supporting soft real-time applications with facilities related to timing guarantees and QoS, on the top of a general-purpose operating system as Linux.
At the core of the architecture there is an adaptive resource reservation layer that is capable of dynamically adapting the CPU allocation for QoS aware applications based on their run-time requirements.
Timing guarantees are provided through an in-kernel reservation based process scheduler, whose services are exposed to applications through a well-designed API.
A supervisor performs admission control, so that admitting into the system new applications with timing guarantees does not affect the timing guarantees of already admitted applications. Also, it takes care of guaranteeing appropriate security policies in the assignment of timing guarantees to users and user groups, as configured by the system administrator.
A feedback-based QoS control layer may be optionally used by applications who want to keep their timing guarantees by using a CPU allocation that is continuously adapted according to their actual needs. This leaverages the programmer, within certain limits, to hard-code any particular reservation amount within the application, because the best allocation is found out automatically at run-time. Also, this enhances the possibilities for the system to host additional QoS controlled applications. The available control algorithms are well founded on formal scheduling models and control theoretical results.
What's New in This Release:
· This release introduces a couple of flags useful when creating servers. If QOS_F_PERSISTENT is enabled, a server is allowed to exist beyond detach of the last task. If QOS_F_SOFT is enabled, a server tasks are scheduled by the Linux default scheduler/policy, when outside of the server reservation.
· Also, various stability issues in destroying servers have been fixed, also thanks to a new release of the generic scheduler patch for the Linux kernel (gs-2.2).