2
Cloud Computing and Virtualization

Sudheer Mangalampalli1*, Pokkuluri Kiran Sree2, Sangram K. Swain3 and Ganesh Reddy Karri1

1 School of Computer Science & Engineering, VIT-AP University, Amravati, AP, India

2 Department of Computer Science & Engineering, Shri Vishnu Engineering College For Women, Bhimavaram, AP, India

3 Department of CSE, Centurion University of Technology and Management, Odisha, India

Abstract

Cloud Computing is one of the revolutionized paradigms in the IT industry, which can provide wide variety of services pay-as-you go model to all the customers in different domains like IT industry, Health, education, entertainment etc. These services are provisioned to the user based on the SLA between cloud user and provider virtually. Hypervisors are used to enable the virtualization and to spin up VMs in the cloud paradigm. There are different levels at which virtualization can be implemented, In this book chapter, we are discussing about the overview of cloud computing, different service models, deployment models and different virtualization techniques used for cloud paradigm. For effectiveness of any cloud computing paradigm, a task scheduler is necessary to get seamless services from cloud paradigm. Therefore, in this chapter we have proposed a task scheduling algorithm which uses priorities of tasks and VMs. For this algorithm we have used a nature inspired algorithm chaotic social spider algorithm to model task scheduling algorithm and simulated on CloudSim simulator. Finally, it was compared with existing algorithms PSO and CS and proposed approach is outperformed over existing algorithms with respect to makespan and energy consumption.

Keywords: Cloud computing, Service level agreement (SLA), virtualization, hypervisor, service models, deployment models

2.1 Introduction to Cloud Computing

2.1.1 Need of Cloud Computing

Cloud computing is a rapid growing model which is required in many of the fields like healthcare, finance, Education, Government services, Entertainment, Business and not limited to the domains which we have specified here. Initially all the organizations were invested huge amount on their IT infrastructure setup to provide their corresponding services to the customers. They have to invest a lot of up-front investment on the IT infrastructure, which can increase huge burden on the organization and procuring, deploying physical infrastructure is a challenging task, and it takes a huge amount of time for any organization. Physical infrastructure in terms of compute, storage, and network for any organization is limited and it is not scalable. So, the need of cloud computing comes into the point where the resources to the cloud users can be provisioned on demand with the concept named as virtualization. Scalability is also one of the important parameter where in the on premises environment it is not possible to scale up and down the resources on demand, as physical resources are limited. Therefore, with these main limitations like upfront investment and scalability in the existing on premises infrastructures the need for the cloud computing arises in every industry in these days. The below subsection describes about the history of cloud computing.

2.1.2 History of Cloud Computing

Initially in the earlier days in 2010, many of the people thought cloud means huge databases, servers and some may thought this technology actually came from real clouds [2] but it is not true. Cloud Computing is not started in this recent era but it was already existed in the different forms, as we could not confine cloud to a particular architecture either i.e. centralized architecture or distributed architecture. The history [3] of the evolvement of cloud with timelines and is given in the below table in a detailed way in the below table.

From Table 2.1, we can identify cloud computing paradigm was existed years ago and users using the paradigm but no one identifies that this model is cloud computing. When the vendors, which provides infrastructure, and software services on the cloud platforms comes into the picture then everybody is looking at cloud platform as a new model but it is already existed with the base known as virtualization. The above we have given the brief history of cloud computing. The next subsection discusses about the definition of cloud computing.

Tabel 2.1 Timeline of cloud computing [3].

YearTimeline and history of evolvement of cloud
1950Herb Grosch assumption about operation of Computer terminals using Data Centers.
1960John McCarthy opinion about computations as public utility
1966Douglas Parkhill gave his explanation about characteristics of cloud computing
1969Development of UNIX
1970Development of Internet
1990Era of Internet begins
1991General use of Internet Started
1995Online Auction website eBay was developed and amazon was also evolved in the same year.
1999Salesforce developed a cloud platform, which is a Software-as-a-Service.
2006Amazon started AWS, which is initially started as infrastructure-as-a-Service.
2008Eucalyptus, Open Nebula were developed which are private cloud platforms.

2.1.3 Definition of Cloud Computing

In this section, we have given the definition for cloud computing which was defined by the NIST. Initially there is no standard definition for cloud computing but after the use of this paradigm by many of the companies NIST [1] in the year 2011 has given a definition for Cloud Computing based on certain characteristics. According to NIST, it was defined as “On demand network access to a shared pool of configurable computational resources which can gives seamless access of services to the users”.

2.1.4 Different Architectures of Cloud Computing

In this section, we will discuss about architecture of Cloud Computing. Generally Cloud architecture needs a browser application i.e. to be in any of machine – desktop, laptop, or any device which supports the browser and it should be connected to the Internet and which is again connected again at the backend at the virtual infrastructure which is resided in physical host and which in turn resided in the datacenters. Architecture of Cloud Computing basically divided into two types: i. Generic Architecture and ii. Market oriented Architecture.

2.1.4.1 Generic Architecture of Cloud Computing

