Self-adaptive System Supporting Elasticity and Quality of Service in Edge Computing
The Edge Computing (EC) paradigm is seen as a promising paradigm to address the Internet of Things’ (IoT) application requirements, such as low latency to support responsiveness. It is a complementary paradigm of the Cloud Computing (CC) which leverages CC’s resources to the network proximity closer the data source in a distributed fashion. EC is a complex operational environment due to its nature which consists of limited resources and experiences a highly dynamic workload. This complexity is also augmented by the massive growth of the number of end devices, e.g., IoT. Such complexity requires efficient resource and task management to support both the elasticity, which aims to provision and deprovision the resources in order to adapt with the workload dynamicity and cope with the massive growth of the number of IoT devices in such resource restricted environment, and the Quality of service (QoS) in terms of the latency, which aims to manage the tasks by avoiding resource overutilisation to support the fulfilment of the latency requirement as EC has limited resources, experiences a high workload, and emerged to support such requirement. Such management requires a continuous monitoring of the operation environment, including the behaviour of the end users and their applications’ requirements, in order to have a full control over the EC infrastructure. This can be performed using a Self-adaptive System (SAS) which enables the system to monitor the operational environment, hence, adapt to response to the environment changes without human interaction. To this end, this thesis proposes a novel SAS for EC environment. The proposed SAS consists of three frameworks which are the elasticity framework, that aims to provision and deprovision the containerised applications in accordance to the workload dynamicity using Machine Learning (ML) algorithms, the QoS framework, whereby it is responsible for performing efficient task management by avoid resource overutilisation to support the latency requirement, and the offloading framework, which aims to consider the cloud layer by offloading some workload to extend the edge capability as it has limited resources. Moreover, a simulation-based environment is used to implement and evaluate the proposed SAS under different scenarios to demonstrate its effectiveness. The performance evaluation results show that it is essential to study and understand the operational environment, such as workload and applications scenarios, in order to have a robust SAS that can support both elasticity and QoS. For instance, the improvement of the SAS performance in the acceptance rate can reach ~70% in supporting the elasticity once a suitable adaptive approach is selected. Additionally, the internal design of the SAS to support the latency requirement can significantly improve the system objectives fulfilment, which can reach 50%.
Edge Computing, self-adaptive systems, Machine Learning, adaptive approaches, Cloud Computing, Internet of Things, Quality of Service