1 Introduction

Cloud computing is a promising technology, where numerous services are delivered to users over the web with instant response and scalability features. In cloud computing, virtualization works as key enabler which is defined as the process of segregating the resources of a physical machine (PM) to enable more than one execution environment. In virtualization, various concepts such as time-sharing, machine simulation and emulation are used to virtualize computing, storage, network and memory. It enables multi-tenancy concept in cloud computing where virtualized resources are pooled to serve multiple users by same PM as shown in Fig. 1. The virtualization consists of a hypervisor or a VM monitor which presents a virtual operating platform to a guest operating system. VMW are ESX/ESXi, Oracle VM Server, Citrix XenServer, Xen hypervisor and KVM are some popular hypervisors. Virtualization, load balancing, fault tolerance, security and scheduling are the major concerns to solve. There are two main functions of scheduling, i.e., allocation of CPUs to virtual machine (VM scheduler) and submission of task to VM (task scheduler). Scheduling of tasks is one of the major challenges in cloud technology to achieve highly efficient computations among the machines [1,2,3].

Fig. 1
figure 1

Architecture of cloud environment

The procedure of searching the needed resources is same as the procedure of searching the various VMs, as the needed resources together form VMs. Users send requests to datacenter to execute their tasks. A task may involve entering and processing data, accessing software or some storage functions. Each task on cloud get executed by VMs of the cloud. The execution of these tasks depends on the mapping of task to VMs. The mapping of task to VMs is important to achieve best Quality of Service (QoS) of cloud [3].

Many researchers are interested in task scheduling practice to achieve load balancing, energy efficiency, resource utilization, migration of tasks and QoS [4]. Tasks can either be independent, dependent or the combination of both [5]. The nature of task scheduling is a NP-hard problem that comprises of various tasks and machines. These tasks must be processed with the machines (VMs) to achieve better utilization. Tasks are submitted to the task scheduler. It is the responsibility of task scheduler to submit task to appropriate VM. The problem of scheduling of tasks need to be properly handle by assigning suitable VMs. The mapping between task and required resources is performed successfully if cloud has achieved minimum MakeSpan, minimum execution time of tasks and VMs, full utilization of resources, etc. further, the task must be executed and a reply is sent to the user. The role of task scheduling is still in research to obtain the minimum execution time of VMs.

To solve the nature of NP-hard problem, an optimization technique such as, particle swarm optimization (PSO) is more suitable than the use of deterministic algorithms [6]. The parallel nature working of PSO resolves the optimization problems. Recently, intelligent meta-heuristic i.e., artificial neural network, fuzzy logic, genetic algorithms (GAs) and mathematical approaches such as distribution functions has been increased in use to achieve drastic solutions for scheduling. Researchers have built new concept of hybridization of these intelligent and mathematical approaches. One of the examples of this hybridization is FUGE which is a meta-heuristic method to enhance job scheduling [7]. Another hybridized scheduling PSO–GELs algorithm is introduced to solve the scheduling problems.

Recently, much attention has been received from researchers in evaluating the multi-objective based environment to solve the generic optimization problems [8,9,10]. A combination of multi-objective PSO (MOPSO) and technique of order preference by similarity to ideal solution (TOPSIS) is introduced to solve multi-objective inventory planning [8]. The idea of the work was so popular and reported better outcome for the inventory planning problems. The multi-objective methods or multi-criteria based decision making methods are developed to the solutions of real-world problems [9]. The nature of real based decision criteria removes all the barriers of linear problems. Nelson Jayakumar and Venkatesh [10] has proposed a hybrid method of GSO with TOPSIS (glowworm swarm optimization with technique for order preference similar to an ideal solution) for economic dispatch problem. A self adaptive learning PSO (SLPSO) algorithm works on multi objective task scheduling algorithm to map tasks to VMs in order to advance throughput of the datacenter [13]. Authors of [13] have proposed a self-motivated task scheduling. Scheduling of independent tasks over the cloud achieved through dynamic PSO (DAPSO) and Cuckoo search algorithm named MDAPSO [14].With shorten average operation time of tasks a proper resource allocation to user task assigned efficiently in the environment with increases utilization ratio of resources [15]. Live migration and non-live migration approach for scheduling is much efficient to perform migrated tasks on appropriate VMs [16]. This leads to achieve load-balancing in heavy cloud servers.