This architecture about the generalized version of Cloud Computing and which consists of the components in the below architecture.

The above Figure 2.1 represents Generic architecture of Cloud Computing which consists of three layers [4] i.e. Front end, Network and Infrastructure layers. Front end consists of an application which can be runs from a web browser in any of the device i.e. desktop, laptop, and mobile. Network layer consists of a network which connects both Frontend and backend infrastructure and finally the backend component and finally infrastructure layer consists of virtual machines which are resided in the physical hosts and which in turn resided in datacenters. The above architecture is a generalized architecture which can gives the overview of cloud computing.

A schematic illustration of the generic architecture of cloud computing.

Figure 2.1 Generic architecture of cloud computing [4].

2.1.4.2 Market Oriented Architecture of Cloud Computing

This architecture is about the Market Oriented Architecture represented in Figure 2.2, it is a customized architecture for different cloud vendors based on the needs of the customer, and thereby cloud vendor will render the services required for the cloud users. Many of the cloud vendors named as AWS, Azure and Google cloud they are providing the required custom-ized architecture for the users based on the Service Level Agreement made between user and provider. Initially in this architecture, user requests are submitted in the cloud console or interface. On behalf of the user, broker will take these requests and submits them to the task manager where it consists of SLA resource allocator which examines requests made by the user and based on the agreement made by the user and vendor it will allocate resource by dispatching that request through dispatcher to VMs resided in Physical hosts which in turn resided in datacenters. It also consists of Accounting and pricing modules to calculate the price for all the services used by the user and automatic pricing will be calculated by the pricing module. It consists of a VM Monitor module which will track the availability of VMs i.e. how many of the VMs are utilized and how many of the VMs are free. These details will be tracked through VM monitor module. For every request given by the user and examined by SLA resource allocator and before assigning it to a virtual machine VM monitor will track the availability of VMs and then based on that it will assign that task to corresponding VM. All these VMs are running in the cloud enabled by a component called hypervisor through which virtual environment will be enabled for the VMs. The below figure represents Market oriented architecture of Cloud Computing. We have presented the architectures of cloud computing in a detailed way. Many of the users chooses different cloud services based on the need of the application and customized version of the cloud platform and services will be provided to the customers so the generic architecture is to assumed as an ideal version and in real time market oriented architecture is to be used by the customers. Now in the below section, we have to discuss about the various applications of cloud computing in different domains.

A schematic illustration of the market-oriented architecture of cloud computing.

Figure 2.2 Market-oriented architecture of cloud computing [5].

2.1.5 Applications of Cloud Computing in Different Domains

There are many kinds of applications where cloud computing is used for different purposes. In this sub section some of the applications of cloud computing in different domains are discussed. These are some of the domains mentioned below.

  • Healthcare
  • Education
  • Entertainment
  • Government
  • Transportation

2.1.5.1 Cloud Computing in Healthcare

In these days, maintaining the patient data manually in the hospitals is a challenging job. Most of the patient health records are in the electronic format and to store these records like test reports, X-rays and scanning reports is easier through cloud storage and to store them in a huge manner it is not that much easier by using standard storage mechanisms. Using Cloud Computing, doctor and patient can easily access the records even if they are sitting remotely. Many of the hospitals and health insurance vendors also maintain their records in cloud for easier processing of insurance for the patients. In this way, Cloud Computing technology is used in health-care domain.

2.1.5.2 Cloud Computing in Education

Pandemic shifted the normal situation into a new normal. To handle this current situation, all the educational institutions are using different tools to teach the students and even for conducting the meetings and other activities. Cloud Computing plays a major role in education domain as many of the organizations uses variety of tools i.e. Microsoft teams from Azure cloud, Google meet from Google cloud and many of the tools are running in the cloud, which can gives greater scalability and flexibility to engage the students in education domain.

2.1.5.3 Cloud Computing in Entertainment Services

This technology gives us a lot of scope to use it in various domains. It can also be used in entertainment where lot of online platforms named as OTT services can be run with the support of cloud computing at the backend. It is difficult to run these services with on premises infrastructure as millions of the people around the world can subscribe these services so there is a chance to get the scalability issue when they run on the on-premises environment. Therefore, these OTT vendors have to use this technology to render their services to the customers with high range scalability by providing seamless services to the users.

2.1.5.4 Cloud Computing in Government Services

Many of the government sector departments also using Cloud Computing technology for running their virtual infrastructure in Cloud. For example, DBS bank runs their total infrastructure on AWS cloud therefore which can reduces their upfront infrastructure cost. It is important for the countries which consist of more dense population and if the people need to use the services in online then there is a definite need to use cloud computing as the technology in many of the Government services.

2.1.6 Service Models in Cloud Computing

In cloud computing, all the components like compute, storage, and network will be rendered as a service to the users. The major services provided by the cloud are mentioned as below.

  • Infrastructure-as-a-service
  • Platform-as-a-service
  • Software-as-a-service

There are many other kind of services like Database-as-a-service, Machine learning-as-a-service and IOT-as-a-service and not limited to these but many more services are available in the various cloud platforms in the below Table 2.2. In this chapter, we briefly discusses about the main services which leverages the services to the users of cloud computing.

