Dynamic Resource Allocation for Adaptive Real-Time Applications
MetadataShow full item record
Dynamic resource allocation is a critical component in any system expected to deliver predictable performance while subject to unpredictable workloads. Aiming at improving long-term system performance, previous research has proposed solutions for dynamic resource allocation using load migration and application-specific adaptation capabilities. This thesis improves on such work in two ways: (1) by considering the perturbation effects of adaptation and (2) by enabling complex adaptations by use of general models of target systems. Our solutions are based on novel abstractions that capture application-specific adaptations and associated costs, and service-specific adaptations and associated load variations and timing constraints. Based on this information, adaptation algorithms can effectively determine all appropriate adaptation choices, evaluate their impacts on both long and short term timing constraints, and perform reallocations and/or adaptations such that the perturbation of the running system remains small. The proposed solutions are part of a prototype framework, called FARA, which provides the basic mechanisms for building adaptation and resource allocation infrastructures for both centralized and distributed systems. FARA is used with two adaptive applications - a video transmission system and a graphics application that emulates sensor-processing code. Experiments show that the information captured by the FARA abstractions can describe diverse adaptation capabilities and can help make adaptation decisions with reduced impact on pending timing constraints, while also resulting in long-term performance improvements.