The above discussed works improve task scheduling however, task scheduling is still major concern in cloud environment. Thus it challenges to design novel algorithms for task scheduling in cloud environment. This paper presents the combination of optimization algorithm PSO with a mathematical multi-criteria decision based approach called TOPSIS (TOPSIS–PSO) to solve the task scheduling problems. PSO is the simplest optimization technique which works well for global optimization problem. Because of its less efficiency of finding optimal solutions for local optimum, TOPSIS is used. Our proposed approach, TOPSIS–PSO, uses TOPSIS for the calculation of optimized fitness value (FV). Hence the role of TOPSIS is a fitness evaluation tool. In this work, three major criteria of a cloud task are used i.e., execution time, transmission time and cost. The evaluated FV of each task is input to the PSO for further optimization of particles. Results of TOPSIS–PSO are compared with other leading approaches that are implemented in real application based environment. The combination of PSO and TOPSIS improves the PSO’s quality of finding optimum solutions and gives solutions to nonlinear bi-level programming problems [11]. The proposed idea is novel and innovative in the cloud computing field. The use of TOPSIS–PSO in cloud can improve the MakeSpan, resource utilization, processing cost. It can be applied to a broad variety of optimization problems.

The key contributions of this paper are summarized as,

  • Efficient task scheduling method is presented in order to schedule tasks to VMs in cloud environment.

  • Multi-criteria based method called TOPSIS algorithm is implemented with PSO to get efficient optimal solutions to perform task scheduling. These objectives include the enhancement on cloud metrics i.e., MakeSpan, execution time, transmission time and processing cost.

The performance of work is compared with pre-existing algorithms to check its reliability. The ultimate objective of the work is to enhance the QoS of the cloud performance.

The rest of the paper is organized as follows: Sect. 2 discusses previous related work on cloud based task scheduling. Problem formulation of the work is discussed in Sects. 3 and 4 highlights the system model of the proposed work. Section 5 elaborates proposed task scheduling algorithm with implementation while Sect. 6 deals with experimental evaluation of proposed work. In Sect. 7, we conclude our contributions with future scopes to the work.

2 Related work

Numerous researchers worked in task scheduling to get better, effective and reliable work on cloud computing. These researches differ from each other in their methods to schedule tasks among cloud nodes. These methods fall under different categories: static, dynamic, batch and online which endeavor to assign tasks to cloud nodes in optimal way. The work of [8, 10, 11] motivates to perform in cloud computing technology because combination of some optimization technique and multi-objective methods give relevant solutions for decision making of criteria in cloud environment. Through this section various related historic work are discussed in detail.

In Pooranian et al. [6], meta-heuristic algorithm introduced in grid computing area. The PSO with gravitational emulation local search (PSO–GELs) is a hybrid task scheduling algorithm that focused the problem of independent task scheduling problems. The hybrid algorithm reduces MakeSpan and decreases deadline miss rate of tasks.

Shojafar et al. [7] attempts a hybrid approach FUGE which is the combination of meta-heuristic method called fuzzy theory and GA to cloud job scheduling. They have mathematically proven optimization problem which is convex with Karush–Kuhn–Tucker condition. Length of job, Processing speed of VM, bandwidth of VM and memory of VM have been considered for assigning the jobs to the resources. This approach obtains a proper efficiency over degree of imbalance, execution time and execution cost.

Tsou [8], gives the idea of hybridization of MOPSO and TOPSIS for solving multi-objective optimization problems in inventory planning. MOPSO was used to generate the non-dominated solutions of a reorder point where as TOPSIS performed a compromise solution for different decision makers.

The method in Nelson Jayakumar and Venkatesh [10] uses GSO algorithm to find the optimal solution for multiple objective environmental economic dispatches problem. Although the work is not related to the technology field but it gives the motivational idea to use the concept of TOPSIS for solving multi-criteria based problems. Here TOPSIS is used as an overall fitness ranking tool to evaluate multiple objectives.

In Jia et al. [11], a solution of non-linear bi-level programming problems has presented with the combination of TOPSIS and PSO. The literature has thoroughly explained the non-linear bi-level programming problems which occurs in various optimization techniques. This work has motivated and inspired to understand the optimization problem techniques and to opt such solutions in cloud task scheduling approach.

Wang et al. [12], presented a framework which allows IaaS provider to outsource its tasks to outside cloud when it does not have sufficient resources to fulfill task requirements. The task scheduling is carried out by SLPSO. In SLPSO four update approaches are used to flexibly update the velocity of particles (tasks). At each iteration in PSO, update approach should be found based on execution probability. To obtain the best sequence of execution, a particle is updated by four approaches and best approach is preferred for other particles. From PSO algorithm the best particle is assigned with its best VM. In this algorithm, frequent selection of update strategy leads to computational complexity and also increases the scheduling time.

Zhang and Zhou [13], proposed a self-motivated task scheduling with two-stage strategy to maximize scheduling performance. Initially the user tasks are kept in task queue. In the first stage of the algorithm, Bayes classifier classifies the jobs on the basis of historical data stored in historical database. In second stage, dynamic scheduling algorithm is used to map tasks to suitable VMs. After selecting suitable VM the tasks are sent to ready queue, if the suitable VM is not idle then the task is moved to waiting queue. When the suitable VM becomes idle the task needs to move into ready queue and the task is scheduled to suitable VM. Multiple queues and databases used in this method increase the space complexity.