Infrastructure-as-a-service: This is the primary layer or service model in cloud computing which can provide virtual infrastructure to the users through which they can get VM instances virtually i.e. compute services through which huge computational tasks or requests can be handled on demand without any upfront investment cost. This layer also provides virtual storage, which can give the advantage of scalability to the corresponding user to store their data in cloud when compared with the on premises environment.

Platform-as-a-service: In cloud computing, there is a chance to develop our own applications on top of the cloud platform which leverages services to the cloud user by enabling the platform to develop their applications on cloud platform with the use of REST API services and different middle-ware software.

Table 2.2 List of services in major cloud vendors.

Name of the cloud environmentInfrastructure-as-a-servicePlatform-as-a-serviceSoftware-as-a-service1
Amazon Web ServicesEC2, S3, EBS, EFSElastic BeanStalkSNS, Email service
Google Cloud PlatformCompute Engine, Storage and databaseDeveloper tools, APP EngineGmail, Google Drive
Microsoft AzureAzure Virtual machines, Blob Storage, Disks, Files.Web Apps, Developer Services, Integration services etc.Microsoft email, one drive
A schematic illustration of the service and deployment models in cloud computing.

Figure 2.3 Service and deployment models in cloud computing [6].

Software-as-a-service: This layer or service model can be used to run the software on cloud platform rather than in the on premises environment. This service greatly helps the cloud users or customers, which gives seamless access to the software which is running on the cloud.

All the above services are existed in different cloud platforms with different names. The below table represents some of the different services in various cloud platforms.

Figure 2.3 shows various services and deployment models in cloud computing.

In the previous section, we have briefly discussed about various service models in cloud computing, and in the below section, we have briefly given about various deployment models in cloud computing.

2.1.7 Deployment Models in Cloud Computing

This section discusses about various deployment models, which can give overview about how the cloud vendor provides services while deploying the environment and how they can leverage the services to the users in different ways. They are Public, Private, Hybrid, and Community Clouds.

Public Cloud: This is one of the major deployment models in cloud computing through which every user can use the services on a paid basis and the services can be publicly available through online by the cloud vendor. There are many of the cloud vendors, which provide services to the customers seamlessly without any hassle and the vendors are AWS, Google Cloud Platform and Microsoft azure are the major game players in the market.

Private Cloud: This deployment model renders the services to the users by the cloud provider only restricted to that organization. Cloud Provider will renders the services to the users through a virtual private cloud environment which is isolated from the other users and these services are restricted to the corresponding organization and it can be accessed from the users from the cloud environment by means of a private IP address from the user host.

Hybrid Cloud: In many of the organizations all the data and services cannot be accessed to all users. Therefore, users may have to get access to some of the basic services and services which are not accessible to the users can be restricted by private cloud. So, public and private cloud services were combined in this deployment model.

Community Cloud: This deployment model is mainly to be used when resources are collaborated in between organizations in terms of infrastructure virtually. This can be done by the cloud provider itself with corresponding organization or an external third party. This model is especially used for organizations with same type of concerned issues.

This chapter discusses mainly about the role of Virtualization in Cloud Computing, need of virtualization through which cloud vendors provide different services i.e. compute, storage, and network.

2.2 Virtualization

Virtualization is a process of multiplexing of Virtual machines in a single physical host. This process will enable a virtualization layer on top of a physical machine which can be enabled through a hypervisor or otherwise it is called as a Virtual Machine Monitor.

2.2.1 Need of Virtualization in Cloud Computing

Virtualization plays a very important role in Cloud paradigm, as it is difficult to maintain much number of physical hosts in the datacenters to render cloud services to all the users around the world as it is difficult for cloud vendors to maintain physical hosts and it incurs a huge cost for the cloud vendor. It is very difficult for the cloud vendor to spin up and down the servers if they are maintained in a physical host and to handle huge requests on demand by the cloud vendor virtualization is the best process, which separates virtual machine instance from the hardware layer. Therefore, to reduce the costs incurred due to the maintenance of hardware through physical hosts and to increase scalability there is a need to use virtualization in the cloud paradigm.

2.2.2 Architecture of a Virtual Machine

The below figure shows the architecture of a virtual machine which is running on top of a Physical host.

Figure 2.4 shows the architecture of a Virtual machine in which the lower layer shows the actual hardware of a physical host, which consists of the infrastructure. Physical host consists of the next upper layer named as Operating system, which is on top of infrastructure layer. There is a software which can enables virtualization in the physical host named as Hypervisor. It creates a virtual layer on top of physical host, which maps and organizes VMs and maps them onto the physical resources in the host. Each Virtual machine is called as a VM in short form and it consists of a guest OS, library packages and on top of it applications can be run in virtual machines. Each VM can be isolated from another VM and no VM creation; destroying of any VM won’t depend on each other. This architecture gives a security perspective and all the resources running in VMs are secured as they are isolated from each other. Therefore, virtualization provides flexibility, security and scalability and due to this reason many of the companies and vendors using virtualization.

