{'fraction_non_alphanumeric': 0.03298024501979644, 'fraction_numerical': 0.010012230260566737, 'mean_word_length': 4.779561519108662, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 2, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
HUNTER: AI based Holistic Resource Management for Sustainable Cloud Computing

The worldwide adoption of cloud data centers (CDCs) has given rise to the ubiquitous demand for hosting application services on the cloud. Further, contemporary data-intensive industries have seen a sharp upsurge in the resource requirements of modern applications. This has led to the provisioning of an increased number of cloud servers, giving rise to higher energy consumption and, consequently, sustainability concerns. Traditional heuristics and reinforcement learning based algorithms for energy-efficient cloud resource management address the scalability and adaptability related challenges to a limited extent. Existing work often fails to capture dependencies across thermal characteristics of hosts, resource consumption of tasks and the corresponding scheduling decisions. This leads to poor scalability and an increase in the compute resource requirements, particularly in environments with non-stationary resource demands. To address these limitations, we propose an artificial intelligence (AI) based holistic resource management technique for sustainable cloud computing called HUNTER. The proposed model formulates the goal of optimizing energy efficiency in data centers as a multi-objective scheduling problem, considering three important models: energy, thermal and cooling. HUNTER utilizes a Gated Graph Convolution Network as a surrogate model for approximating the Quality of Service (QoS) for a system state and generating optimal scheduling decisions. Experiments on simulated and physical cloud environments using the CloudSim toolkit and the COSCO framework show that HUNTER outperforms state-of-the-art baselines in terms of energy consumption, SLA violation, scheduling time, cost and temperature by up to 12, 35, 43, 54 and 3 percent respectively.


Introduction
Cloud computing has proven to be a reliable, cost-effective and scalable computing service choice to host and deliver software solutions for diverse industrial applications [1]. Many businesses have migrated to cloud data centers (CDCs) to take advantage of on-demand, elastic and scalable resource provisioning, saving companies on capital investments and maintenance of in-house infrastructure [2]. The plethora of deployment choices offered by most cloud providers allows users to power and cooling power in tandem. Another factor to consider in minimizing energy consumption is the reduction in resource intensive or thermal hotspots that can degrade the performance of the system [6]. Consequently, as non-stationary workloads are required to be serviced, the cooling systems and hence the power and temperature metrics of hosts change dynamically [7]. Furthermore, tasks running in a datacenter may be inter-dependent. This is a common when jobs are allocated to a cloud environment with each job consisting of multiple independent tasks and service level agreements (SLAs) being defined for each job. The overall response time and SLA violations would then be defined at the job level instead of being measured for each task. Moreover, in hybrid public-private clouds, the host machines have different resource capacities in terms of their CPU, RAM, disk and network capabilities. These issues further complicate scheduling as now the representation of the system also needs to capture the inter task dependencies and host heterogeneity.
Existing solutions. Over the past few years many resource management techniques have been proposed that target SLA compliance and the improvement of Quality of Service (QoS) [2]. Specific solutions that target sustainable computing aim at leveraging monitored metrics like energy consumption and temperature of host machines [2]. Only a few solutions also consider the energy and cost implications of cooling solutions [6]. Most prior work presents meta-heuristic algorithms [6] and deep learning techniques [7]. Most state-ofthe-art models use meta-heuristic approaches like genetic algorithms or integer linear programming [6,8,9,10,11]. Other recent methods use reinforcement learning (RL); specifically, the traditional tabular models like Q-Learning [12,13]. However, such meta-heuristic and RL techniques require several exploratory decisions before updating their models, making them harder to adapt quickly in highly volatile settings, considering inter-task dependencies, thermal characteristics or converging quickly to a scheduling decision [14]. All such features are crucial for a holistic solution for sustainable scheduling [2].
Background and new insights. As is common in most prior work, modelling the optimization variable, i.e. the scheduling decision, as a placement matrix does not capture the inter-task dependencies well [15]. An improved approach is to use geometric modelling of the scheduling decisions, particularly as a graph, as it enables structure specific extraction of the system state information. Recently proposed Artificial Intelligence (AI) techniques, such as graph neural networks or graph encoders, can efficiently capture such geometric data [16,17]. One such network, called Gated Graph Convolution Network (GGCN) enables aggregation of the graph node information using convolution operations and message passing [16], making it suitable to model distributed computing network as a graph. This enables a more versatile optimization approach that also takes into account the task hierarchy and edge-cloud hierarchy, not considered in most prior work [14,9]. We use a GGCN model as a surrogate of the QoS objective scores allowing us to swiftly run placement optimization. Such a surrogate model enables us to quickly get the QoS score for an input (scheduling decision) without actually executing it in the physical environ-ment, saving us time and cost. Such deep surrogate models are commonly used in the literature [10,13,14].
Our contributions. In this work, we significantly extend our previous work [6] by proposing a Holistic resoUrce maNagemenT technique for Energy-efficient cloud computing using aRtificial intelligence, called HUNTER. The proposed method uses a GGCN network as a QoS surrogate to optimize the scheduling decision for a hybrid public-private cloud environment. It uses performance to power ratio as a heuristic to explore the scheduling search space that enables us to significantly reduce scheduling time. In our previous work [6], we proposed a holistic management technique for cloud resources and established a relationship between replication and service consolidation to improve the energy-efficiency and cut the carbon footprint. However, our previous work did not deal with heterogeneous resources and dynamic workloads. In this work, we extend existing thermal and energy consumption models to also include the cooling overheads [7]. Further, to prevent excessive scheduling overheads, we use performance to power ratio as a heuristic to significantly reduce the time to converge to a scheduling decision [18]. To adapt in volatile scenarios, we periodically adjust the weights of the deep surrogate model using backpropagation.
The contributions of this research work are summarized as: • We propose a novel energy-efficient resource management approach (HUNTER) that uses GGCN as a deep surrogate model for quick QoS estimation and three sustainability models, viz, thermal, energy and cooling. • Extensive experiments on simulated (using the CloudSim [19] toolkit) and physical cloud testbeds (using the COSCO [14] framework) show that the proposed model outperforms state-of-the-art schedulers for sustainable computing. • HUNTER gives the best energy consumption, SLA violation, cost and temperature by 11.90%, 35.41%, 53.86% and 3.47% respectively. HUNTER achieves this with 42.78% lower scheduling overheads compared to the best baseline. The rest of the article is organized as follows. Section 2 overviews the related work. Section 3 presents the HUNTER scheduler. Performance evaluation is carried out in Section 4 with additional results and analysis in Section 5. Section 6 concludes the paper and proposes future work.

Related Work
A significant amount of research has been devoted to the area of resource management in cloud computing. Table 1 summarizes the comparison of HUNTER with existing works based on important key features. Given our scope of holistic management of resources particularly focusing on sustainability, we classify the state-of-the-art work into two main categories: 1) metaheuristic methods (rows 1-3) and 2) reinforcement learning models (rows 4-8). The 'holistic' column represents whether the approach provides an end-to-end solution for scheduling, considering all parameters for sustainable cloud computing [6].  [20] Threshold Based MALE [21] Memory Mapping CRUZE [6] Cuckoo Optimization MITEC [8] Genetic Algorithm PADQN [12] Deep Q Learning ANN [10] Neural Network SDAE-MMQ [13] Autoencoders HDIC [9] NARX Network HUNTER Surrogate Modelling The 'dynamic' column represents whether the technique adapts on-the-fly for non-stationary environments.
Meta-Heuristic Methods. Our previous work, CRUZE [6], aimed to reduce the total cloud energy consumption whilst maximizing reliability of the system. It utilizes efficient design models with respect to energy, reliability, capacity and cooling. To generate a scheduling decision, CRUZE uses a Cuckoo optimization approach. Another work, FECBench [22] provides performance interference prediction models for services of cloud providers to develop resource management techniques. The authors have constructed a process pipeline to construct multi-resource stressors using machine learning. To minimize prohibitive profiling costs, the authors have explored multidimensional resource metrics with minimal experimental runs using design of experiments (DoE) that significantly minimizes prohibitive profile cost. In similar efforts, the MALE algorithm [21] was recently introduced to minimize energy consumption in a cloud datacenter by reducing memory consumption and contention. This is achieved by mapping memory requirements of virtual machines to cloud hosts using a predefined best-fit criteria. Similarly, TOPSIS [20] presents a set of heuristics to significantly reduce energy consumption using thermal features that are recorded from cooling devices and servers. This approach uses a threshold based load-balancing technique to prevent thermal hotspots and minimize failures due to overheating. A similar work, MITEC [8] uses a genetic algorithm to optimize scheduling decisions and updates the energy and thermal models to tune the fitness scores for each allocation decision. Other works in this category propose autonomic cloud resource management mechanisms for the execution of batch and interactive workloads by leveraging the multiple resource layers and host heterogeneity to reduce energy consumption [23,24,25]. However, most methods in this category including CRUZE, Ella-W and GRANITE do not adapt in volatile settings. Still, we include the CRUZE and MITEC methods as a baseline in our experiments to represent this category.
Reinforcement Learning. In recent years, several machine learning (ML) based schedulers have been proposed that aim to optimize energy consumption of CDCs. Reinforcement learning (RL) is an sub-field within ML that models the system as an interactive environment using QoS parameters to dynamically modify the scheduling policy [26]. One of the most versatile RL techniques is the deep Q learning (DQL). Here, a deep neu-ral network is used to estimate a long-term reward (commonly referred to as the Q value) for each state. Many recent works, for instance PADQN [12] and SDAE-MMQ [13], formulate the scheduling problem as a RL problem and utilize deep Q learning to produce task placement decisions [27]. Here, the decision is modelled as the state of the RL system with actions as task migration or allocation decisions. Each action changes the model state and gives a reward in the form of a QoS score. More advanced DQL based approaches use sophisticated neural networks to predict the Q values for each scheduling decision. SDAE-MMQ uses a stacked denoising autoencoder as a value network and MiniMax-Q instead of vanilla Q-learning [13]. Another work, HDIC [9], uses a nonlinear auto-regressive network with exogenous inputs (NARX) as a value network. Advanced neural models typically take a long time to train and infer Q values for large-scale state inputs. Other works directly use a deep neural network to produce a task allocation or migration decision [28]. For instance, a recent ANN approach uses an artificial neural network to produce a softmax output for each task [10]. Taking the argmax for each output gives us the scheduling decision for each task. The ANN is trained using a supervised learning framework with actions being rewarded using QoS metrics like energy consumption and execution time. Such approaches usually scale well with the number of tasks or hosts in the system, but are unable to capture intertask dependencies to efficiently handle task placement. Moreover, Q-learning based methods are known to be slow to adapt in volatile settings [14]. We use the PADQN, ANN, SDAE-MMQ and HDIC methods as baselines in our experiments as these are empirically the best methods this category.
These approaches focus on particular perspectives of cloud resources management, e.g. computing or network. Unlike these works, our approach considers resource management in a holistic manner by considering energy, thermal and cooling characteristics whilst reducing scheduling and task migration overheads. Figure 1 shows the system model considered in this work. Motivated from prior work [29,14], we consider the following components of the CDC.  • Cloud Users: The users share workloads as jobs to the CDC (more details in Section 3.2). The data is collected using IoT sensors and passed on to the CDC using gateway devices like smartphones and tablets [14]. • Cloud Workload Management Portal: A graphical user interface for cloud users to interact with the system for the submission of workloads along with their SLA and QoS details. • Workload Manager: Initially, the workload manager processes all the incoming workloads. An admission controller realizes all workloads as container instances [6,14]. • Cloud Broker: The central cloud server that allocates incoming jobs to various compute resources (cloud worker nodes). It consists of the following components: -Service Manager: Contains two elements, SLA and QoS managers that manage the heterogeneous cloud services while processing workloads. The QoS manager contains the information about QoS requirements for different workloads, while the SLA manager contains the information about an agreement signed between a cloud user and a provider based on QoS requirements. -CDC Manager: Continually monitors the resource utilization of all active tasks and hosts in the system. It also monitors the QoS parameters (including the energy and thermal characteristics of cloud hosts) and also performs the task allocation and migration.