Awad et al. [17], proposed load balancing mutation, a PSO method for task scheduling using reliability, make span, execution time, transmission time and round trip time. Three mathematical models which have individual objective functions are proposed for task scheduling. In first model expected execution time (EET) for each task on each VM is calculated. In second model expected transmission time (ETT) for each task is computed and in third model expected round trip time (ERRT) is computed using EET and ETT. The process of scheduling tasks to VMs is carried out by PSO algorithm. In PSO algorithm, the velocity of particle is updated for each iteration using ERRT. This method considers MakeSpan but ignores other important parameters such as processing cost and resource utilization.

Lakraa and Yadav [18], proposed multi objective task scheduling algorithm for mapping tasks to VM in order to improve throughput of the datacenter. In this method QoS requirement for all tasks are found and the high QoS value is given to the task which requires low QoS by cloud broker. Hence the task with lower QoS value gets high priority for scheduling. Cloud broker also collects the list of VMs with their MIPS values and the VMs are sorted according to MIPS value. Then the first VM in VMs list is assigned to first task in task list. Once the allocation reached at last VM the next task will be submitted to the first VM and the process of allocation is repeated for all tasks. In this method the VMs are ranked based on MIPS value only and other parameters such as memory and bandwidth are not considered.

Cho et al. [19], combined ACO and PSO algorithms to build ant colony optimization with PSO (ACOPS) for task scheduling. The new workload is predicted by ACOPS using historical information. To reduce scheduling time pre-reject module is proposed in the work. When task arrives initially the algorithm checks for remaining memory of each server and find maximum remaining memory. If the memory requirement of task is larger than remaining memory then the task is rejected. The suitable tasks enter into ACOPS scheduling algorithm and the initial process is executed using ACO algorithm. In ACO, the search module gives the solution for all ants (tasks) and the pheromone function of tasks is computed using memory, CPU utilization and disk utilization. PSO operator is applied after search module in ACO to improve the search results. The pheromone is updated by an ant selected based on PSO operator i.e., global best value is selected. This algorithm considers memory, CPU utilization and disk utilization but does not consider MakeSpan, bandwidth, execution time, etc.

Jena [20], introduced task scheduling algorithm using a multi-objective nested PSO (MOPSO) to minimize energy consumption and MakeSpan. Some concepts of the evolutionary algorithms (EAs) and the multi-objective EAs have been collaborated to introduce the MOPSO. Ghanbari and Othman [21], proposed a new priority based job scheduling algorithm which was based on multiple criteria decision making (MCDM) model using analytical hierarchy process. MCDM is a practical model which is functionally correlated with problems of discrete alternatives.

Lawrance and Silas [22], introduced potentially all pair-wise rankings of all possible alternatives (PAPRIKA) based scheduling algorithm which is also a MCDM model. Shih et al. [23] introduced MCDM based approach for solving real world decision making problems. The role of decision matrix (DM) is to provide different course of action to finite numbers such as select, prioritize, and rank. These actions make convenient to DM attributes for making decisions owing to an explicitly represented procedure. TOPSIS performed the concept of distance measures of the alternatives from the positive ideal solution (PIS) and the negative ideal solution (NIS).It is the most straight-forward technique in MCDM. TOPSIS has been an important branch of DM.

Table 1 shows the comparative review of [13, 13, 17, 18, 20, 24,25,26] which shows that most of the previous researches have focused on single objective only. Therefore, to deal with these gaps, a MOPSO algorithm using TOPSIS (TOPSIS–PSO) is introduced to optimize MakeSpan, execution time, transmission time and to reduce cost.

Table 1 Comparison of task scheduling algorithms

3 Problem formulation

The main objective of task scheduling algorithms is to bind set of user tasks to set of distributed resources in order to achieve several goals including minimizing MakeSpan, execution time, transmission time, cost and maximizing resource utilization. Single objective scheduling algorithms face some problems that include increased execution time and decreased throughput in priority based algorithms. Similarly, shortest job first and first come first serve algorithms perform very well in best case scenario but performance is degraded in worst case. So an efficient scheduling algorithm is required which focuses on multi objectives. Using a proper scheduling algorithm implementation in broker improves the datacenter’s performance [13]. In this paper following objective problems are considered for developing efficient scheduling algorithm.

Notations

Description

VM

Virtual machine

PM

Physical machine

DC

Data center

Ti

ith number of task

CTj

Completion time of jth VM

PCT

The cost of using processing in current resource

Sizei

Size of Ti

BWj

Bandwidth of jth VM

CTj

Completion time of jth VM

AVGU

Average utilization of CPU

Li

Length of Ti

MIPS

Million instructions per second (processing speed)

RC

Relative closeness

FV

Fitness value

Wj,