The below sub section gives advantages of Virtualization.

 A schematic illustration of the virtual machine architecture.

Figure 2.4 Virtual machine architecture.

2.2.3 Advantages of Virtualization

These are some of the advantages of Virtualization technique.

  • Efficient use of Hardware Resources.
  • Availability
  • Speedy recovery
  • On demand setup and configuration of a VM
  • Easier migration

Explanations of the above advantages are described below.

Efficient use of Hardware Resources: Resources in Physical hosts are always in underutilized mode and it depends on the application which we are using on the hardware resource. To utilize the hardware resources in a proper way, the organization create multiple VM instances on a single host and thereby they can utilize the hardware resources efficiently by using virtualization.

Availability: This is also one of the biggest advantages of virtualization through which servers can be available all the time and round the clock. If the server can be down at any time, we can easily migrate the virtual server from one pool to another. This is not that much easy if any server down occurs in on premises environment. Therefore, availability is one of the greatest advantages we can get by virtualization.

Speedy recovery: It is one of the advantage with virtualization when any VM crashes and if it is down at times then we can easily restore the VM from by using rollback whereas that facility is not available with on premises environment and if any huge load comes onto that VM there is every chance to migrate the VM from that pool to a high end configuration pool.

On demand setup and configuration of a VM: It is very difficult to setup and configure a server in on premises environment. It takes days and months to set up a server in on premises environment. Virtualization made it easier for us to setup and configure a sever within few minutes. Therefore, this reason made virtualization advantageous for a cloud user.

Easier Migration: This is the biggest advantage of virtualization as if the server fails or crashes or down for any reason and if any huge load coming onto server which cannot handled by it through virtualization we can easily spin up a new server in the span of minutes and migrates the overloaded workload onto the VMs easily.

These are some of the advantages of virtualization we have discussed here and to implement this virtualization we have different levels of implementations of virtualization.

2.2.4 Different Implementation Levels of Virtualization

Figure 2.5 represents different levels to implement virtualization. Each of these implementation levels has its own advantages and disadvantages. In this section, we will discuss about only how virtualization can be implemented at these levels.

2.2.4.1 Instruction Set Architecture Level

This is one of the levels of virtualization implementation in which VM will be emulated by performing a binary code translation by using a virtual set Instruction architecture [7] which is to be running in the VM. All the instructions running in the physical host have to be emulated onto the VM by translation of every instruction from the physical host and it also depends on the architecture of the machine currently using at that time for virtualization. Therefore, this process of virtualization at Instruction Set Architecture Level is relatively slow when compared with the processes of implementing at other levels.

 A schematic illustration of the different levels for implementation of virtualization.

Figure 2.5 Different levels for implementation of virtualization [7].

2.2.4.2 Hardware Level

Virtualization at hardware means virtualizing the physical resources such as processor, memory, and I/O devices [7]. This process can be done on top of a bare metal hardware machine with the use of a hypervisor. Most of the organizations use xen hypervisor to enable virtual machine environment.

2.2.4.3 Operating System Level

This is the most frequently used and simple process of implementation of virtualization. On top of an operating system a virtualization layer can be enabled with the help of a hypervisor and it can be viewed as a container [7].

2.2.4.4 Library Level

This virtualization is to be used in most of the cross platform instances where the applications can be run through the support of Libraries such as WINE [7]. In Linux operating system, Microsoft windows applications can be installed and run by using WINE API which can hook the application to the cross platform.

2.2.4.5 Application Level

This is the easiest way for implementation of virtualization as it runs like a process in a machine. Virtualization can be done along with the operating system layer. Best suitable examples of application level virtualization is .NET and JVM running in the physical host [7].

In the above section, we have briefly discussed about the different implementation levels of virtualization and finally in the next section role and importance of server consolidation using virtualization will be discussed.

2.2.5 Server Consolidation Using Virtualization

Server Consolidation using Virtualization is one of the key aspects in data-centers [7] as many of the hardware resources in datacenters are underuti-lized and most of the physical resources are wasted and which in turn increases energy consumption, increases carbon foot prints and which in turn increases the Power cost and also impacts the environment. For this purpose, most of the datacenters uses a technique called server consolidation to optimize the servers by consolidating the unused servers onto a single physical machine. Server Consolidation provides many advantages and some of the advantages are mentioned below.

  • Efficient utilization of Hardware Resources.
  • Independent deployment and provisioning of resources in the datacenters [7].
  • It can reduces operational costs to the cloud vendor, i.e., minimizing cooling costs, maintenance costs, network hardware requirements.
  • It will improve the availability of servers round the clock.
  • It will not impact the physical host operating system even if any guest OS can be crashed in the VM as VM templates are readily available as images so that we can quickly set up the servers.

2.2.6 Task Scheduling in Cloud Computing