System Model
In this work, we assume tasks as container instances and task migration as the transfer and restoration of container checkpoints. -Resource Manager: Decides the schedule for each task in the system. The resource manager includes the sustainability models for energy, thermal and cooling parts of the CDC. For resource scheduling, the manager contains a GGCN based surrogate model that estimates QoS parameters. It performs training and on-the-fly tuning of the GGCN model to adapt in non-stationary settings. This manager also runs an exploration strategy that checks the QoS scores for a set of allocations and chooses the best one as the scheduling decision (more details in Section 3.5). • Cloud Hosts: The cloud broker is connected to a heterogeneous set of worker nodes. Some nodes are present in the same Local Area Network (LAN) as the broker, called the private cloud. Others are present in a geographically distant location and connected using a virtual LAN (VLAN). As is common practice, we assume that privatecloud nodes are resource constrained but offer low latency services, and public-cloud nodes have abundant resources but have high communication latency. The HUNTER scheduler resides as the Resource manager in the Cloud Broker, taking tasks as inputs from the Workload Manager (see Figure 1). HUNTER uses resource metrics from the Resource Monitor and executes scheduling decision through Container Orchestration (as tasks are realized as containers in our system).

Workload Model and Problem Formulation
As common in prior work, we assume that generating scheduling decisions is a discrete-time control problem [14,30]. We divide the timeline into equal duration intervals, with the t-th interval denoted as I t (starting from i = 0). We assume a fixed number of host machines and denote the set of cloud hosts by H. The workloads are in the form of jobs J t , where each job There are no precedence constraints among tasks that belong to the same job, but the QoS metrics are calculated at the job level instead of the task level. Thus, it is important to consider intertask dependencies while scheduling. All new jobs created at the interval I t are denoted as N t , with all active jobs being denoted as A t . A job is considered to be active if at least one task of that job is being executed in the cloud environment. If no task of a job j ∈ N t can be allocated to a cloud node then it is added to a wait queue W t . All created jobs that are not active and are not in the wait queue are considered to be completed and we can calculate their metrics like response time and SLA violation.
We consider the problem of maximizing the QoS objective score accumulated across all intervals in a bounded time experiment. We denote the QoS score for interval I t by O t and consider a total n intervals in an experiment. We denote the utilization metrics of all hosts in interval I t−1 as U t . Now using U t , we need to predict a scheduling decision S t . All tasks for jobs in N t ∪ W t ∪ A t are called feasible tasks. Thus, the problem can be formulated as: ∀ t, Q t = set of active tasks in the system.
(1) In the rest of the discussion we consider these symbols only for a single interval and drop the t subscript for notational convenience.