Weight value for criteria

EXT, TransT, AVGU

Execution time, transmission time, CPU utilization

3.1 Execution time (EXT)

The time required to execute a task on particular VM is called execution time. The execution time of task Ti on VM Vj formulated as follows [26]:

$${\text{EX}}_{\text{T}} = \frac{{{\text{L}}_{\text{i}} }}{{{\text{MIPS}}_{\text{j}} }}.$$
(1)

EXT is computed by considering Li in terms of number of million instructions and computing capacity of jth VM as MIPS. Task i is assigned to VM which minimizes EXT.

3.2 Transmission time (delay) (TransT)

The time taken to transfer the task on a particular VM is called transmission time and is computed as [16]:

$${\text{Trans}}_{\text{T}} = \frac{{{\text{Size}}_{\text{i}} }}{{{\text{BW}}_{\text{j}} }}.$$
(2)

TransT for a task on particular VM is determined by task Sizei and BWj.

3.3 Processing cost (PCT)

The cost of processing a task on a resource is calculated by:

$${\text{PC}}_{\text{T}} = {\text{Cost}}\;{\text{of}}\;{\text{processing}}\;{\text{per}}\;{\text{unit}}\;{\text{time}}\,*\,{\text{EX}}_{\text{T}} .$$
(3)

3.4 MakeSpan

MakeSpan can be defined as overall time taken to perform scheduling process. As MakeSpan reduces, it improves the efficiency of the algorithm. The MakeSpan of task scheduling is calculated as [16]:

$${\text{MakeSpan}} = \hbox{max} \left( {{\text{CT}}_{\text{j}} } \right),$$
(4)

where CTj = start(VMj) + τj, τj denotes the time when all the tasks assigned to jth VM finish their execution and start (VMj) denotes the time instance when jth VM starts its execution. The maximum completion time is taken as MakeSpan.

3.5 Average resource utilization (AVGU)

The major challenge in cloud computing is the proper utilization of resources. The AVGU of proposed work is calculated as [16]:

$${\text{AVG}}_{\text{U}} = \mathop \sum \limits_{{{\text{j}} \in {\text{VM}}}} \frac{{{\text{CT}}_{\text{j}} }}{{ {\text{MakeSpan}}\,*\,{\text{number}}\;{\text{of}}\;{\text{VMs}}}}.$$
(5)

AVGU can be defined as the ratio between completion time of VM and the time duration for which CPU performs useful work.

3.6 Formulation of fitness value for PSO

In the proposed work, the combination of minimization objective criteria given in Eqs. (1)–(3) can be optimized. The RC of each task is computed by TOPSIS algorithm. Involvement of TOPSIS algorithm supports multiple objectives in order to maximize efficiency of task scheduling. The obtained RC value is used as FV of tasks for PSO.

FVT1

= RCT1

FVT2

= RCT2

FVTi

= RCTi

where RC of task computed by TOPSIS is RCT = (RCT1, RCT2,…,RCTi) that are corresponding to the FV of task FVT = (FVT1, FVT2,…,FVTi) respectively. The detailed explanation of TOPSIS formulation for RC is discussed in next section.

4 System model and proposed work

CloudSim (Cloud Simulator) is an extensible modeling and simulation tool of cloud computing systems and application environment. It provides excellent framework to both system and behavior modeling of cloud. CloudSim first introduced by GRIDS Laboratory Melbourne, Australia [25]. It is the most popular open source tool that encompasses various java based packages. Most of the cloud computing terminologies are designed in CloudSim to enable better research environment. The various cloud components have their specific role to perform cloud operations. CloudSim toolkit comprises of various components including Cloud Information Service (CIS), datacenter, host, VMs and tasks as shown in Fig. 2. Each individual VM processes on its own resources in parallel or independently [27]. The simulation work has been performed under CloudSim toolkit.

Fig. 2
figure 2

CloudSim component overview

  • CIS CIS is the uppermost entity which is created automatically when CloudSim is initialized. It provides services to register, index and discover resources. Different entities interact with each other through this entity.

  • SimEntity different entities which handle and send events to other entities created by SimEntity.

  • DC DC can be defined as pool of homogeneous or heterogeneous resources which are virtualized and provided to VMs when required. It handles queries which are related to VM instead of task.

  • Datacenter Broker (DCb) DCb represents a broker which acts on behalf of user. It handles VM management, as creation and destruction of VMs and controls the order in which tasks are submitted to VMs.

  • PM it executes actions related to management of VMs (e.g., creation and destruction) and defines policies for provision of memory, bandwidth and allocation of processors to VMs.

  • VM it acts as an emulation of a PM running inside a host and provides all the functionalities of an actual system. Tasks are assigned to VMs through cloudlet scheduler for their execution.

  • VM scheduler it represents the policy used by the VM monitor (VMM) to share processing capacity among VMs running in a host. It defines the way in which processors will be used by VMs i.e., processors will be shared by VMs or not.

  • Processing element (PE) PE represents processor unit defined in terms of MIPS rating, i.e., the number of million instructions a processor can execute per second.

  • Utilization model this parameter allows the tasks to make control over resource utilization. If utilization model is set to full, then a task utilizes all the available MIPS of the processor and if set to stochastic, then the task generates random utilization of processor every time span.

