FogQN-AC: Autonomic Resource Management using Analytic Models for Fog/Cloud Computing



Journal Title

Journal ISSN

Volume Title



Fog computing is a relatively new distributed computing paradigm that extends cloud computing capabilities to the edge of the network. Fog servers act as an intermediate layer between end-user devices and cloud datacenters. One of the goals of fog computing is to improve efficiency and reduce the amount of data transported to the cloud for processing, analysis, and storage. This paradigm enables a portion of a transaction to be executed at a fog server and the other portion, fraction f, at the cloud. Given f, simulations can be used to estimate the performance and cost metrics. Conducting simulations is generally very expensive and time consuming. Thus, the alternative to conducting simulation runs is to use analytic models. The advantage of an analytic model, as opposed to a simulation-based model, is that the computation using analytic equations is orders of magnitude faster than running simulations and is generally inexpensive. Any modeling effort of fog and cloud computing calls for workload characterization studies of IoT workloads. The understanding of the characteristics of IoT workloads can be used to perform capacity planning studies. Workload characterization is a fundamental step in carrying out performance and Quality of Service (QoS) engineering studies. The workload of a system is defined as the set of all inputs received by the system from its environment during one or more time windows. The characterization of the workload entails determining the nature of its basic components as well as a quantitative and probabilistic description of the workload components in terms of both the arrival process, event counts, and service demands. In the literature, several workload characterization studies were presented for a variety of domains, except for IoT workloads. Therefore, the first contribution of this dissertation is the characterization of IoT workloads. We have developed a methodology to characterize IoT workloads, and applied it on three publicly available real IoT datasets. We also showed how the workload characterization results can be used for capacity planning studies of edge computing environments. In this research, we proposed an analytic model, called FogQN model, and implemented it as a tool, called FogQN, which we made public. The model is based on open multi-class Queuing Networks (QN) for fog/cloud computing. This model is validated with the JMT simulation tool using both distribution-based arrival rates and inputs from several publicly available real IoT traces. We designed extensions to the model for security and backup options of requests. Furthermore, we conducted several experiments to study the effect of various backup and security option combinations, on response times and costs. Therefore, the second contribution of this dissertation is the development, implementation, and validation of an analytic model (FogQN) for fog/cloud computing to estimate performance and cost metrics. A key resource management issue when analyzing and optimizing fog computing systems is the determination of the impact of the fraction f of data processing executed at the cloud. In this research, we developed an autonomic controller, called FogQN-AC, that dynamically changes the fraction of data processing performed at the cloud in order to optimize a system utility, which is a function of the average response times and costs. The controller is assessed against a brute force approach for finding optimal fraction. The results show that the controller is very efficient in seeking an optimal or a near optimal solution. Additionally, we conducted experiments to assess the controller against the no controller case using both synthetic traces and real traces. The experiments show that the controller is able to maintain a high utility in the presence of wide variations of request arrival rates. Therefore, the third contribution of this dissertation is the design, implementation, and assessment of an autonomic controller (FogQN-AC) for fog and cloud computing.