Sustainability Models
In this work, to decouple the different aspects of sustainable resource management [6], we have designed three different models: energy, thermal and cooling. For completeness, we reproduce the formulae from our prior work [6], with necessary adaptations for the new formulation.

Energy Model
This model is designed to encapsulate all parameters related to the energy consumption, ranging from compute devices to the cooling components [31]. The total energy of a CDC is calculated as (2) The computing system consists of hosts and its energy consumption includes that of the different components like CPU, RAM, disk, network and peripherals. Thus, E Computing can be defined as Processor. Here, E Processor represents the processor's energy consumption, which is calculated by adding the idle and dynamic consumption of all cores. Thus, where E r dynamic and E r idle are the dynamic and idle energy consumption of the r-th core. Here, E dynamic is calculated using E linear dynamic is calculated as where C is CPU capacitance, f is CPU clock frequency, and V is CPU voltage. E non-linear dynamic is calculated using where µ 1 and µ 2 are non-linear model parameters and U j is CPU utilization of host h j .
Storage. E Storage represents the energy consumption of storage devices to store data. The data read and write operations account for the energy consumption in such devices E Memory represents the energy consumption of the main memory (RAM/DRAM) and cache memory (SRAM), which is calculated using Network. E Network represents the energy consumption of networking equipment such as routers, switches and gateways, LAN cards, etc., and is calculated as Peripherals. E Extra represents the energy consumption of other parts, including the current conversion loss and others and is calculated as (11) where E motherboard is energy consumed by motherboard(s) and f ∈F E f connector is energy consumed by a connector (port) running at the frequency f, where the set of port frequencies is denoted by F.