4.1 The proposed TOPSIS–PSO based task scheduling algorithm

Here PSO algorithm is combined with TOPSIS algorithm in order to find optimal solution by considering multiple criteria. In PSO algorithm, the fitness function is formulated by TOPSIS algorithm based on multiple criteria. PSO algorithm is better in optimal solution determination with minimum time consumption. In order to include multiple objectives in PSO, we have used TOPSIS algorithm in PSO. TOPSIS algorithm is also relatively faster than other multi criteria decision making algorithms. Thus proposed hybrid PSO–TOPSIS algorithm helps to achieve optimal solution based on multiple criteria without increasing time consumption. The system model comprises of set of physical machines PM = (PM1, PM2,…,PMM) where each PM holds some VMs = (VM1, VM2,…,VMj). Number of tasks is assigned to each VM respectively to perform the execution of tasks. Each VM runs on its own resources in parallel and independently. Figure 3 depicts the system architectural model of the proposed work. For efficient task scheduling without loss of resource utilization TOPSIS–PSO method performs optimized task scheduling. The task scheduling is carried out by two phases. In first phase, TOPSIS algorithm is applied to obtain RC of the selected cloud criteria (i.e., execution time, transmission time and cost) of a task. In second phase the PSO begins with computed RC of the given three criteria for all tasks in all VM. The working of TOPSIS and PSO is explained in the following section.

Fig. 3
figure 3

Framework architecture of proposed method

4.2 TOPSIS approach

PSO and various heuristic techniques have been used to optimize single criteria based solutions. These heuristic solutions are not up to the mark for multiple criteria based problems. In cloud technology to obtain better optimized solution for multiple criteria, a decision making method can result better ideal solution. This work has grabbed attention on a multi-criteria decision analysis based method called TOPSIS. It was first developed by Hwang and Yoon in 1981. TOPSIS method effects generously on real world decision making problems and work positively for many applications. Task scheduling process is carried out by TOPSIS–PSO algorithm which maps user tasks to VM by considering multiple substantial factors. FV for PSO is computed by TOPSIS algorithm. Involvement of TOPSIS algorithm supports multiple objective functions in order to maximize efficiency of task scheduling. The overall procedure of TOPSIS algorithm is depicted in Algorithm 1 and steps are as follows:

Step 1 evaluate the DM of size m × n, where m represents number of alternatives and n denotes number of criteria. Alternatives are represented by VMs and criteria are denoted by objective functions as shown in Table 2.

Table 2 Decision matrix

Step 2 this step transforms the dimensional attributes into non-dimensional attributes by comparing against each criterion. The obtained matrix from Step 1 is standardized using Eq. (6),

$${\text{D}}_{\text{ij}} = \frac{{{\text{X}}_{\text{ij}} }}{{\sqrt {\sum {\text{X}}_{\text{ij}}^{2} } }},$$
(6)

where j = {1, 2,…,m}, j = {1, 2,…,n} and Xij represents an element in DM corresponding to ith alternative and jth criteria.

Step 3 weight values to each criterion are provided by a function called decision-maker and these weights are provided according to the relevance of the criteria in scheduling process. Each element in normalized DM is multiplied by weight values corresponding to each criterion to generate weighted normalized DM \([{\text{W}}_{\text{E}} ,\;{\text{W}}_{\text{trans}} ,\;{\text{W}}_{\text{PC}} ]\) as,

$${\text{EX}}_{\text{T}} = {\text{EX}}_{\text{TQ}} \times {\text{W}}_{\text{E}} ,$$
(7)
$${\text{Trans}}_{\text{T}} = {\text{Trans}}_{\text{TQ}} \times {\text{W}}_{\text{trans}} ,$$
(8)
$${\text{PC}}_{\text{T}} = {\text{E}}_{\text{TQ}} \times {\text{W}}_{\text{PC}} .$$
(9)

Subject to: \(0 < {\text{W}}_{\text{E}} ,\;{\text{W}}_{\text{trans}} ,\;{\text{W}}_{\text{PC}} \le 1\;{\text{W}}_{\text{E}} + {\text{W}}_{\text{trans}} + {\text{W}}_{\text{PC}} .\)

Step 4 determination of PIS and NIS. PIS (S+) associated with that value of criteria which has positive impact and NIS (S) associated with that value of criteria which has negative impact on the solution are given by,

