A fog/cloud computing environment enables portions of a transaction to be executed at a fog server and other portions at the cloud. Fog servers act as an intermediate layer between cloud datacenters and end-user devices and provide compute, storage, and networking services between these devices and traditional clouds. An important consideration is the dynamic determination of the optimal fraction f of data processing executed at the cloud versus at fog servers. This determination requires that we consider that the processing capacity of fog servers is typically smaller than that of cloud servers. On the other hand, it may be more expensive to use cloud resources as opposed to fog servers. As f increases, more data has to be sent and received from the cloud. On the other hand, fog servers are typically resource-constrained and may not have enough capacity to handle requests from numerous sensors and other IoT devices and may become a bottleneck. The contributions of this paper are: (1) An autonomic controller, called FogQN-AC, that dynamically changes the fraction of data processing performed at the cloud. The controller seeks to optimize a utility function of the average response time and cost. This utility function uses an analytic response time and cost model previously developed by the authors. (2) An assessment of the controller against a brute-force optimal solution. (3) An experimental assessment of the controller using synthetic traces, Google traces, and a CityPulse smart city road traffic dataset. The experiments show that the controller is able to maintain a high utility in the presence of wide variations of request arrival rates.
Uma TadakamallaDaniel A. Menascé
Tanupriya ChoudhuryBhupesh Kumar DewanganRavi TomarBhupesh Kumar SinghTeoh Teik ToeGia Nhu Nguyen
Ahmed KhalifaMohamed Eltoweissy
Hugo Vaz SampaioCarlos Becker WestphallFernando KochRicardo do Nascimento BoingRené Nolio Santa Cruz
Bhupesh Kumar DewanganAmit AgarwalM. VenkatadriAshutosh Pasricha