# A Cost-Aware Framework for QoS-Based and Energy-Efficient Scheduling in Cloud-Fog Computing
###### Abstract  
Cloud-fog computing is a large-scale service environment developed to deliver fast, scalable services to clients. The fog nodes of such environments are distributed in diverse places and operate independently by deciding on which data to process locally and which data to send remotely to the cloud for further analysis, in which a Service-Level Agreement (SLA) is employed to govern Quality of Service (QoS) requirements of the cloud provider to such nodes. The provider experiences varying incoming workloads that come from heterogeneous fog and Internet of Things (IoT) devices, each of which submits jobs that entail various service characteristics and QoS requirements. To execute fog workloads and meet their SLA obligations, the provider allocates appropriate resources and utilizes load scheduling strategies that effectively manage the executions of fog jobs on cloud resources. Failing to fulfill such demands causes extra network bottlenecks, service delays, and energy constraints that are difficult to maintain at run-time. This paper proposes a joint energy- and QoS-optimized performance framework that tolerates delay and energy risks on the cost performance of the cloud provider. The framework employs scheduling mechanisms that consider the SLA penalty and energy impacts of data communication, service, and waiting performance metrics on cost reduction. The findings prove the framework's effectiveness in mitigating energy consumption due to QoS penalties and therefore reducing the gross scheduling cost. SLA-based scheduling; cloud-fog computing; resource allocation; QoS optimization; energy-efficient scheduling; genetic algorithms +
Footnote †: journal:  
constraints [22; 23; 24], and service costs [25; 26]. They tend to arrive in a random manner to the cloud service provider, as well as entail different QoS requirements and service demands that are to be fulfilled. Thus, reliability and network bandwidth are challenged in satisfying the obligations of such data in the cloud. A cloud provider in turn experiences heterogeneous fog workloads of several timing variations and service difficulties [27; 28; 29]. Such workloads increase not only in volume but also in complexity, which strictly forces execution latencies and energy complications on the cloud service provider [30; 31]. The latter utilizes a pool of cloud resources in its data center to accommodate incoming fog workloads and thus allocates sufficient resources to achieve reliability and economies of scale. To execute such workloads, the service provider employs job scheduling and balancing schemes so that cloud resources are effectively utilized. However, a client of a fog node typically tends to request a service that is both cost-efficient and high in performance [32; 33]. To effectively meet such fog requests, a cloud service provider strives to maintain an efficient cost of service and energy consumption. Existing scheduling strategies often account for optimizing system performance based on response time and resource utilization metrics. Recent scheduling strategies start to incorporate factors of energy consumption when scheduling decisions are triggered. A major limitation in such service schedulers is that they are not developed to manage mutual performance impacts between the fog service environment and the cloud computing environment. Such schedulers do not predict resource workloads, which is due to the lack of the load-management frameworks required to constantly measure system bottlenecks in fog environments along with cloud-resource queues. Furthermore, such schedulers adopt allocation methods that focus on improving performance by only deciding on an optimal allocation of each individual fog job based on available cloud resources, so that particular performance metrics and QoS penalties are enhanced, in which, however, the energy constraints of fog jobs due to such backlog bottlenecks and SLA violations are not employed.