1 Introduction

During the last few years, cloud computing has altered the form of all computing paradigms by providing a lot of services over the internet [1]. It is referred to services and applications are grouped as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) [2] and can be offered as services and a pricing plan is used for these resources by pay-as-per-use [3]. If the desired performance is not accomplished, the users will hesitate to make payment, therefore, it is necessary to fulfil QoS to users for the given resources [4]. The inherent heterogeneity, highly dynamic nature inevitably, and multidomain characteristic also lead to the difference in resource cost, computing capacity, memory capacity, communication capacity, and storage capacity [5]. The heterogeneous resources can be local or geographically distributed, which are used for execution of computationally intensive applications [6]. Around the world, there are several cloud providers that have variable data centers that facilitate the managing, setting up, and maintaining of the private storage infrastructure like Google Cloud storage, Microsoft Azure, and Amazon S3 [7].

Cloud consumer always negotiates with the Cloud Service Provider (CSP) to sign on Service Level Agreements (SLA) prior to any service use or resource rent [8]. In computing model, a consumer pays only for what he consumes from a service and resources that he needs. A consumer is concerned with two most important factors: cost and time. Thus, the trade-off problem for scheduling the tasks is cost and time [9]. Task scheduling is an important issue in cloud computing where it is responsible for assigning the tasks to the suited resources [10]. User’s tasks are submitted to different cloud resources based on the computational cost and time using task constraints (deadline, budget). The running costs can be optimized by a provider, as well as guarantee a high QoS by ensuring equitable access to resources shared by all users [11]. Therefore, the execution of tasks must take into account a scheduling on the heterogeneous environment in such a way that the user-defined deadline is achieved, and the monetary costs of the tasks executed also do not exceed the user-defined budget. Due to higher leasing costs of resources, the execution costs and utilization of leased resources gain higher importance [12]. In general, task scheduling should fulfil the following requirements of scheduling aims:

  1. 1.

    QoS/SLA constraint The SLA clearly states the QoS requirements for scheduling the tasks by specifying the application deadline, task scheduling expenditure budget, service security, and system reliability. Hence the QoS target constraints of task scheduling should be taken into account to achieve QoS requirement and obtain ultimate service revenue or profit to guarantee commercial success.

  2. 2.

    Service revenue Cloud computing environment consists of thousands and even millions of servers, causing higher input costs. So, for task scheduling in cloud computing, some economic principles and practices are used, which make the scheduling more efficient in performance and accordingly looks more reasonable. Therefore, for promoting a healthier and more sustainable growth of cloud computing market, meeting and QoS constraints, satisfying resource requests and ways to increase service revenue have become other critical objectives of task scheduling for providers of cloud service.

Under such a background, how can the tasks be scheduled for efficiency by executing the tasks with low payment costs and with less completion time (makespan). Meanwhile, maximizing resource utilization in cloud computing has become a growing concern and is one of the technical difficulties in the academic field [13].

In this paper, the Deadline Budget Scheduling (DBS) model is introduced in which the users will submit their tasks with their budget and deadline to the data centers and then a priority would be defined upon the users’ need.

In DBS model, when the task has deadline and budget constraints, it is considered as high priority, while if the task has only deadline constraint it is considered as fair priority; finally with only budget constraint it is considered as less priority for all the users’ tasks.

The main contributions of this paper are:

  1. (a)

    The proposal of DBS model addresses task requirements which are constrained to time and cost.

  2. (b)

    The DBS model attains less completion time for executing the resources upon two or one of the two constraints along with increasing the service provider revenue, and in addition to minimizing the number of violation of submitted tasks.

  3. (c)

    Experimental results demonstrate that DBS model is capable of assigning the tasks to suitable resources with high quality in terms of meeting the deadline and budget constraints. The makespan is minimized up to 31.5% and cost up to 31.5% when compared to state-of-the-art algorithms.

The reminder of this paper is organized as follow. Section 2 explains the related work. Section 3 defines the problem. The proposed work of DBS model is presented in Sect. 4. Section 5 presents results of experiments. Performance evaluation is presented in Sect. 6. Section 7 concludes the work.

2 Related work

