The scarcity and diversity of resources among the devices of heterogeneous computing environments may affect their ability to execute services within the users' requested Quality of Service levels, particularly in open real-time environments where the characteristics of the computational load cannot always be predicted in advance but, nevertheless, response to events still has to be provided within precise timing constraints in order to guarantee a desired level of performance. This paper proposes a cooperative service execution, allowing resource constrained devices to collectively execute services with their more powerful neighbours, meeting non-functional requirements that otherwise would not be met by an individual execution. Nodes dynamically group themselves into a new coalition, allocating resources to each new service and establishing an initial service configuration which maximises the satisfaction of the QoS constraints associated with the new service and minimises the impact on the global QoS caused by the new service's arrival.However, the increased complexity of open real-time environments may prevent the possibility of computing optimal local and global resource allocations within a useful and bounded time. As such, the QoS optimisation problem is here reformulated as a heuristic-based anytime optimisation problem that can be interrupted at any time and quickly respond to environmental changes. Extensive simulations demonstrate that the proposed anytime algorithms are able to quickly find a good initial service solution and effectively optimise the rate at which the quality of the current solution improves at each iteration of the algorithms, with an overhead that can be considered negligible when compared against the introduced benefits.
AbstractThe scarcity and diversity of resources among the devices of heterogeneous computing environments may affect their ability to execute services within the users' requested Quality of Service levels, particularly in open real-time environments where the characteristics of the computational load cannot always be predicted in advance but, nevertheless, response to events still has to be provided within precise timing constraints in order to guarantee a desired level of performance. This paper proposes a cooperative service execution, allowing resource constrained devices to collectively execute services with their more powerful neighbours, meeting non-functional requirements that otherwise would not be met by an individual execution. Nodes dynamically group themselves into a new coalition, allocating resources to each new service and establishing an initial service configuration which maximises the satisfaction of the QoS constraints associated with the new service and minimises the impact on the global QoS caused by the new service's arrival.However, the increased complexity of open real-time environments may prevent the possibility of computing optimal local and global resource allocations within a useful and bounded time. As such, the QoS optimisat...