Task Scheduling is a huge challenge in Cloud Computing as incoming tasks coming onto the cloud interface were varies with respect to size, processing capacity and moreover that they are dynamic in nature i.e. at times tasks were heterogeneous and in order to handle such type of workloads and to map tasks to appropriate VMs an effective task scheduling algorithm is needed. There are several algorithms proposed by many of the earlier authors and all those algorithms were addressing mainly the parameters named as makespan, energy consumption, and operational costs but there is no algorithms mapping tasks onto VMs based on characteristics of tasks. In this section, we have proposed an algorithm, which calculates priorities of tasks and priorities of VMs based on electricity price per unit cost. Priorities of tasks are calculated based on size and processing capacities of tasks. Chaotic social spider algorithm is used as methodology for scheduling tasks. We have used a simulator known as CloudSim for performing the simulation. This proposed approach was compared with existing algorithms which uses nature inspired algorithms like GA, PSO, CS, and CSO. From results, we have identified that our proposed approach shows huge impact over existing approaches in terms of makespan and Energy consumption.

Main Contributions of this proposed algorithm are:

  1. We have used Chaotic Social Spider algorithm [30] used to do scheduling optimization.
  2. Tasks are effectively mapped based on priorities calculated before submitting it to scheduler.
  3. Makespan and Energy consumption are addressed as parameters in this proposed scheduling mechanism.
  4. Simulation results are compared with existing algorithms like PSO and CS algorithms.

The below Table 2.3 represents various existing task scheduling algorithms, which uses nature-inspired algorithms addresses metrics mentioned in the above Table 2.3. They have not mapped tasks based on [9] priorities of tasks and VMs in the cloud environment. This proposed task scheduling algorithm accurately maps tasks to [9] VMs based on priorities of tasks and VMs so that based on that parameters named as makespan and energy consumption were evaluated. We have used chaotic social spider algorithm used to solve optimization problem and used to model our algorithm, which is based on foraging strategy of spiders [30] and searches for prey based on the vibration on spider web. The below table represents various existing task scheduling algorithms with different objectives.

Table 2.3 Existing scheduling algorithms.

AuthorsUsed methodologySimulation environmentParameters addressed
Mangalampalli et al. [8]Cat Swarm OptimizationCloudSimMakespan, Total Power cost, migration time, Energy Consumption
Mangalampalli et al. [9]Whale optimizationCloudSimMakespan, energy consumption and power cost at datacenters
Mangalampalli et al. [10]Hybrid CSPSOCloudSimMakespan, migration time and Total Power Cost at datacenters.
Yahia et al. [11]Complement Squirrel Search algorithmCloudSimQuality of Service
Prasanna Kumar, K. R. et al. [12]Crow Search algorithmCloudSimMakespan
Bacanin et al. [13]Grey Wolf OptimizerCloudSimQuality of service and Robustness
Midya et al. [14]Hybrid Adaptive PSOMatlabResponse time and energy consumption
Alsaidy et al. [15]Improved PSOMatlabMakespan, total execution time, energy consumption
Sharma et al. [16]Enhanced Ant Colony OptimizationCloudSimMakespan
Arul Xavier et al. [17]Chaotic Spider algorithmCloudSimMakespan, load balancing of tasks
Agarwal et al. [18]Cuckoo search AlgorithmCloudSimResponse time, makespan
Abualigah et al. [19]Multiverse GAMatlabTotal Completion time
Srichandan et al. [20]Hybrid Bacteria foraging algorithmCustomized Cloud environmentSLA violations
Sarah et al. [21]Enhanced Multiverse optimizerCloudSimMakespan and Resource utilization
Abualigah et al. [22]Antlion optimizationCloudSimMakespan and Resource utilization
Basu et al. [23]GA and ACO algorithmCustomized Cloud environmentMakespan
Gamal et al. [24]Hybrid Artificial Bee and ACOCloudSimMakespan, response time, execution time
Khorsand et al. [25]Best Worst and Topsis MethodologyCloudSimMakespan, energy consumption.
Pirozmand et al. [26]Genetic and Energy conscious schedulingCloudSimEnergy consumption and makespan
Jain et al. [27]Binary Salp Swarm AlgorithmCloudSimMakespan, resource utilization, throughput.
Fanian et al. [28]Fire fly and Simulated AnnealingCloudSimmakespan
Natesan et al. [29]Grey Wolf optimizationCloudSimMakespan, Operational costs
Kumar, Mohit, et al. [32]Spider Monkey OptimizationCloudSimMakespan, Operational costs
Dubey et al. [33]PSO and CSCloudSimEnergy Consumption
Mohit et al. [34]BPSOCloudSimMakespan, Total Execution time.

2.2.7 Proposed System Architecture

In this section, we have carefully designed the system architecture. Initially user requests are submitted at cloud console. On behalf of users broker will submit these requests to the task manager. Here before submitting requests to task manager, we are inducing priority of tasks and priority of VMs in this algorithm. Priorities of tasks calculated based on size of task and processing capacity of tasks. Priorities of VMs calculated based on price per unit of electricity of datacenter’s location. This multi criteria help us to map tasks effectively on to appropriate VMs when scheduling tasks in cloud. If all tasks are having the same priority, then scheduler will map all tasks to the VMs where that datacenter is located with low price per unit cost and if resources are exhausted in that pool or if they are overloaded then tasks will be migrated to the next VM in the same pool or different pool in the same datacenter or to the next VMs in the same or different datacenter by using next price per unit cost of electricity. Figure 2.6 gives overview about our proposed system architecture.

