Keywords

1 Introduction

In recent advancement of information and communication technology, research on cloud computing becomes one of the most latest trends. Cloud computing appears as a fastest evolutionary virtual platform which promises for a good cost-effective environment including business model, education, personal intelligence, and many other diverse application for global users according to their need without investing software, hardware, or any other computing or networks infrastructure [1, 2]. The main purpose of this service to the user is to provide effective service with minimal cost [3]. As lots of advantages are coming from cloud services in our daily life, it is manually very difficult to assign or schedule a particular resource for a specific task [4]. So scheduling of task is one major challenging issue in cloud computing. Various methodologies have been proposed on this area. At present, some existing task scheduling approach using genetic algorithm and some cases modified form of genetic algorithm have been used in [5, 6, 7]. Some other existing algorithm such as FIFO scheduling, fair scheduling, and computing capacity scheduling is still facing some restrictions [8]. In cloud platform, redundant array of independence disks techniques is used to balance cost of the service and to maintain assurance of cloud data [9]. We have tried to propose a technique for task scheduling algorithm based on genetic algorithm (GA) and particle swarm optimization (PSO) technique and to optimize the existing issues in cloud platform. In our hybrid task scheduling algorithm, we have compared execution time with max–min scheduling execution and minimum scheduling time for a particular number of task and we have considered two times where execution time is less than other two cases. In our technique, we have shown that for a particular task, response time is comparatively better and waiting time is minimum than other two-mentioned scheduling approaches.

2 Overview on Cloud Services

Cloud system has two major components, one is cloud data distributor another is cloud service providers. In first cases, cloud collect data files from users or clients then splits into small clusters with respect to identical features and after splitting these are distributed according to the on-demand or requests of users. Memory distribution in cloud server is discussed in [10]. The distributed approach is maintained by redundant array of independent disk (RAID) technique. On the other hand, major goal of service providers is to store cluster of data in response according to the various requests showing availability of effective data and remove cluster of data as per requirement. Cloud service is a on-demand self-service. This service is generally divided into three categories, [11] such as Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS), and Infrastructure-as-a-Service (IaaS). SaaS is on-demand software service and business model predicted by pay–per-use basis. In Saas, user can use data bases, hardware and software maintenance without any personal expenses. Again software is updated automatically without installing new software because in this service applications are hosted centrally. PaaS is one type of cloud computing in which cloud providers use an environment for developing applications and to provide various services through Internet. In Iaas, cloud provides an ideal computing platform to the client. Clients get virtual operating system and program execution environment, data bases, and Web server. Due to the availability of central virtual architecture in cloud, many real-time operations are performed in cloud. The schematic diagram of overall cloud services is shown in Fig. 1, [12].

Fig. 1
figure 1

Schematic diagram of cloud services

Clouds are classified into three types [13] such as public, private, and hybrid. Cloud behaves as virtual machine, and virtualizations of cloud are briefly described in [14].

3 Proposed Methodology

Genetic algorithm is based on biological evolution in population and concerned with Darwin’s theory of evolution. Darwin proposed “Survival of the fittest” which implements method of scheduling in genetic algorithm [15, 16, 17]. In cloud computing, multiple resources have to be assigned according to the multiple requirements of jobs. So which resource will get preference for which task or job is a complex situation process. That’s why absence of proper scheduling process, the time complexity will be high. Genetic algorithm is one type of evolutionary computing. Genetic algorithm was basically implemented on a set of chromosomes in ecological environment. At first, one group of chromosomes is considered as initial data set and then after generation, a new set known as offspring’s is produced from parent set. This set of chromosomes is considered as a set of solutions in cloud computing and the set of solutions is known as population also. During generations, one population produces a newly updated population according to the expectation. A fitness function is used to find better solutions. Some genetic operator such as mutations, crossover, etc., is used repeatedly to get most optimized and simplest solution.

Algorithm 1: Genetic Algorithm