$${\text{S}}^{ + } = \left( {{\text{V}}_{1}^{ + } ,\;{\text{V}}_{2}^{ + } , \ldots ,{\text{V}}_{\text{i}}^{ + } } \right),$$
(10)
$${\text{S}}^{ - } = \left( {{\text{V}}_{1}^{ - } ,\;{\text{V}}_{2}^{ - } , \ldots ,{\text{V}}_{\text{i}}^{ - } } \right).$$
(11)

Here, EXT, PCT and TransT are considered as criteria which have positive impact and need to be minimized.

Step 5 calculation of separation measures. In this step, separation of each alternative from PIS and NIS are measured as,

$${\text{S}}^{*} = \sqrt {\mathop \sum \limits_{{{\text{j}} = 1}}^{3} \left( {{\text{V}}_{\text{ij}} - {\text{V}}_{\text{j}}^{ + } } \right)^{2} } ,$$
(12)
$${\text{S}}^{\prime} = \sqrt {\mathop \sum \limits_{{{\text{j}} = 1}}^{3} \left( {{\text{V}}_{\text{ij}} - {\text{V}}_{\text{j}}^{ - } } \right)^{2} } .$$
(13)

Above two equations are used to measure separation from PIS and NIS respectively, where j denotes the number of criteria.

Step 6 calculation of RC. The RC of Qth task with respect to S+ is defined as,

$${\text{FV}}_{\text{Q}} = {\text{RC}}_{\text{Q}} = \frac{{\text{S}}^{\prime}}{{\text{S}}^{\prime} + {\text{S}}^{*} }.$$
(14)

RC is taken as FV and updated in PSO algorithm. At each iteration particle move towards best solution in population and update their velocity based on FV computed from TOPSIS algorithm.

figure e

4.3 PSO approach

Kennedy and Eberhart proposed a newest heuristic approach to perform optimization of solutions known as PSO. In this approach, a simulation is performed to get desired destination of either group of fish or flock of birds which is also known as swarm. Further, the concept of PSO came into the mathematical or computing concept to achieve best optimal solution on the basis of self-adaptive global search. The major part of PSO is initialization of particles. Each particle adjusts its velocity and position according to its best position and the position of best particle i.e., global best of the entire population in each generation. According to the PSO algorithm, each particle is represented using velocity and location which can be obtain using Eqs. (15) and (16).

$${\text{V}}_{\text{P}} [{\text{k}} + 1] = {\text{w}}\,*\,{\text{V}}_{\text{P}} [{\text{k}}] + {\text{C}}1\,*\,{\text{rand}}_{1} \,*\,\left( {{\text{pbest}} - {\text{X}}_{\text{P}} [{\text{k}}]} \right) + {\text{C}}2\,*\, {\text{rand}}_{2} \,*\,\left( {{\text{gbest}} - {\text{X}}_{\text{P}} [{\text{k}}]} \right),$$
(15)
$${\text{X}}_{\text{P}} [{\text{k}} + 1] = {\text{X}}_{\text{P}} [{\text{k}}] + {\text{V}}_{\text{P}} [{\text{k}} + 1],$$
(16)

where VP[k + 1]and VP[k] represent current velocity and previous velocity of particle p. XP[k + 1] and XP[k ] are the current and previous position of particle p. Two acceleration coefficients C1, C2 and random numbers (between 0 and 1) rand1, rand2 are used in velocity computation. Best position of particle p and position of best particle in the population are denoted by pbest and gbest and w represents inertia weight [25].

PSO is a swarm-based intelligence algorithm [26] inspired by the social behavior of animals such as flocking of birds searching for food. In PSO a particle is similar to a bird moving through a search (problem) space. The velocity is used to synchronize particle movement, which has both magnitude and direction. At any point of time position of each particle is influenced by its best position and the position of the pbest in the search space. FV is problem specific and used to measure the performance of a particle. The population represents the number of particles in the search space. Particles are initialized randomly. Each particle will have a FV which is obtained using TOPSIS. The pbest of a particle is the best result (i.e., FV) reached so far by the particle, whereas gbest is FV of best particle in the search space.

figure f

This process is performed for each user task which is scheduled to VM. By assigning each task to VM, MT and EXT are reduced significantly. TOPSIS–PSO based task scheduling process minimizes MakeSpan of user tasks without loss of efficient resource utilization. The working nature of PSO is depicted in Algorithm 2 and TOPSIS–PSO algorithm based task scheduling is shown in Fig. 4.

Fig. 4
figure 4

Flow diagram of TOPSIS–PSO algorithm

5 Implementation

The proposed TOPSIS–PSO algorithms have been implemented with three criterions for enhancing cloud QoS. The algorithm have been simulated in CloudSim tool and executed on 2.20 GHz Intel core Xeon processor with 16 GB RAM memory. For the purpose of comparison, 10 separate runs are made to obtained statistical results. The simulation work has been performed under CloudSim tool which includes various cloud environment configurations shown in Table 3.