Cooling Model
In the cooling model, E Cooling denotes the energy consumed by cooling devices to maintain the temperature of a cloud datacenter, which is calculated using where E AC is the energy consumption of the air-conditioner inside the cloud-datacenter, E Compressor is the energy used by the compressor, E Fan is that of the fans attached to the radiators and E Pump is that of the pump within the all-in-one (AIO) water cooling solution.

Thermal Model
To design the thermal model, we use the Computer Room Air Conditioning (CRAC) model and RC (where R and C are thermal resistance (k/w) and heat capacity (j/k) of the host respectively) used as a time-constant to estimate the temperature of the CPU for each host (T cu ) [6,7]. Thus, where the inlet temperature (T emp inlet ) is calculated using CRAC model (T cu ); the RC model is used to calculate CPU temperature (T CPU ); P is the dynamic power of host. T inital is the initial temperature of the CPU, which is taken as the ambient temperature of the datacenter [7]. The detailed description of the thermal model and the various metrics is given in our previous works [6].

GGCN based Surrogate Model
As described in Section 1, we model the inputs of our surrogate model using a geometric graph representation (see Figure 2). We form two graphs D and S . The former represents the inter task dependencies and the latter represents the bi-partite graph corresponding to the scheduling decision. D = (V D , E D ), where V D denotes the tasks as nodes and E D denotes the inter-task dependency in terms of the jobs they belong to as undirected edges. Each task has a feature vector corresponding to the Instructions per Second (IPS), RAM, Disk and Bandwidth consumption. The RAM, Disk and Bandwidth consumption also include the read and write speeds of such tasks. Each edge (t p , t q ) in E D is an unordered pair such that tasks t p and t q belong to the same job j ∈ J. S = (V S , E S ) is a bi-partite graph with nodes of two types: tasks and hosts. The edges of the graph (t p , h r ) ∈ E S correspond to the allocation decision of the current state, where task t p is allocated to host h r . Similar to D, each task has a feature vector corresponding to the IPS, RAM, Disk and Bandwidth consumption. The feature vectors of the host machines consist of the IPS, RAM, Disk and Bandwidth consumption and capacities.
To perform graph convolutions, we combine S and D into a single heterogeneous graph, where the edge set now becomes E D ∪ E S , such that each edge now also has an edge type (task dependence or allocation relation). This hetero-graph is then sent to the GGCN model to run convolution operations. The GGCN model executes convolutions across the edges of the graph where the convolution operations are weighted using a Gated Recurrent Unit (GRU). The convolution operations allow the model to share information across different tasks and hosts whilst inferring a latent representation of the scheduling decision. This information sharing helps the downstream operations to explicitly leverage the inter-task dependencies and the implications of an allocation or migration decision on host utilization characteristics. The GRU based weighting allows the model to be flexible with respect to the extent to which the feature vectors of hosts and tasks should be combined. Formally, the message passing leads to graph-to-graph updates Here, W, b are parameters of the feed-forward layer within the GGCN network, e i is the feature-vector (described previously) of a node i ∈ V D ∪ V S in the heterogeneous graph and k varies from 1 to p. Also, the messages for task i are aggregated over one-step connected neighbors n(i) over the p convolutions, resulting in an embedding r p i for each task node in the graph. The stacked representation for all tasks is represented as r p . Convolutions across these edge types help as the dependence of task utilization characteristics with the allocated hosts is the maximum and much lower for hosts on which the task is not allocated. This allows the scheduling decision to properly manage task and hosts utilization characteristics while also considering the changing demands of tasks. We generate the graph encoding e S by passing r p through a feed-forward layer as e S = FeedForward(r p ).
We also capture the thermal-characteristics of the host machines in terms of their current temperatures (T cu ) and the power to load profile 11 (see Figure 3 for a sample performance to power profile). We model the thermal profile and current temperature of all hosts as vectors (T emp) and pass through a FeedForward network e T = ReLU(FeedForward(ReLU(FeedForward(T emp)))).
(16) We then use Bahdanau style self-attention [32] to generate an estimate of the QoS objective. This allows the model to focus only on those hosts that can potentially become thermal hotspots.
O = Sigmoid(FeedForward(e S · Softmax(e T ))). 11 We use Standard Performance Evaluation Corporation (SPEC) power consumption models to generate power to load performance curves of our cloud hosts. URL: https://www.spec.org/power_ssj2008/ Source: SPEC benchmark power profile repository https://www.spec.org/power_ssj2008/results/res2021q2/power_ ssj2008-20210528-01098.html.  The sigmoid operator allows us to generate an output within [0, 1] to enable training with normalized QoS scores. The GGCN model is agnostic to the QoS objective in general; however, in our experiments we use energy, temperature and SLA violation rates to train and fine-tune the model (see Section 3.5).
To train the GGCN model, we use the Mean-Square-Error (MSE) loss between the predicted and ground-truth QoS scores.