The scheduling of the tasks over the cloud environment resources becomes a very complicated problem, where there are a lot of metrics such as makespan and utilization of the resources which influence the scheduling. Constraints such as deadline and budget must also be taken into account. So these problems are tackled by scheduling algorithms regarding QoS constraints (deadline, budget, deadline and budget).

2.1 Deadline constraint

Deadline constraint is a major constraint which the schedule algorithms must take into consideration to make their proposed schedulers as efficient as possible.

Pop et al. [14] scheduled a set of periodic tasks by estimating number of resources while taking into account the execution and data transfer costs. They decoupled the task upon coming from created task, execution and scheduling, set of actions as network peer- to- peer relation or client–server over the cloud. The experiments depended on deadline constraint that influences the tasks scheduling.

Shin et al. [15] improved a conservative backfilling algorithm by using the Earliest Deadline First (EDF) algorithm and the Largest Weight First (LWF) algorithm in which, firstly all the jobs arriving at data centers are registered and sorted in ascending order to maintain job’s high priority. Then the largest backfill job is selected that maintains the deadline constraint. Their algorithm improved the system performance regarding deadline.

Deldari et al. (2016) proposed to partition the workflow into clusters for minimizing the execution costs upon the users’ deadline constraint which considered the main factors in their work by using flexible and an extendable scoring method to select the best cluster groups for meeting their objectives. The proposed algorithm proved to great by minimizing the cost of resources while preserving the users’ deadline constraint [11].

Panda et al. [1] introduced three allocation-aware task scheduling algorithms on multi cloud environment based on extended Min–Min and Max–Min algorithms for the multi cloud environment. The proposed algorithms depended mainly on three phases named matching, allocation and scheduling. They evaluated their algorithms by using various benchmark and they measured the makespan, average utilization and throughput and proved the efficiency of their algorithms.

2.2 Budget constraint

Budget is another important QoS constraint. It is the cost threshold that the users want to pay for using cloud resources and services. Each cloud user has a budget for the resources he uses from cloud to execute his tasks. Many researchers addressed this issue and improved the scheduling algorithms regarding budget QoS constraint.

Our previous work (2017) is a Scheduling Cost Approach (SCA) to distribute tasks among available resources based on priority which was determined by the users as well as to improve load balancing. Then the cost of resources like CPU, bandwidth, RAM, and storage is calculated. The experimental results illustrated that SCA outperformed the state of art algorithms [16].

Thanasias et al. [17] discussed task scheduling and resource allocation problem for implementing tasks in IaaS clouds; a novel provisioning and scheduling algorithm is presented to execute tasks under budget constraint while reducing the slowdown. The experimental results illustrated that their proposed algorithms minimized the slowdown in execution time to 70%.

In the execution of scientific applications on the cloud systems, minimizing the schedule length is the main quality of service requirements. Chena et al. [18] proposed minimizing the schedule length using the budget level MSLBL algorithm to determine the cloud processors which satisfy the budget and reduce the application schedule length. The first problem was solved by transferring the tasks with their budget, while the second problem was solved by heuristically scheduling the task by minimizing time complexity.

Rodriguez et al. [19] introduced a scheduling algorithm which optimized the task workflow execution time regarding the budget constraint. The experiments proved that this scheduling algorithm has faster execution time and more effective performance on cloud resources where their proposed algorithm is capable of generating high-quality schedules to meet the budget constraint.

2.3 Budget and deadline constraint

Some researchers have proposed merging the two QoS constraints (deadline, budget) in schedule algorithms for more novelty of the algorithms. All the cloud users need to maintain some QoS constraints as the best and cheapest resource cost to execute their applications as fast as possible.

Saxena et al. [20] classified the tasks with deadline and minimum cost as a constraint. Then priority of fairness, and dynamic optimization is applied. The priority is implemented in round robin algorithm where there are three queue priorities (high, mid, low) as per weights allocated to the tasks. The performance results illustrated that there are benefits to users, cloud providers and also provided fairness at priority level.