Table 3 Type 1 experiment using cloud setup configuration details

In Table 4, the results obtained for various priority ranges for tasks on VM1 are discussed. Here T3 has highest priority on VM1 since it has minimum transmission time, execution time, and processing cost. Thus TOPSIS–PSO algorithm assigns T3 to VM1 for execution. After assigning T3 to VM1 same process is repeated for remaining tasks and VMs.

Table 4 Priority ranges for tasks

TOPSIS algorithm is used for FV calculation and initialized by estimating relative weight value for each criteria. The weight for all three criteria is represented by [EXT, TransT, PC] = [WE, Wtrans, WU]. To explain the abstract working of the TOPSIS we took only 10 tasks assigned to 5 VMs. The working procedure will be the same for higher number of tasks and VMs. Stepwise procedure of TOPSIS for finding RC for each criterion is shown below:

Step 1 evaluation of DM of alternatives (VMs) and criteria (execution time, transmission time and cost) using attributes of tasks under five VMs are shown in Table 5.

Table 5 Decision matrix

Step 2 standardization of obtained DM using Eq. (6) shown in Table 6.

Table 6 Standardize decision matrix

Step 3 each element in standardized DM is multiplied by weight value of each criterion to generate weighted standardized DM \([{\text{W}}_{\text{E}} = 0.2,\;{\text{W}}_{\text{trans}} = 0.3,\;{\text{W}}_{\text{PC}} = 0.5]\) using Eqs. (7), (8) and (9) respectively. The weight values are provided by decision maker shown in Table 7.

Table 7 Weighted decision matrix

Step 4 determination of PIS and NIS solution using Eqs. (10) and (11) shown in Table 8.

Table 8 Determining positive and negative ideal solution

Step 5 calculation of positive and negative separation measures using Eqs. (12) and (13) respectively is shown in Tables 9 and 10.

Table 9 Separation from positive ideal solution
Table 10 Separation from negative ideal solution

Step 6 the positive RC is calculated using Eq. (14). The final RC of each tasks are obtained shown in Table 11.

Table 11 Relative closeness (FV)

Step 7 Initialization of particles using Eqs. (15) and (16). Parameters that are used for PSO are shown in Table 12. The steps in the PSO algorithm are listed in Algorithm 2. The algorithm starts from initializing the particle dimensions from task list. Velocity and position of particles are initialized randomly using Eqs. (15) and (16). The values allocated to the dimensions of each particle indicate the computing resources that assigned to VM. Thus a particle represents mapping between user tasks and available resources of VMs. In the above given case, each particle has 10 dimensions for 10 numbers of tasks. The criteria are the tasks that are further assigned to available VMs. Table 13 represents the assignment of tasks to the VMs such as, task T2, T8 and T9 are assigned to VM1, task T5 and T7 are assigned to VM2 and so on. As the number of tasks and VMs are increased the assignment matrix will show the mapping accordingly.

Table 12 PSO parameters
Table 13 Task assignment matrix to VMs

In our proposed TOPSIS–PSO algorithm, PSO has with complexity of O(ntlogn) in which n is number of populations and t is number of epochs [28]. In addition, TOPSIS algorithm has complexity of O(n2 + n + 1) for FV computation. O(n2) is complexity of attribute normalization and weighting, O(n) is required for finding PIS–NIS and O(1) is required for ranking the attributes [29].

6 Results and discussion

In the result section, paper illustrates the outcome to study the performance of proposed TOPSIS–PSO algorithm by comparing with various existing algorithms with respect to MakeSpan, transmission time, cost and average resource utilization. The limitation of [24] is, these are single objective based task scheduling algorithms where TOPSIS–PSO overcomes the limitations by choosing MCDM. The following section describes the analysis of the achieved result with cloud metrics.

6.1 Type 1: (TOPSIS–PSO- vs. -PSO- vs. -DAPSO and TOPSIS–PSO- vs. -ABC- vs. -IABC)

For the first Type 1 experiment, we compared our approach with PSO, dynamic PSO (DAPSO) [14] in terms of MakeSpan, transmission time and resource utilization. The same experiment is performed with ABC and IABC [24] in terms of processing cost. The parameter setting is given in Table 3.

6.1.1 Analysis of MakeSpan

The MakeSpan metric gives the CT of tasks in VMs. The main objective of the work is to minimize MakeSpan for fast execution of tasks. The MakeSpan of TOPSIS–PSO is compared to DAPSO and PSO algorithm. MakeSpan is individually observed with respect to number of tasks (10 to 40) that are having 5 and 10 number of VMs respectively. The MakeSpan is calculated using Eq. (4). Tables 14 and 15 depict the calculated values of MakeSpan for 5 and 10 VMs. Figures 5 and 6 depict the total MakeSpan for PSO, DAPSO and TOPSIS–PSO. The analysis shows that proposed TOPSIS–PSO algorithm provides 16.97% and 7.57% less MakeSpan than PSO and DAPSO for five VMs. Similarly, it shows 16.85% and 32.40% less MakeSpan for 10 VMs respectively.