Using GGCN Model for Scheduling
We now present the modus operandi of the proposed HUNTER resource scheduling technique using the GGCN network as a surrogate model (summarized in Algorithm 1). Figure 4 shows a graphical representation of the HUNTER scheduler. The input for the scheduler is the resource utilization metrics of the hosts and tasks that need to be allocated or migrated and the thermal characteristics of the cloud hosts. These are obtained from the resource monitoring and the thermal management services in the cloud broker (see Figure 1). These metrics are then combined to generate the S and D graphs and the T vector as described in Section 3.4. The allocation in the S graph is obtained from the scheduling decision of the previous interval for I t for t > 0 and a random allocation otherwise (line 2 in Alg. 1). Thus, from the input [S , D, T ] we obtain an estimate of the QoS scoreÔ. Now to generate a scheduling decision, we choose subsets of all tasks and hosts, each of size K. We sort the tasks based on the power consumption of their hosts, breaking ties using the CPU utilization and consider top K such tasks (line 4 in Alg. 1). Now, for each such high energy-resource consumption task, we choose a target host where it can be migrated. To do this, we sort all hosts in terms of the performance to power ratio and choose the bottom K hosts (line 5 in Alg. 1). Now, we consider all K × K combinations and choose the host h that maximizes the objective score estimate obtained from the surrogate model. We denote the updated S graph with task-host allocation (t, h) by S (t, h) (line 7 in Alg. 1).
To choose the value of the K parameter, we leverage the network transfer constraints. Consider the router bandwidth (in MB/s) in a CDC to be denoted by B and the size of a scheduling interval (in seconds) by I S . Also, let us denote the minimum size of a container in the CDC in MB by S C . Then we define Intuitively, this denotes the upper-bound of the number of tasks that can be migrated in the scheduling interval. If we try to migrate more than K tasks in any decision, the tasks would take more than I S seconds, rendering the migration useless as new decisions are taken every I S seconds. For a typical setting with bandwidth of 100-MB/s, scheduling interval of 300seconds and container size of 3000-MB, K = 10 allowing us to check only 100 task-to-host allocations. This can be significantly more efficient than checking all task-host combinations, which may be in thousands.
The motivation behind using the performance-to-power ratio to sort hosts is as follows. Consider the sample performance to power ratio profile shown in Figure 3. This ratio indicates the amount of CPU computational performance we get for each watt of power consumed. It is apparent that this ratio is highest for 70% CPU load and reduces for higher or lower CPU loads. Most cloud servers have similar trends in their power profiles, with a sweet spot around 70-80%. Higher CPU load can be easily avoided by capping the constraint checker in the scheduler to not allocate tasks to host with 80% CPU load. However, choosing the optimal target host for lower CPU loads is challenging due to the heterogeneity of the host power profiles. This key insight of using the performance-to-power ratio allows us to minimize the number of migrations as well as the time to explore different scheduling options.
Further, to adapt in volatile settings, at every scheduling interval we train the neural approximator using back-propagation. To do this, we obtain the latest QoS objective score from the QoS manager of the cloud broker and fine-tune the weights of the GGCN model by back-propagating the MSE loss between the predicted and true QoS scores. The ground-truth QoS score is obtained as (lines 14-16 in Alg. 1) T asks ← get top K tasks based on power consumption 5: Hosts ← get bottom K hosts based on performance to power ratio 6: for (t ∈ T asks) do 7: host ← arg max h∈Hosts f ([S (t, h), D, T ]) 8: if (allocation of t to h is feasible) 9: Allocate or migrate t to h. where AEC, AT and S LAV denote the average normalized energy consumption, average normalized temperature and SLA violation for the leaving tasks in the previous interval. Here, α, β, γ are convex-combination weights. To minimize the metrics of energy, temperature and SLA violations, we maximize O. Continuous training of the model allows it to quickly adapt to dynamic workloads and also consider changing scheduling decisions and use these as well to consider task migrations and allocations. As shown in line 8 in Alg. 1, for each container, we check if allocation to the host corresponding to the maximum QoS score of the GGCN model is feasible, if yes we allocate/migrate the container to this host else add it to the wait queue to be processed in the next interval.
Computational Complexity. Assuming that the inference of a deep neural network is an O(1) operation, we provide the computational complexity in the Big-O notation. Assume p = |P ∪ Q| active tasks and q = |H| hosts in the system. Selecting K ≤ q hosts and tasks from these sets based on the previously described metric is an O(q log K) and O(p log K) operation. Checking all K × K task to host allocations is a O(K 2 ) operation. Overall, the computational complexity of checking the various allocation choices is O(K 2 +q log K+p log K) = O(p+q) as K is a fixed constant (hyperparameter). This is significantly better than checking all possible task-host combinations, viz, O(pq) in the typical case where p > q.