Arabnejad et al. [21] tried to minimize the time complexity of the scheduling algorithm. They proposed Deadline-Budget Constrained Scheduling (DBCS) which considered some of the QoS parameters time and cost that are the main issues in the proposed algorithm. Radically, the DBCS algorithm searched for fine schedule mapping which satisfies the users’ specified deadline and budget constraints. The implementation of DBCS consumed approximately 4% of time in the worst cases and it achieved low complexity time.

Khorsand et al. [22] proposed Adaptive Two Stage Deadline Constrained Scheduling (ATSDS) algorithm. The first stage depended on run-time circumstances in cloud computing. It is virtual machines number and average available bandwidth that is dynamically fragmented. The second stage is related to assigning the workflow fragments created to be executed into VMs based on VM capacity and deadline constraint.

Arabnejad et al. [23] considered the profit of provider and they proposed Multi-QoS Profit-Aware scheduling algorithm (MQ-PAS) to assign each job with its budget priority. The performance evaluation results showed that the MQ-PAS increased the profit of provider and achieved success rates of completion jobs.

Verma et al. [24] proposed a Hybrid Particle Swarm Optimization (HPSO). The proposed hybrid is a non-dominance sort strategy, which considers two discordant objectives, makespan under deadline and cost under budget. In addition to these conflicting aims the energy consumption of created workflow scheduling is reduced.

3 Problem definition

Tasks scheduling in cloud computing could be more efficient and generate high performance if it is good in assigning appropriate tasks on cloud VMs. In this definition, it is assumed that the cloud environment is hosted in a data center consisting of heterogeneous servers, which in turn hosts several VMs. The VMs configurations may have various processing capacities, memory sizes, and the communication links may have different bandwidths as well as different storage capacities. In this paper, the Deadline Budget Scheduling (DBS) model is proposed, which minimizes execution time and cost while constrained to a user defined deadline and budget. The task scheduling is considered with the following scenarios: the VMs are heterogeneous, which have different efficient performance depending on the resources provisioned to them. In order to formulate DBS model, the Dc as data center consisting of several H hosts is defined, each host contains a set of VMs. The resources of VM is denoted as: RVM = {RC, RB, RM, RS}, where RC is the CPU capacity which is represented as million instructions per second (MIPS). RB is the amount of bandwidth while RM refers to the memory of VM finally, RS is storage of VM. A task’s processing cost will vary according to the tasks being assigned to different VMs and their costs. On the other hand, the communication cost between two VMs is changing because of bandwidth diversity between two different VMs; also, the cost of memory and storage is different from one VM to another so that a cost of each RVM is denoted as CR = {CRC, CRB, CRM, CRS} respectively. Each VM implements independent tasks which are denoted as T that has several attributes such as deadline, budget, length, input file size and output file size denoted as T = {TD, TB, Len, Fit, Fot} respectively. The target of this work is to minimize the makespan and execution cost considering user satisfaction.

3.1 Parameters’ definition

Variables and parameters used in deadline and budget scheduling model are defined in Table 1.

Table 1 Abbreviations used in the proposed DBS model

4 Proposed work

This work highlights deadline and budget constraints in task scheduling to improve the QoS in association with two basic parameters i.e., minimize execution time and cost of executed tasks, and finally enhance the revenue of services as well as resource utilization of the VMs and the host(s).

4.1 Task Constraint Type

In this proposal each task has a constraint type based on user satisfaction. In the proposed DBS model, there are three types of constraint type assigned as in Eq. 1:

$${\text{Task}}\;{\text{Constraint}}\;{\text{Type}} = \left\{ {\begin{array}{*{20}l} {D\;{\text{and}}\;B} \hfill & {{\text{if}}\;{\text{the}}\;{\text{constraints}}\;{\text{are}}\;{\text{Deadline and}}\;{\text{Budget}}} \hfill \\ D \hfill & {{\text{if}}\;{\text{the}}\;{\text{constraint}}\;{\text{is}}\;{\text{Deadline}}} \hfill \\ B \hfill & {{\text{if}}\;{\text{the}}\;{\text{constraint}}\;{\text{is}}\;{\text{Budget}}} \hfill \\ \end{array} } \right.$$
(1)

4.2 Clustering of resources

The available cloud resources can be clustered based on user’s satisfaction in the following way:

  1. 1.

    First cluster consists of a set of VMs which meet the budget and deadline constraints.

  2. 2.

    Second cluster consists of a set of VMs which meet deadline constraint.

  3. 3.

    Third cluster consists of a set of VMs which meet only the budget constraint.

When looked at Fig. 1, the scheduling DBS model appears consisting of resources and cloud users who send their tasks including the constraints (deadline, budget). Each task is checked for detecting its constraint type based on user satisfaction and it will be sent to a cluster of resources that is capable of fulfilling the task constraint. If the constraint is both deadline and budget then the task will be implemented in cluster one; if the constraint is a deadline the task will be implemented in cluster two, or else if the task’s constraint type is budget it will be implemented in cluster three. After that, at the same cluster, other attributes of the task (length, file size) is also included in the selection for achieving minimum makespan and minimum cost as illustrated in the next section.

Fig. 1
figure 1

Proposed deadline budget scheduling model

4.3 Scheduling strategy

In this paper, the DBS task scheduling depends on two levels for binding the tasks to suitable resources, so the determination of task constraint type is known as level one, while at level two, the DBS model determines the task’s requirements based on the task attributes as illustrated in Fig. 2.

Fig. 2
figure 2

Organogram of the DBS model

In level one, each task will be checked to detect its constraint type as illustrated in Eq. 1, and based on the constraint each task will be sent to the appropriate cluster as mentioned earlier. Next, in level two, the attributes of the same task will be compared. This step of comparison is for finding the best resource in one cluster, therefore, the length of the task (Len) and the input file size (Fit) are compared.

If the constraint type is D & B, the deadline and budget constraints should be met. The proposed DBS model will obtain the appropriate VM in the first cluster for implementing the task as mentioned in Eq. 2.

$${\text{D}} \& {\text{B Constraint Type}} = \left\{ {\begin{array}{*{20}l} {{\text{completion time if Len}} > {\text{Fit}}} \hfill \\ {{\text{data transfer time if Len}} < {\text{Fit}}} \hfill \\ \end{array} } \right.$$
(2)

When the length of the task is larger than the input file size, the completion time of task must be considered, else the data transfer time must be considered.

In the first cluster, the VM which achieves less expected completion time will be selected. The expected completion time is calculated based on Eq. 3.

$${\text{ECT}} = \sum\limits_{i = 1}^{p} {{\text{EX}}_{\text{i}} + {\text{EX}}\;{\text{of}}\;{\text{current}}\;{\text{task}}}$$
(3)

where p is the number of previously assigned tasks in specific VMj, EX is the execution time of task, which is calculated based on Eq. 4 [25].

$${\text{EX}} = \frac{Len}{{R_{C} }}$$
(4)

In cases when the length of the task is lesser than its input file size, the task will be assigned to a VM that return less data transfer time among all VMs in a cluster. Data transfer time is calculated as mentioned in Eq. 5.

$${\text{DT}} = \frac{Fit + Fot}{{R_{B} }}$$
(5)

The expected data transfer time of task in each VM is calculated based on Eq. 6.

$${\text{EDT}} = \sum\limits_{i = 1}^{p} {{\text{DT}}_{\text{i}} + {\text{DT}}\;{\text{of}}\;{\text{current}}\;{\text{task}}}$$
(6)

So the VM which has less EDT will be selected to implement the task.

In the proposed DBS model, the second constraint type is D, which focuses on the deadline constraint only. The completion time of task is calculated for the second cluster and the task will be sent to VM that has lesser completion time. The expected completion time is as mentioned in Eq. 3.

The last constraint type of the proposed DBS model is B. The task requirements is obtaining the cost of execution in third cluster as mentioned in Eq. 7 which compares between the length of task and input file size as below:

$${\text{B}}\;{\text{Constraint}}\;{\text{Type}} = \left\{ {\begin{array}{*{20}l} {{\text{CPU}}\;{\text{Gain}}\;{\text{if}}\;{\text{Len}} > Fit} \hfill \\ {{\text{Data}}\;{\text{Transfer}}\;{\text{Gain}}\;{\text{if}}\;{\text{Len}} < Fit} \hfill \\ \end{array} } \right.$$
(7)

When the length of the task is the largest, assuming that faster machine is used by selecting VM that has less expected CPU cost based on Eq. 8.

$${\text{ECG}} = \frac{{Len_{i} }}{{R_{C} }} \times C_{RC}$$
(8)

On the other hand, if the file size is largest, the data transfer cost is kept high. The task will be mapped to faster VM as allotted in Eq. 9.

$${\text{EDG}} = \frac{{Fit_{i} + Fot_{i} }}{{R_{B} }} \times C_{RB}$$
(9)

Finally, the gain cost of task will be calculated based on Eq. 10 [16].

$${\text{Gain Cost}}\; ( {\text{GC)}} = \left( {\frac{{Len_{i} }}{{R_{C} }} \times C_{RC} + \frac{{{\text{Fit}} + Fot_{i} }}{{R_{B} }} \times C_{RB} + \frac{{Fit_{i} + Fot_{i} }}{{R_{M} }} \times C_{RM} + \frac{{Fit_{i} + Fot_{i} }}{{R_{S} }} \times C_{RS} } \right)$$
(10)

The status of all VMs is updated, and the scheduling model computes the optimal solution to select the appropriate scheduling decision.

4.3.1 Case study

As mentioned before, the tasks come with different constraints types such as D & B, D, B. The first type is tackled as a simple case study to clarify the concept of DBS model. Assume there are three VMs, two tasks having D&B constraints with attributes as mentioned in Table 2.

Table 2 Task and VMs attributes

Based on the above assumption, the completion time of task 1 must be considered as mentioned in Eq. 2 and is calculated based on Eqs. 3 and 4.

$${\text{ECT}}\;{\text{in}}\;{\text{VM}}1 = {\text{length}}\;{\text{of}}\;{\text{task}}1/{\text{MIPS}}\;{\text{of}}\;{\text{VM}}1 = \frac{2000}{1000} + 0 = 2$$
$${\text{ECT}}\;{\text{in}}\;{\text{VM}}2 = {\text{length}}\;{\text{of}}\;{\text{task}}1/{\text{MIPS}}\;{\text{of}}\;{\text{VM}}1 = \frac{2000}{250} + 0 = 8$$
$${\text{ECT}}\;{\text{in}}\;{\text{VM}}3 = {\text{length}}\;{\text{of}}\;{\text{task}}1/{\text{MIPS}}\;{\text{of}}\;{\text{VM}}1 = \frac{2000}{600} + 0 = 3.33$$

With compared these results, the task 1 will be assigning to VM1 which return less ECT.

But looking at task 2 attributes, the lesser EDT is considered, because, the length of task 2 is less than the file input data for the same task, and is calculated based on Eqs. 5 and 6:

$$\begin{aligned} {\text{ECT}}\;{\text{in}}\;{\text{VM}}1 = & \frac{Fit + Fot}{{R_{B} }}{\text{of}}\;{\text{current}}\;{\text{task}} + \frac{Fit + Fot}{{R_{B} }}\;{\text{of}}\;{\text{pervious}}\;{\text{task}} \\ = & \frac{3000 + 200}{300} + \frac{400 + 250}{300} = 12.83 \\ {\text{ECT}}\;{\text{in}}\;{\text{VM}}2 = & \frac{Fit + Fot}{{R_{B} }}{\text{of}}\;{\text{current}}\;{\text{task}} + \frac{Fit + Fot}{{R_{B} }}\;{\text{of}}\;{\text{pervious}}\;{\text{task}} \\ = & \frac{3000 + 200}{200} + 0 = 16 \\ {\text{ECT}}\;{\text{in}}\;{\text{VM}}3 = & \frac{Fit + Fot}{{R_{B} }}{\text{of}}\;{\text{current}}\;{\text{task}} + \frac{Fit + Fot}{{R_{B} }}\;{\text{of}}\;{\text{pervious}}\;{\text{task}} \\ = & \frac{3000 + 200}{100} + 0 = 32 \\ \end{aligned}$$

Task 2 will be assigned to VM1 taking into account that task 1 was also sent to the same VM in the previous scheduling, where VM1 also returns less EDT among all VMs.

Other constraint types will be handled the same way by taking into account the constraint type and task attributes.

4.4 The proposed model methodology

The methodology of the proposed DBS model will work according to the following steps:

figure c

5 Results of experiments

The most appropriate toolkit which can simulate the cloud environment efficiently is CloudSim toolkit. CloudSim is an extensible model and simulation framework. It is a model for experiments simulating the cloud computing infrastructure and services. In order to evaluate the performance of the proposed DBS model, many experiments are implemented based on the CloudSim toolkit which has several entities. The simulator consists of data center entity which represents cloud environment and is partitioned into two hosts. Also the entities: Datacenter Broker, VM and cloudlet entities are used. A central piece of DBS model is the Data center Broker which simulates a provisioning policies and scheduling algorithms. The VM entity is extended to add the cost of each resource. It is assumed that VMs have a single core and executes the tasks in parallel. The tasks are represented using Cloudlet entity which is submitted by a user to the cloud. This entity is extended also to consider the deadline and budget attributes. The Data center Broker administrates the VMs provisioning and the scheduling of tasks. When the tasks are received in cloudlets form, the broker takes a decision to obtain or terminate VMs based on the task scheduling. The Data center Broker reads the list of submitted cloudlets and binds each cloudlet to appropriate VM based on a pre-specified policy. The list of cloudlets is assigned in an iterative way, until all cloudlets are submitted and executed. Each cloudlet submitted must be removed from cloudlets list. The broker also monitors the cloudlets during the runtime to give a report whether cloudlets are executed or not. The simulation software environment is configured from one data center that has two physical machines (Host). Each host has 16 GB RAM, 1 TB storage, 100 GB/s Bandwidth and Time–shared VM scheduling algorithm. First physical Machine is (Quad-core Machine), while second physical Machine is (Dual –Core Machine), with X86 Architecture, Linux operating system, Xen Virtual Machine Monitor (VMM), which supports a speed of 10.000 MIPS. Virtual machines are created, each VM with 10 GB image size, 0.5 GB memory, 1 GB/s bandwidth, one processing element, and 500, 1000, 2000, 3000 MIPS. Time-Shared Scheduler and Xen VMM were used. Tasks are created in different lengths and input file sizes, also with different numbers as 250, 500, 750, and 1000 tasks.

The implementation hardware is on a laptop with these configurations: 2.5 GHz, Corei5 CPU, 4 GB Memory, and 512 GB Hard Disk.

Table 3 Summarizes all the measured factors in DBS model (average makespan, total gain cost, No. of violation, provider profit, and average resource utilization) when executing the users’ tasks on Virtual Machines (VMs) under the QoS constraints.

Table 3 Experiments conducted for tasks with different VMs of DBS model

6 Performance evaluation

A primary objective of this work is to assess the performance of the proposed DBS model. For that purpose, key performance metrics are considered to evaluate the efficiency of the model performance from both perspectives, i.e., users and service providers. The makespan is considered as the time required to complete the execution of all tasks as well as the cost of the execution of these tasks. Remaining budget and deadline metrics indicate whether the proposed DBS model can execute the workload without surpassing their constraints.

6.1 Makespan

With respect to the user, the time which is consumed to complete executing the tasks must be reduced. The makespan is the completion time of all tasks which are executed by specific VM, as defined in Eq. 11.

$${\text{Makespan}} = \sum\limits_{i = 1}^{n} {(ECT_{i} *A\,[i,j])}$$
(11)

where n is the total number of tasks, and 1 ≤ j≤ m, A[i, j], a Boolean variable can be defined as follows in Eq. 12 [1]:

$$A[i,j] = \left\{ {\begin{array}{*{20}l} 1 \hfill & {{\text{if}}\,{\text{assign}}\,{\text{to}}\,VM_{j} } \hfill \\ 0 \hfill & {\text{otherwise}} \hfill \\ \end{array} } \right.$$
(12)

Then for all VMs, the average makespan is calculated as mentioned in Eq. 13 [26].

$$Avg.Makespan = \frac{{\sum\nolimits_{j = 1}^{m} {Makespan_{j} } }}{m}$$
(13)

Through the set of experiments, it is proved that the proposed DBS model is capable of running the tasks according to user satisfaction in heterogeneous environment and minimizes the average makespan in all experiments as compared with other algorithms: GA, Max–Min, Round Robin and SJF, which is clear from Fig. 3. Conducting the tasks (250, 500, 750, 1000) on VMs (5, 7, 9, 11), the largest average makespan occurs in SJF algorithm, next Round Robin algorithm, and then GA, followed by Max–Min. Finally, the least makespan is represented in DBS model, which illustrates that the tasks’ time execution upon deadline and budget constraints is a less as possible, which in turn maximizes the DBS model performance level.

Fig. 3
figure 3

Comparison of average makespan

6.2 Total gain cost

Another performance metric which is used to evaluate the proposed DBS model is the cost which is determined by an algorithm’s ability to execute tasks under specified budget constraint, and this is evaluated by using the task’s cost to its budget. Total gain cost is calculated as in Eq. 14 [16].

$${\text{Total}}\;{\text{Gain}}\;{\text{Cost}} = \sum\limits_{i = 1}^{n} {GC_{i} }$$
(14)

From Fig. 4, the lowest gain cost is for executing tasks with DBS model while the highest cost is for tasks executed with SJF algorithm.

Fig. 4
figure 4

Total gain cost

6.3 Number of violations (NoV)

The number of violation is the total number of tasks that violate their deadline. The NoV is defined in Eq. 15 [27] (Fig. 5).

$${\text{Number}}\;{\text{of}}\;{\text{Violations}} = \sum\limits_{i = 1}^{n} {TvD}$$
(15)

where TvD is the Task violated Deadline.

Fig. 5
figure 5

Number of violation

6.4 Provider profit

For service providers, the pivotal parameter is profit which means total revenues that are summed from the amounts charged to the successful tasks of users [23] which is calculated by subtracting the actual implemented cost of the task from the budget of the successful task. The profit will be calculated based on Eq. 16.

$${\text{Provider}}\;{\text{Profit}} = \sum\limits_{i = 1}^{n} {(TB_{i} - GC_{i} )}$$
(16)

Figure 6 shows all the differences between the state-of-art scheduling algorithms and the proposed DBS model graphically. It is obvious that the improvement in provider profit achieved when executing tasks on VMs is better under DBS compared to other algorithms.

Fig. 6
figure 6

Provider profit

6.5 Average resource utilization

Another critical parameter which concerns the provider is resource utilization. The proposed DBS model is evaluated by efficient utilization of the resources in achieving users’ constraints compared with other algorithms where the resource utilization should be maximized. The average resource utilization is defined in Eq. 17 [28].

$$U = \frac{{\mathop \sum \nolimits_{{\varvec{j} = 1}}^{\varvec{n}} \varvec{ }number\; of\;secceful \;tasks}}{{\mathop \sum \nolimits_{{\varvec{k} = 1}}^{\varvec{m}} \varvec{ }{\text{R}}_{C} }}$$
(17)

Figure 7 Illustrates that the proposed DBS model has the highest resource utilization for all the tasks upon user satisfaction compared to GA, Max–Min, Round Robin, and SJF algorithms.

Fig. 7
figure 7

Comparison of resource utilization

7 Conclusions

In this paper, the Deadline Budget Scheduling model is proposed as capable of scheduling tasks in the heterogeneous cloud environment with two QoS requirements: time and cost while meeting user satisfaction. The most significant factors of the proposed DBS model are to minimize the makespan under user-defined deadline and reduce monetary costs while not surpassing the user-defined budget. The simulation experiments prove that the proposed DBS model obtained better performance in minimizing the makespan and cost when compared to state-of-art-algorithms in several different configurations, such as low resources or high resources ability, different number of tasks and VMs. For meeting user constraints, the number of violation is minimized in the proposed DBS model while increasing revenue of provider and resources utilization. So the DBS model is considered better compared to the state-of-art algorithms: GA, Max–Min, Round Robin, and SJF.