John Holland proposed genetic algorithm in 1962 which is a random search-based evolutionary method in biological environment [18]. Genetic algorithm includes six basics steps as Initialization: Generate population randomly from n number of solutions. Use of fitness function: f(x) is the fitness function of particular solution in existing population . Selection: According to the fitness value, two separate solutions are selected from the given population. These two individuals are considered as a parent for next coming generation. Crossover: Now two parents are coming in crossover based on probability and produce new offsprings . Mutation: Mutation of new child takes place at any position whenever the existing population tends to be consistent. Accept and Replace: After based on probabilistic mutation, the new solutions are generated and again replace new population as the present generation.

Algorithm 2: Particle swarm optimization technique

Kennelly and Eberhat proposed the concept of particle swarm optimization technique in 1995. It is one type of evolutionary search technique for a population in ecological environment where a particular set of random solution of existing population is considered as a particle. Every particle flies randomly with a velocity throughout whole search spaces and using a fit function they randomly fit according to swarm’s historical behavior. This step is going repeatedly until getting better solutions.

4 Hybrid Approach

4.1 Evolutionary Algorithms as Optimizers

4.2 Traditional Evolutionary Approach in Binary-Coded Genetic Algorithms

4.2.1 Genetic Algorithms

  • create a can for minimum cost having at most volume V.

  • Objective function cost (d,h) : f(d,h)   =   Π dh   +   2 Π d2/4

  • Constraint : Volume(d,h) : Π d2   h /4     V

  • Representation in binary strings

  • Fitness : Objective   +   penalty for constraint

4.2.2 PSO Approach

  • Let us consider all particles fly around the whole search space and velocity of each particle are not static,they are updated dynamically.

  • x i  =   x i  +   v i where x i is the location and vi is the velocity

  • V i  =   v i  +   c 1 rnd() (P i , best – x i )   +   c2 rnd()(P g – x i ) Where Pi is the location with best condition for i-th particles and P g is the actual location of the particle ,selected as best and so far and c1,c2 in (0.2)

  • According to the history, the momentum part is 1 st term.

  • The 2 nd term is represented as thinking with private condition which is also known as cognitive part.

  • The another remaining term is related with social components which means a collaboration.

  • Inertia weight is Vi where V i  =   w V i  +   … (w in [0,4,0,9])

  • Velocity restriction , V i  =   min(Vmax,vi) and it prevents unbounded growth in velocity.

  • Constricted PSO: V i  =   X(V i  +   ……) (X   =   0.7289) and it give better convergence.

  • Bare bone PSO : Dropping V i term

  • Offspring are normally distributed around P g and P 0

  • Communication topologies :

  • P g is now replaced by I g

Repeat the steps until a stopping criterion is meet to get a sufficient good fitness value.

5 Experimental Results

In our study, we have used a software for simulation known as cloudsim [18]. In [19] max–min algorithm maintains the task status that includes the updated time, execution time, and completion time to improve the performance. Our proposed algorithm is designed in cloudsim layer. Each service request from cloud user is called as task and which needs to be recorded by VMs. Each task has to be processed in VMs according to the processing capability of VMs. VMs have some memory and storage and controlled by millions of instructions. Associated band of number index entries found. Simulation number of task varied from 200 to 1200 with iterative increments by 200.

The data components give length of average scheduling and successful execution ratio which is shown in Table 1. According to Table 1, it is cleared that our presented methodology gives comparatively lower execution time than max–min scheduling time and minimum execution time. The hybrid-scheduling algorithm has decreased the scheduling length by 4.65% than max–min scheduling and by 4.15% than minimum execution time for 600 numbers of tasks which is shown in Fig. 2.

Table 1 Average schedule length
Fig. 2
figure 2

Average schedule length

Similarly in Table 2, it is observed that our proposed methodology gives comparatively lower execution time than max–min scheduling time and minimum execution time. The hybrid-scheduling algorithm has decreased the scheduling length by 4.39% of max–min scheduling. On other hand by 5.61% than Minimum execution time for 400 numbers of task which is shown in Fig. 3.

Table 2 Ratio of successful execution
Fig. 3
figure 3

Ratio of successful execution

6 Conclusions

We have presented a cost-effective hybrid task scheduling algorithm based on principle of genetic algorithm and coupled with particle swarm optimization technique which can provide a better response time from cloud provider and minimize the waiting time for a particular client in cloud computing environment. In future, we will focus on model implementation of dynamic task allocation in account of data center load factor, minimization of electric cost, and internal communications.