Performance Evaluation
We now describe how we evaluate the HUNTER scheduler and compare it against the state-of-the-art baselines: PADQN, CRUZE, MITEC, ANN, SDAE-MMQ and HDIC as described in Section 2.

Evaluation Setup
We have tested our proposed approach in both real and simulated cloud environments using the COSCO framework [14] and the CloudSim toolkit [19]. We keep the size of the scheduling interval as 5 minutes or 300 seconds and run our experiments for 100 scheduling intervals to generate QoS results. For statistical significance, we average over 5 runs. The first is a physical setup where we have used 10 Azure VMs in a distributed cloud setup as described below.
• Private Cloud. 6 Azure machines, four of type B2s (dualcore CPU with 4 GB RAM) and two of type B4ms (quadcore with 16 GB RAM). They were instantiated in the London, UK Azure datacenter. • Public Cloud. 4 Azure machines, two of type B4ms (quad-core with 16 GB RAM) and two of type B8ms (octacore with 32 GB RAM). They were instantiated in the Virginia, USA Azure datacenter. We also tested on a simulated platform with 5 times the instances as described above to give a total of 50 hosts. The former allows more accurate testing of our approach while the latter allows large-scale experimentation. We use the SPEC power benchmarks to determine the energy consumption of the datacenters as done in prior work [14]. We used the R and C values in (13) as 0.5 and 0.03 based on prior work [33]. We followed the same implementation details as in prior work [14,30,34].

Workloads
For our physical experiments we use the DeFog benchmarking applications for their diverse and non-stationary workloads [35]. DeFog consists of various compute intensive AI applications like Yolo, PocketSphinx and Aeneas. The include workloads in the form of object detection in images, natural language processing, audio-text synchronization and speech recognition. We encapsulate these workloads as Docker containers to execute in our cloud servers. At the start of each scheduling interval we create Poisson(λ) jobs with λ = 1.2. The jobs are sampled uniformly from the three applications of Yolo, PocketSphinx and Aeneas. We divide the input batch of each job into 3 to 5 parts and send them to separate containers (each container acts as a task).
In our simulated setup, we use the popular dynamic traces from the BitBrain dataset to emulate a large-scale execution [36]. The dataset consists of performance metrics of more than a thousand hosts in a heterogeneous CDC. These traces are collected from the Alibaba distributed datacenter, which is very popular for providing services to perform business computations and manage hosting of industrial applications. Insurers (Aegon), credit card operators (ICS) and many major banks (ING) are the main customers of this datacenter. Further, various financial computing applications (e.g. Algorithmics and Towers Watson) related to credit worthiness domain are hosted here. Moreover, traces are divided into two categories: Rnd and fastStorage. To allow diverse workloads, we use both traces in our experiments. These traces consist of time-series models of CPU, RAM, Disk and Bandwidth utilization characteristics. As in the physical setup, we create jobs using the the Poisson(5)  distribution with each job is sampled uniformly at random from the Rnd and fastStorage categories and has 3 to 5 tasks. the λ parameter is chosen based on prior work [14].

Model Training
The GGCN model takes as an input, the utilization matrix of the active tasks and the capacity matrix of the target hosts. This includes the metrics like CPU, RAM, Disk and Network Bandwidth. We also include the SLA deadline as part of the task utilization matrix. To train the model we first run a random scheduler to cover as much of the state space as possible. We run this for a 1000 scheduling intervals and create a dataset of the form {([S , D, T ], O)}. Details for Reproducibility: We pass the input through a 4 layer GGCN model with 64 nodes each and initialize the hidden state of the GRU by a zero vector. We use AdamW optimizer with a learning rate of 10 −4 to train our model and use earlystopping as our convergence criterion [37]. All model training and experiments were performed on a system with configuration: Intel i7-10700K CPU, 64GB RAM, Nvidia GTX 1060 and Windows 11 OS.