2.2.8 Mathematical Modeling of Proposed Task Scheduling Algorithm

This section describes mathematical modeling of proposed system architecture. To formulate accurate mathematical modeling, we have assumed n tasks i.e. tn = {t1, t2, …. tn}, k VMs i.e. vk = v1, v2, …, vk and i datacenters i.e. di = {d1, d2, … di}. Now these n tasks are mapped onto k VMs accurately by calculating priorities of tasks and VMs. The below equation is used to calculate entire load on all VMs. Initially to calculate, priorities of Tasks, we need to calculate overall load on entire VMs and in turn to calculate overall load on physical hosts. The below equation calculates overall load on all VMs.

(2.1) equation

Loadk indicates overall load on k VMs.

The below equation calculates overall load on Physical hosts.

(2.2) equation

Where Loadj indicates load per physical host.

Priority of task depends on length of task and processing capacity of tasks and the mapping VM of that task. Capacity of a VM can be calculated by using the following equation

(2.3) equation

Where cvm indicates a capacity of a VM, pno indicates number of processing elements in a VM and pmips indicates number of MIPS cycles it takes to process a request or task.

Now overall capacity of all VMs can be calculated by following equation.

(2.4) equation
 A schematic illustration of system architecture of task scheduling algorithm.

Figure 2.6 System architecture of task scheduling algorithm.

Where Totalcvm indicates total capacity of all VMs assumed in mathematical modeling.

Priority of a task depends mainly on length of task and processing capacity of task so that it can be calculated by following equation.

(2.5) equation

Now priority of task is calculated as below by following equation.

Now we have calculated priority of task but we are using a multi criteria decision making system in scheduler which checks for the appropriate VM based on task priority and thereby it needs to map a VM with lower electricity cost VM in the available datacenters.

Where vmprio indicates priority of VM in the available datacenters, eccosth indicates highest electricity unit cost among all datacenters and eccostdi indicates electricity unit cost at corresponding datacenter.

We are addressing parameters named as makespan as this is a primary objective of any task-scheduling algorithm and it is calculated by using following equation.

Where mn is makespan of n tasks and image represents availability of k VMs to run n tasks.

After calculation of makespan, energy consumption in cloud paradigm calculated by using following equation.

2.2.9 Multi Objective Optimization

Effective mapping of tasks to VMs by addressing parameters makespan and Energy consumption and inducing priorities into scheduler is a challenging task as cloud paradigm is a dynamic scenario. Therefore, we have decided to use a nature inspired algorithm i.e. chaotic social spider algorithm [30]. We have written fitness function in such a way that it should minimize makespan and energy consumption. The following equation represents fitness function

Equation 2.10 is used as fitness function to optimize makespan and energy consumption. To optimize the above said parameters we have used a nature inspired algorithm i.e. Chaotic social spider algorithm and description about algorithm in the below section.

2.2.10 Chaotic Social Spider Algorithm

It is a nature-inspired algorithm [30] proposed by Yu and Li. It is totally based on forging pattern of spiders. This algorithm looks for prey by using a Search Agent based on pattern of spiders by broadcast messages by using search agents. In the initialization phase, spiders were randomly generated in solution space and then when it finds a prey in the web which gives a solution and identifies best solution by using broadcast message and it is calculated as follows.

(2.11) equation

Where C is the control parameter for identification of feasible solution which is either 0 or 1. After identification of all solutions from all search agents the best solution will be identified and it will compare with current solution and if it is better than current solution it will be identified as the new current solution and checks value of search agent which can be either set to 0 or 1. If a new solution identified and then it sets to 1 or it will be zero. This search agent process will guide all agents to search randomly but not to search the previous location for that searching process given by

Where yn is a random number generator for iterations and to avoid previous searching space and to guide search agents in a proper way, an inertia weight added into to the search process. Therefore, selection process is calculated as

(2.14) equation

Where δinitial and δfinal are initial and final weights which are added in search process.itmx is maximum number of iterations and it is current iteration.

2.2.11 Proposed Task Scheduling Algorithm

Input: set of tasks, VMs and Datacenters.

Output: Mapping of Tasks with VMs by minimization of makespan and energy consumption.

  1. Start
  2. Initialize search agent population randomly.
  3. Calculate priority of task using equation 2.6.
  4. Calculate priority of VM using equation 2.7.
  5. Calculate fitness function by using equation 2.10.
  6. Generate solutions by using equation 2.12.
  7. Update search process using equation 2.13.
  8. Calculate makespan, energy consumption by using equations 2.8 and 2.9.
  9. Randomly pick a VM from all VMs and identify whether calculated solution consists of minimized makespan and energy consumption.
  10. If yes keep it as best minimized makespan and energy consumption.
  11. Update the solution and identify it as a best VM with opti-mized makespan and energy consumption.
  12. If no identify the next VM rather than already searched VM until best VM found for the addressed parameters.
  13. Repeat this process until all iterations are completed. Stop.

