Resource reservation is a technique that allows isolating applications from interfering among each other. In the most classic setting, this method requires the periodic allocation of a given budget of resource over time. However, in reality, the actual budget allocation may deviate from its ideal value. Examples of causes of this deviation are: the presence of a system tick, the usage of shared resources, the self-blocking on I/O operations, etc. Since control techniques are an effective mean to deal with uncertainties and disturbances, unknown at design time but bounded, in this paper we propose to use feedback to achieve the target budget allocation, which may have deviated due to on-line events. The proposed scheme, called Self-Adaptive Server (SAS), is described and analyzed. We prove that the controller gain, which maximizes the resource delivered to the application, is $$\frac{3-\sqrt{5}}{2}$$3-52. We also implemented the scheduler on a lightweight operating system for a microcontroller. Thanks to the extremely simple implementation, SAS servers are well suited for low-overhead resource isolation mechanisms with proved real-time guarantees.
Read full abstract