Evaluation Metrics
To compare the proposed HUNTER method against the baseline methods, we use the following metrics: • Energy consumption given as E total in (2).
• SLA Violations which is given as where S LAV i is the 1 if SLA of job j i is violated else 0. • Average Response Time which is the mean response time for all completed jobs in an experiment • Datacenter Temperature given by (13). hour (in US Dollars) https://azure.microsoft.com/ en-gb/pricing/calculator/. • Fairness is given by the Jain's fairness index [14].
• Scheduling Time is the average time to generate a scheduling decision. • Wait Time is given as the average time a job spends in the waiting queue. • Migration Time is the average time a task spends in container migration. Figures 5 and 6 show the QoS parameters on the COSCO framework and CloudSim simulator respectively. Figures 5(a) and 6(a) show the energy consumption in a scheduling interval averaged over the number of tasks. Among the baselines, HDIC and SDAE-MMQ provide the most energy efficient policies. As we go from 10 to 50 hosts, the gaps in the energy consumption among schedulers increase, showing how robust the models are in minimizing energy consumption in large-scale setups.

QoS Results
Overall, HUNTER gives the lowest energy consumption, reducing by up to 11.90% compared to the best baselines (HDIC in physical and SDAE-MMQ in simulated testbeds). This is because of the high number of tasks that complete execution in case of HUNTER and the use of the performance-to-power ratio (Figures 5(g) and 6(g)). Figures 5(b) and 6(b) show that HUNTER gives the lowest average temperature for both setups, giving a reduction of up to 3.47% compared to the best baselines, ∼ 3 • C (HDIC). This is because of the thermal-aware attention operation in the GGCN based surrogate model that allows HUNTER to emphasize scheduling for hosts that could act as thermal hostpots. Figures 5(c), 5(d), 6(d) and 6(d) show the CPU and RAM utilization of all models. All models have similar resource utilization metrics, with some cases where the RAM consumption in the HUNTER approach is quite high. Checking the execution traces in case of the HUNTER scheduler shows that this is due to the strict load-balancing rules to prefer keeping the number of containers in hosts to maintain the highest performance to load. Migrations based on such an  approach can, in rare cases, lead to slight resource contention at the cost of minimizing energy or temperature. This is primarily when there are sudden spikes in task resource demands, having a cascading effect on other tasks running in the same host. Avoiding such cases is left as part of the future work. Figures 11(d) and 6(e) show that the proposed approach is able to reduce SLA violations by up to 35.41% compared to the best baselines (HDIC). This is primarily due to the accurate QoS objective prediction, allowing the model to minimize the SLA violation rates by checking the QoS estimate for several placement choices. Figures 5(f) and 6(f) show that all models have comparable fairness index values. Figures 11(e) and 6(h) show the average cost per task for each model. The HUNTER method has the lowest average cost giving up to 53.86% compared to the best baseline (SDAE-MMQ). PADQN has very high cost due to the excessive migration overheads as shown by Figures 5(k), 5(l), 6(k), 6(l). HUNTER like many other baselines has low wait times (Figs. 5(j) and 6(j)). Compared to the best baselines (HDIC and SDAE-MMQ), HUNTER has 42.78% lower scheduling time (Figs. 5(i) and 6(i)).

Sensitivity Analysis
We now show how various models scale with the number of workloads. The results in the previous section were time bound, i.e., for 100 scheduling intervals. Now we show how the QoS parameters vary with the number of workloads (see Figs. 7 and 8). Figures 7(a) and 8(a) show the variation in the consumption of energy with increasing number of jobs. HUNTER consumes up to 19.8% less as compared to best baseline models (HDIC and SDAE-MMQ). Overall, the rise in energy consumption with number of jobs for HUNTER is not as high as other baseline methods. This is because HUNTER uses the performance to power profiles of cloud hosts to maintain optimal performance while minimizing energy consumption. Figures 7(b) and 8(b) show the change in the temperature with the variation of job quantity. The value of temperature in HUNTER is 5.5% less than CRUZE because HUNTER uses CRAC-based cooling management [7] that avoids overloading and underloading of resources and can switch off idle resources automatically. Figures 7(c) and 8(c) show the change in the SLA violation rate with the variation of number of jobs. The value of SLA violation rate in HUNTER is up to 42.12% lower as compared to the HDIC baseline. Figures 7(d) and 8(d) show the change in the cost with the variation job count. HUNTER gives up to 63.75% less cost as compared to CRUZE and SDAE-MMQ. This is primarily due to the optimal performance to load management in the HUNTER scheduler. Figures 7(e) and 8(e) show the distribution of the scheduling time with the job count. There is a sharp increase in PADQN model as DQN scales poorly with time [14]. HUNTER has a higher scheduling time compared to the heuristic based baselines: CRUZE and MITEC. However, compared to the best baselines in terms of energy, temperature and cost, i.e., SDAE-MMQ and HDIC, HUNTER has up to 56.12% lower scheduling times.

Comparison between Simulated and Physical Setups
We now compare the QoS metrics for the HUNTER approach for the simulated (CloudSim) and physical setups (COSCO) (see Figure 9). Clearly, all QoS parameters increase with the rise of the number of jobs. Figures 9(a), 9(b), 9(c), 9(d) and 9(e) show a performance comparison of simulated and physical setup for energy consumption, host temperature, SLA violation rate, cost and scheduling time. Naturally, we get higher energy consumption, SLA violation rates and scheduling times for the simulated setup as there are five times the number of hosts in that of the physical setup. COSCO allows us to conduct more accurate experiments which give us less noisy fine-tuning as the model adapts to volatile workloads. This describes why the average rise in the temperature with the number of jobs is lower for the physical setup. Moreover, due to the imprecise computation of the resource utilization metrics for the tasks and hosts, the experiments of CloudSim simulator gives results that have high deviation from the ones conducted on the physical platform. Scalability wise we are able to show that HUNTER is able to scale well when the number of workloads or host machines is large. Table 2 compares the training and inference times of the HUNTER approach with the baseline methods. CRUZE and MITEC do not have any training overheads as they run online without training any AI model or neural network. We also test the training time for the GGCN model. Compared When comparing the inference times, the best baselines (HDIC and SDAE-MMQ) have a relatively high inference times of up to 1.17 seconds. HUNTER gives a scheduling time of 0.88 seconds, 24.78% lower than these baselines. HUNTER has comparatively low CoV indicates that the model is able to handle dynamic workloads well and is robust enough to handle environment non-stationarity [6].

Ablation Analysis
To study the relative importance of each component of the model, we exclude every major one and observe how it affects the performance of the scheduler. An overview of this ablation analysis is given in Figure 11. First, we consider the HUNTER scheduler without the top-K heuristic and check all task-to-host allocations (w/o Heuristic model). Clearly, this gives a much higher scheduling time (Fig. 11(f)) and has worse effect on the other QoS metrics due to its high overheads. Second, we consider a model without the thermal-aware attention, i.e., we only use GGCN part of the deep surrogate model (w/o Attn model). Here we see that the average temperature increases significantly, also impacting energy and cost. The other model we consider is replacing the GGCN network with a completely feed-forward one (w/o GGCN model). Here we see a significant increase in the MSE prediction error (Fig. 11(a)) leading to higher temperature, cost, SLA violations and energy consumption.

Conclusions and Future Work
In this paper, we proposed a Gated Graph Convolution Network (GGCN) based holistic resource management scheduling technique called HUNTER. Our scheduler enables energy-efficient utilization of cloud servers and reduces thermal hotspots. HUNTER achieves this by adding cooling specific energy and temperature models, unseen in previous approaches. Further, using a GGCN based deep surrogate model allows HUNTER to quickly generate QoS estimates, avoiding significant costs in testing various scheduling decisions. HUNTER uses performance to power ratio as a heuristic to effectively balance the load on cloud hosts, giving maximum compute power while reducing energy consumption. This heuristic also allows HUNTER to quickly explore the scheduling search space and quickly converge to a decision. Extensive experiments on both physical and simulated testbeds show that HUNTER outperforms baselines in most QoS metrics. Furthermore, the small values of the coefficient of variation of energy and temperature indicate that HUNTER is efficient in resource management while handling dynamic workloads. HUNTER optimizes five key performance parameters, viz, temperature, energy consumption, cost, SLA violation and time. The experiments demonstrate that the HUNTER performs better than existing AI based (HDIC, SDAE-MMQ, ANN and PADQN) and heuristic algorithm (CRUZE and MITEC) based resource schedulers.
This work can be extended by factoring in parameters that relate to scalability, security and reliability and their energy ramifications. Future work may also consider how cooling management can be further enhanced by capturing domain specific tactics for cooling; IoT and Fog/Edge computing reliant domains such as agriculture, healthcare and smart homes are among the candidate application domains to consider. Currently, HUNTER only decides the appropriate placement decisions for tasks; however it can be extended to also decide the AC or fan settings in the cases of deadline constrained or bursty workloads. Finally, HUNTER can use the concept of serverless edge computing to effectively scale applications.
The Docker images used in the experiments are available at https://hub.docker.com/u/shreshthtuli. Peter Garraghan is a Reader and EP-SRC Fellow in Distributed Systems. His research expertise is empirically studying and designing high performance, resilient, and sustainable distributed systems at scale (Cloud computing, Machine Learning systems, Datacentres, core network infrastructure) in the face of societal and environmental change. His research places strong emphasis on conducting analysis, design, and evaluation via experimentation on systems both in laboratory and production. Peter has published over 50 articles, has industrial experience building large-scale production distributed systems, and has worked and collaborated internationally with the likes of Alibaba Group, Microsoft, BT, STFC, CONACYT, and the UK datacenter and IoT industry. He is the recipient of the prestigious EPSRC Early-career Fellowship (2021 -2025), and his research on sustainable computing and future AI systems has featured in the media including the BBC and the Daily Mail.
Rami Bahsoon is a Reader at the School of Computer Science, University of Birmingham, UK. Bahsoon's research is in the area of software architecture, cloud and services software engineering, self-aware software architectures, selfadaptive and managed software engineering, economics-driven software engineering and technical debt management in software. He co-edited four books on Software Architecture, including Economics-Driven Software Architecture; Software Architecture for Big Data and the Cloud; Aligning Enterprise, System, and Software Architecture. He was a Visiting Scientist at the Software Engineer-