2.2.12 Simulation and Results

In this work, simulation was carried out in CloudSim [31]. The entire simulation settings are mentioned in below Table 2.4.

2.2.12.1 Calculation of Makespan

Makespan is evaluated by using CloudSim [31] in which input to tasks are generated randomly which are of from 100 to 1000. Results were compared with existing approaches named as PSO and CS. The below Figure 2.7 represents calculation of makespan.

Table 2.4 Configuration settings for simulation.

Name of the entityQuantity
Tasks100, 500, 1000
Task Length250,000 to 1,00,000
VM Capacity4096 MB
Number of VMs100
Number of Hosts500
Number of Data centers10
“A schematic illustration of the calculation of makespan.”

Figure 2.7 Calculation of makespan.

“A schematic illustration of the calculation of energy consumption.”

Figure 2.8 Calculation of energy consumption.

In the above Figure 2.7 when input was given as 100, 500 and 1000 tasks. For PSO generated makespan is 1323.6, 1477.5, and 2367.8 ms respectively. For CS generated makespan is 1256.7, 1423.9, and 2158.8ms respectively. For proposed CSAS makespan generated is 1056.2, 1246.9, and 1745.6ms respectively. The proposed approach was evaluated against PSO and CS algorithms and clearly from results; makespan is greatly min-imized when compared with other algorithms.

2.2.12.2 Calculation of Energy Consumption

The above Figure 2.8 represents calculation of energy consumption and it was compared with PSO, CS algorithms. In the above Figure 2.8, when input given as 100, 500 and 1000 tasks. For PSO generated energy consumption is 40.59, 84.27, and 126.78 watts respectively. For CS generated energy consumption is 42.78, 67.89, and 120.67 watts respectively. For proposed CSAS generated energy consumption is 37.65, 52.17, and 110.78 watts respectively. The proposed approach was compared with PSO and CS algorithms and it greatly minimizes energy consumption.

2.3 Conclusion

In this chapter, we have clearly discussed about overview of cloud computing paradigm, deployment models, and basic services which give a clear view of basic architectural elements of cloud computing. After that, need of Virtualization and implementation levels of virtualization are discussed. For effectiveness of any cloud computing paradigm appropriate task scheduler is necessary to [9] map tasks to VMs based on priorities of tasks and VMs as this paradigm is dynamic and heterogeneous. We have proposed an algorithm modeled by a nature inspired algorithm i.e. chaotic social spider algorithm. This simulation was done on CloudSim simulator and tasks were generated randomly. It was compared with existing approaches PSO and CS. From results we came to know that our proposed task scheduling algorithm greatly minimizes makespan and energy consumption.