Table 14 MakeSpan with five VM
Table 15 MakeSpan with 10 VM
Fig. 5
figure 5

Comparative analysis on MakeSpan with five VMs

Fig. 6
figure 6

Comparative analysis on MakeSpan with 10 VMs

6.1.2 Analysis of transmission time

The TransT metric gives the time taken by task to reach in VMs. The TransT of TOPSIS–PSO and PSO algorithms are compared. TransT is calculated using Eq. (2) and calculated outcomes are shown in Table 16 with respect to number of task (10 to 40). Figure 7 shows the graph representation of TransT for PSO and TOPSIS–PSO algorithm. The obtained results show that proposed algorithm achieves 2.37% less TransT than PSO which shows better result.

Table 16 Transmission time
Fig. 7
figure 7

Comparative analysis on transmission time

6.1.3 Analysis of processing cost

The PC metric gives the overall processing cost spent on processing tasks on VMs. Analysis of PC is compared with algorithm ABC and IABC. In cloud computing environment PC is the most effective metric of concern. Minimization of PC leads to better QoS to the users. Figure 8 shows the comparative analysis for PC with respect to number of executed tasks. The PC is calculated using Eq. (3) and the obtained values of proposed algorithm are shown in Table 17. TOPSIS–PSO is compared to ABC and IABC algorithms that show the TOPSIS–PSO has reduced the PC 23.93% and 55.49% than IABC and ABC respectively.

Fig. 8
figure 8

Comparative analysis on cost

Table 17 Processing cost

6.1.4 Analysis of resources utilization

Better utilization of resources shows the low wastage of resources. It also shows the efficiency of the system to the resources (RAM, CPU). Figure 9 depicts the AVGU by the proposed algorithm with respect to executed tasks. Here we compare AVGU performance of proposed algorithm with PSO that shows the TOPSIS–PSO algorithm achieves higher AVGU as number of tasks significantly increases. AVGU is calculated using Eq. (5) and values of PSO and TOPSIS–PSO shown in Table 18. The analysis shows that proposed TOPSIS–PSO algorithm achieves approximate 75% of utilization for six numbers of VMs which is better in results than PSO for greater number of tasks.

Fig. 9
figure 9

Comparative analysis on AVGU

Table 18 Resource utilization

6.2 Type 2: (TOPSIS–PSO- vs. -FUGE- vs. -ACO- vs. -MACO)

For the second experiment, we compared our approach with the ACO, multiple ACO (MACO) and FUGE algorithms [7] in terms of MakeSpan. The parameter setting for Type 2 experiment is given in Table 19.

Table 19 Cloud parameter settings Type 2 experiment

Figure 10 depicts the MakeSpan obtained by the proposed algorithm with respect to executed tasks. Here MakeSpan performance of the proposed algorithm compared with existing algorithms such as: FUGE, ACO and MACO. The results show that the performance of TOPSIS–PSO algorithm have reduces MakeSpan for the given configuration. MakeSpan values for FUGE, ACO, MACO and TOPSIS–PSO are shown in Table 20. The analysis shows that proposed TOPSIS–PSO algorithm reduces 3.1, 29.1 and 14.4% total MakeSpan than FUGE, ACO and MACO respectively. The obtained results conclude that TOPSIS–PSO has the better performance for the given parameters.

Fig. 10
figure 10

Comparative analysis of average MakeSpan

Table 20 Average MakeSpan

7 Conclusion

This paper, introduced novel TOPSIS based task scheduling algorithm to achieve better outcome of cloud metrics. The novel idea is to combine TOPSIS and PSO algorithm. The TOPSIS–PSO algorithm works on two stages. TOPSIS method calculates the RC of VMs with respect to each task. The proposed algorithm works on the multi-criteria based approach where three criteria (execution time, transmission time and cost) are taken to improve the scheduling process. PSO algorithm receives the calculated RC of each task which acts as FV of tasks (particles). Tasks are arranged according to TOPSIS method and assigned to VMs depending on their FV over PSO. The work has resulted in improvement of execution time, MakeSpan, resource utilization, processing cost, and transmission time as compared to the dynamic scheduling algorithms. The TOPSIS method to calculate RC for PSO has been remarkable for dynamic environment. TOPSIS–PSO algorithm performs better than FUGE algorithm for given parameters, but for more number of tasks the algorithm underperforms as it lacks load balancing mechanism. In future we intend to extend our proposed task scheduling work with the consideration of load balancing for large number of tasks and power consumption in order to improve energy efficiency in cloud environment.