Workloads are submitted to cloud servers by the customers. Workloads comprise multiple tasks requiring heterogeneous resources in small, moderate, or large amounts. The granularity of a task may also range from something as simple as an HTTP request or word count application to complicated statistical or distributed batch processing. These tasks can be independent (able to be carried out in distinct computing threads) or dependent (unable to be carried out in isolation). In complex models, where the tasks are interrelated, the dependency is studied using two popular models – Bag of Tasks (BoT) and Directed Acyclic Graph (DAG).
The type of resources serving a workload hugely vary – from the underlying CPU cores, memory, and network resources to physical servers, containers, and even data centers. Data centers may comprise identical or different physical servers, and each server may have heterogeneity in terms of the component physical resources. The network topology of data centers plays a crucial role in determining the performance of the cloud servers in serving workloads. The data center network directly impacts the transmission time, delays, and congestion. The problem is more intense for geo-distributed cloud that comprises geo-distributed data centers. The objectives of cloud computing primarily target the following [33]:
Performance: The performance of cloud services is measured in terms of the response time of end-users, turnaround time of applications, and the overall waiting time. Further, service time is the measurement of the duration of time a cloud service is available, an important metric that indicates the “busy”-ness of a service provider.
Finance: As cloud follows a pay-per-use model, customers are charged only for the units of services they consume. However, in the process of charging, customers tend to choose the service provider who charges the lowest price. Therefore, there is a trade-off between the price charged by the provider and the overall profit.
Environment: The impact on the environment is a concerning issue these days due to the massive emission of CO2 from powerful computing servers. Therefore, minimizing the harmful impact on the environment is critical. The parameters affecting performance in this regard are usage of electrical energy, cooling costs, peak power consumption, and CO2 emission.
Other: Other auxiliary factors that contribute towards performance objectives are reliability, security, data privacy, and legal compliance.
Now, we discuss the different aspects of resource management (see Figure 1.6).
Cloud Brokering: Often, cloud workloads are submitted by third-party brokers. The primary goal of brokers is to match resources t...