References

  1. 1. Mell, P. and Grance, T., Cloud, Hybrid. The NIST definition of cloud computing, National Institute of Science and Technology, Special Publication 800, 145, 2011.
  2. 2. Walton, Z., Americans think cloud computing comes from actual clouds, WebProNews.com, 29 Aug. 2012, www.webpronews.com/americansthink‐cloud‐computing‐comes‐from‐actual‐clouds2012‐08.
  3. 3. Bojanova, I., Zhang, J., Voas, J., Cloud computing. It Prof., 15, 2, 12–14, 2013.
  4. 4. Sudheer, M.S. et al., An effective analysis on various scheduling algorithms in cloud computing. 2017 International Conference on Inventive Computing and Informatics (ICICI), IEEE, 2017.
  5. 5. Buyya, R., Yeo, C.S., Venugopal, S., Market-oriented cloud computing: Vision, hype, and reality for delivering IT services as computing utilities, in: Proceedings of the 10th IEEE International Conference on High Performance Computing and Communications (HPCC), Dalian, China, 25–27 September 2008.
  6. 6. Stieninger, Mark, and Dietmar Nedbal., Characteristics of cloud computing in the business context: A systematic literature review. Global Journal of Flexible Systems Management, 15.1, 59–68, 2014.
  7. 7. Hwang, K., Dongarra, J., Fox, G.C., Distributed and cloud computing: From parallel processing to the internet of things, Morgan Kaufmann, 2013.
  8. 8. Mangalampalli, S., Swain, S.K., Mangalampalli, V.K., Multi objective task scheduling in cloud computing using cat swarm optimization algorithm. Arab J. Sci. Eng., 47, 1821–1830, 2021, https://doi.org/10.1007/s13369‐021‐06076‐7.
  9. 9. Mangalampalli, S., Swain, S.K., Mangalampalli, V.K., Prioritized energy efficient task scheduling algorithm in cloud computing using whale opti-mization algorithm. Wireless Pers. Commun., 85, 1–17, 2021, https://doi.org/10.1007/s11277‐021‐09018‐6.
  10. 10. Mangalampalli, S., Mangalampalli, V.K., Swain, S.K., Multi objective task scheduling algorithm in cloud computing using the hybridization of particle swarm optimization and cuckoo search. J. Comput. Theor. Nanosci., 17, 12, 5346–5357, 2020.
  11. 11. Yahia, H.S. et al., Comprehensive survey for cloud computing based nature-inspired algorithms optimization scheduling. Asian J. Res. Comput. Sci., 8, 2, 1–16, 2021.
  12. 12. Prasanna Kumar, K.R. and Kousalya, K., Amelioration of task scheduling in cloud computing using crow search algorithm. Neural Comput. Appl., 32, 10, 5901–5907, 2020.
  13. 13. Bacanin, N. et al., Task scheduling in cloud computing environment by grey wolf optimizer. 2019 27th Telecommunications Forum (TELFOR), IEEE, 2019.
  14. 14. Midya, S. et al., Multi-objective optimization technique for resource allocation and task scheduling in vehicular cloud architecture: A hybrid adaptive nature inspired approach. J. Netw. Comput. Appl., 103, 58–84, 2018.
  15. 15. Alsaidy, S.A., Abbood, A.D., Sahib, M.A., Heuristic initialization of PSO task scheduling algorithm in cloud computing. J. King Saud Univ.-Comput. Inf. Sci., 2020.
  16. 16. Sharma, S. and Jain, R., EACO: An enhanced ant colony optimization algorithm for task scheduling in cloud computing. Int. J. Secur. Its Appl., 13, 4, 91–100, 2019.
  17. 17. Arul Xavier, V.M. and Annadurai, S., Chaotic social spider algorithm for load balance aware task scheduling in cloud computing. Cluster Comput., 22, 1, 287–297, 2019.
  18. 18. Agarwal, M. and Srivastava, G.M.S., A cuckoo search algorithm-based task scheduling in cloud computing, in: Advances in Computer and Computational Sciences, pp. 293–299, Springer, Singapore, 2018.
  19. 19. Abualigah, L. and Alkhrabsheh, M., Amended hybrid multi-verse optimizer with genetic algorithm for solving task scheduling problem in cloud computing. J. Supercomput., 78, 1, 740–765, 2022.
  20. 20. Srichandan, S., Kumar, T.A., Bibhudatta, S., Task scheduling for cloud computing using multi-objective hybrid bacteria foraging algorithm. Future Comput. Inf. J., 3, 2, 210–230, 2018.
  21. 21. Shukri, S.E. et al., Enhanced multi-verse optimizer for task scheduling in cloud computing environments. Expert Syst. Appl., 168, 114230, 2021.
  22. 22. Abualigah, L. and Diabat, A., A novel hybrid antlion optimization algorithm for multi-objective task scheduling problems in cloud computing environments. Cluster Comput., 24, 1, 205–223, 2021.
  23. 23. Basu, S. et al., An intelligent/cognitive model of task scheduling for IoT applications in cloud computing environment. Future Gener. Comput. Syst., 88, 254–261, 2018.
  24. 24. Gamal, M. et al., Bio-inspired based task scheduling in cloud computing, in: Machine Learning Paradigms: Theory and Application, pp. 289–308, Springer, Cham, 2019.
  25. 25. Khorsand, R. and Ramezanpour, M., An energy-efficient task-scheduling algorithm based on a multi-criteria decision-making method in cloud computing. Int. J. Commun. Syst., 33, 9, e4379, 2020.
  26. 26. Pirozmand, P. et al., Multi-objective hybrid genetic algorithm for task scheduling problem in cloud computing. Neural Comput. Appl., 33, 19, 13075– 13088, 2021.
  27. 27. Jain, R. and Sharma, N., A QoS aware binary salp swarm algorithm for effective task scheduling in cloud computing, in: Progress in Advanced Computing and Intelligent Engineering, pp. 462–473, Springer, Singapore, 2021.
  28. 28. Fanian, F., Bardsiri, V.K., Shokouhifar, M., A new task scheduling algorithm using firefly and simulated annealing algorithms in cloud computing. Int. J. Adv. Comput. Sci. Appl., 9, 2, 195–202, 2018.
  29. 29. Natesan, G. and Chokkalingam, A., An improved grey wolf optimization algorithm based task scheduling in cloud computing environment. Int. Arab J. Inf. Technol., 17, 1, 73–81, 2020.
  30. 30. James, J.Q. and Li, V., A social spider algorithm for global optimization. Appl. Soft Comput., 30, 614–627, 2015.
  31. 31. Calheiros, R.N., Ranjan, R., Beloglazov, A., De Rose, C.A., Buyya, R., CloudSim: A toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Software Pract. Exp., 41, 1, 23–50, 2011.
  32. 32. Kumar, M. et al., ARPS: An autonomic resource provisioning and scheduling framework for cloud platforms. IEEE Trans. Sustain. Comput., 7, 2, 386–399, 2021.
  33. 33. Dubey, K., Sharma, S.C., Kumar, M., A secure IoT applications allocation framework for integrated fog-cloud environment. J. Grid Comput., 20, 1, 1–23, 2022.
  34. 34. Kumar, M. et al., Autonomic cloud resource provisioning and scheduling using meta-heuristic algorithm. Neural Comput. Appl., 32, 24, 18285–18303, 2020.

Note

  1. * Corresponding author: [email protected]
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset