Market-Oriented Online Bi-Objective Service Scheduling for Pleasingly Parallel Jobs with Variable Resources in Cloud Environments
MMarket-Oriented Online Bi-Objective Service Schedulingfor Pleasingly Parallel Jobs with Variable Resources inCloud Environments
Bingbing Zheng, Li Pan ∗ , Shijun Liu ∗ School of Software, Shandong University, Jinan, China
Abstract
In this paper, we study the market-oriented online bi-objective service scheduling prob-lem for pleasingly parallel jobs with variable resources in cloud environments, fromthe perspective of SaaS (Software-as-as-Service) providers who provide job-executionservices. The main process of scheduling SaaS services in clouds is: a SaaS providerpurchases cloud instances from IaaS providers to schedule end users’ jobs and chargesusers accordingly. This problem has several particular features, such as the job-orientedend users, the pleasingly parallel jobs with soft deadline constraints, the online settings,and the variable numbers of resources. For maximizing both the revenue and the usersatisfaction rate, we design an online algorithm for SaaS providers to optimally pur-chase IaaS instances and schedule pleasingly parallel jobs. The proposed algorithmcan achieve competitive objectives in polynomial run-time. The theoretical analysisand simulations based on real-world Google job traces as well as synthetic datasetsvalidate the effectiveness and efficiency of our algorithm.
Keywords:
Service scheduling, cloud computing, online algorithm, multi-objectiveoptimization, pleasingly parallel jobs. ∗ Corresponding author
Email addresses: [email protected] (Li Pan), [email protected] (Shijun Liu)© 2021. This manuscript version is made available under the CC-BY-NC-ND 4.0 licensehttp://creativecommons.org/licenses/by-nc-nd/4.0/
Preprint submitted to Journal of Systems and Software February 18, 2021 a r X i v : . [ c s . D C ] F e b . Introduction The application scope of cloud computing is getting wider and wider. In clouds,resources are rent out to users in the form of services with a pay-per-use way, in-cluding Infrastructure-as-a-Service (IaaS) and Software-as-a-Service (SaaS), etc. [1].IaaS providers, such as Amazon EC2 [2] and Microsoft Azure [3], offer virtual ma-chines (VMs) with different configurations (including vCPU, memory, storage, etc.)and prices as multiple types of instances (e.g., c5.large and t3.small ). MostIaaS platforms support pay-as-you-go on-demand instances, i.e., one needs to pay perinstance per unit time it has used. SaaS providers sell professional services to users,such as job-execution, web hosting, email access, and so on. In practice, to reduce thecost of establishing data centers and improve the flexibility of providing services, manySaaS providers tend to elastically purchase on-demand instances from IaaS providersand deploy their services on them. Considering that the purchase of instances fromIaaS providers should be dynamic according to real-time demands, the resources ofSaaS providers are variable . By trading SaaS services, on the one hand users onlyneed to care about the service results without considering building data centers andconfiguring softwares, while on the other hand SaaS providers get revenue from usersand pay for IaaS resources. This is featured as a market-oriented environment.In this paper, we consider SaaS providers who provide job-execution services andfocus on pleasingly parallel jobs (also called embarrassingly parallel jobs), which canbe set flexible degrees of parallelism (DoPs) and divided into any number of tasks torun on different instances in parallel, without any overhead [4]. In clouds, a largepercentage of jobs are pleasingly parallel jobs. Typical examples are image processingsuch as 3D rendering, scientific computing such as BLAST searches, Monte Carlosimulations, parametric studies, massive searches such as key breaking. Besides, thereare some kinds of data processing and analytics jobs which are pleasingly parallel.For example, map-only jobs such as the Smith Waterman algorithm fit into this type ofjobs (while classic map-reduce jobs do not fit because they require synchronization andcommunications among tasks). The main process of service scheduling is shown in Fig.1. Users arrive over time and submit their pleasingly parallel jobs. A SaaS provider2 ifferent Instances Jobs
Users arrive dynamically and submit jobsA SaaS Provider An IaaS Cloud t
On-demand Instances purchase instancesschedulesell services
Instance: c5.xlarge vCPU: 2Memory: 8GPrice: $0.17/h
Instance: t3.small vCPU: 2Memory: 2GPrice: $0.0208/hType 1 Type 2
Type m Figure 1: The main process for SaaS providers to provide services: a SaaS provider dynamically purchasesIaaS instances to execute users’ jobs and charges them accordingly. purchases instances from an IaaS provider, schedules the submitted jobs selectivelyon purchased instances, returns the job-execution results to users, and charges themaccordingly. In this process, SaaS providers should make decisions on the instancepurchasing and job scheduling schemes.In the above scenario, users arrive dynamically and SaaS providers need to makereal-time decisions, while the information about the future is generally unknown andhard to be precisely predicted. Meanwhile, current decisions could have good or badimplications for the future. Therefore, an important issue to care about is that theinstance purchasing and job scheduling decisions need to be made in an online modewithout future information. This is practical in cloud environments but brings more dif-ficulties. Besides, users in clouds are generally featured as job-oriented , which meansthey only pay attention to the job execution results and ignore the concrete executionprocess. Considering the features of pleasingly parallel jobs and job-oriented users,when scheduling jobs, besides the order of executing jobs, proper DoP and instancesshould also be selected. Different choices result in flexible execution time and comple-tion time, corresponding to the soft deadline constraints of jobs.All along, scheduling problems in various environments are always widely stud-3ed. Traditional environments such as machines [5], supercomputers [6] and clusters[7] do not consider the cost of resources. Their main goal of scheduling is optimizingparticular system objectives, including minimizing average makespan and maximizingthroughput, etc. Conversely, market-oriented cloud environments [8] often use com-mercial models with monetary cost and consider diverse quality of service levels. Thus,market-related objectives (e.g., revenue and cost) become major considerations. ForSaaS providers, revenue (i.e., the income earned from users minus the cost paid to IaaSproviders) is often the most significant concern. Meanwhile, to guarantee long-termprofits, user satisfaction rate (i.e., the rate of the users whose jobs are completed bydeadlines) is also an important goal, since rejecting too many users will result in theirdeparture. Therefore, we deal with bi-objective scheduling problems and take both twoobjectives mentioned above into consideration.Focusing on the market-oriented online bi-objective service scheduling for pleas-ingly parallel jobs with variable resources in cloud environments, we design an on-line algorithm for SaaS providers to help them make better decisions. In more detail,our contributions are summarized as follows: (1) We formally define and describe themarket-oriented online bi-objective service scheduling problem focusing on pleasinglyparallel jobs with various resources, and prove it as being NP-hard (cf. Theorem 1).(2) We then propose an online algorithm to efficiently decide the instance purchasingand job scheduling, which makes a trade-off between two objectives: maximizing SaaSproviders’ revenue and maximizing user satisfaction rate. (3) We utilize strict theoreti-cal analysis to prove that the proposed online algorithm achieves competitive objectivesin polynomial run-time. Meanwhile, we construct extensive simulations based on syn-thetic and real-world Google job data to verify its effectiveness and efficiency.The rest of the paper is organized as follows. Section 2 introduces the related work.Section 3 gives fundamental notations and formulates the market-oriented online bi-objective service scheduling problem for pleasingly parallel jobs with various resourcesin clouds as an integer programming. Section 4 designs an online algorithm with stricttheoretical analysis. Section 5 constructs extensive evaluations. Section 6 concludesthis paper and proposes future research direction.4 . Related Work
Recently, there have been studies on traditional scheduling problems that focus onsystem objectives. Azar et al. [5] utilize the correlated rounding technique to designa scheduling algorithm for restricted-related machines, with the aim of minimizing themakespan. Cao et al. [6] present a node location-aware job scheduling algorithm toimprove the total throughput for the HPC system. Stec et al. [9] solve the stochasticprocessing time scheduling problem on parallel identical machines to maximize theprobability that all the jobs will be completed before a specified deadline. In [10], Qiet al. investigate the problem of scheduling jobs on two identical machines and designa semi-online hierarchical algorithm for minimizing the load of machines.In market-oriented environments such as clouds, service providers are more con-cerned about cost or profit. Li et al. [11] focus on the utility value maximizationproblem for parallel and time-sensitive applications. They design a spatial-temporalinterference based scheduling algorithm which is 2-approximate. Sahni et al. [12]focus on the workflow scheduling problem with deadline constraints in clouds. Theydesign a cost-effective heuristic algorithm from the perspective of an application tominimize cost. Alkhanak et al. [13] design a completion time driven hyper-heuristicalgorithm to help service providers schedule scientific jobs in clouds. Their objectiveis to optimize the cost of executing jobs. Unfortunately, all the above algorithms areunder offline settings and cannot make decisions without future information.To address the online mode in cloud environments, some researchers have focusedon designing online algorithms. Zhang et al. [14] present a scheduling algorithmfrom the perspective of cloud brokers that gather resource requests from customers toutilize the volume discount. The algorithm is stack centric, randomized, and online.Ghose et al. [15] focus on the scientific workflow scheduling problem in cloud systemsand design six different scheduling approaches. Their main goal is energy efficiency.Dambreville et al. [16] address the online scheduling of cloud servers to minimizeenergy consumption. In [17], Bao et al. propose an online strategy for scheduling jobsin distributed machine learning clusters. Their objective is to maximize the total utilityof executing jobs, which depends on respective completion time of users. All the above5tudies take the assumption that resources are fixed as a prerequisite. In fact, adjustingthe resources dynamically according to real-time demands is more efficient.Rare studies design algorithms from the perspective of SaaS providers and takeboth the scheduling and resource acquiring into consideration at the same time, whilesimultaneous consideration increases the difficulty significantly. Wu et al. [18] design apolicy to decide how to purchase on-demand and spot instances for the jobs. The aim isto minimize the cost of purchasing instances. In another work [19], Zhu et al. considerthe workflow scheduling in a hybrid-cloud. The resources are scalable rather than fixedin quantity. They design an iterated heuristic algorithm to reduce the cost of rentingVMs. But these two studies only consider offline settings. Cao et al. [20] proposean online algorithm which schedules service requests in hybrid clouds to minimize thecost of renting resources from public clouds. However, all the above researches havesingle objectives. Instead, we consider more complex objectives including revenueand user satisfaction rate, which conforms better to the practice with the long-termdevelopment considerations.There are also many studies that consider multiple objectives when scheduling jobs.Huang et al. [21] address the task assignment problem in clouds and develop a new al-gorithm for multi-objective scheduling on the basis of particle swarm optimization,with aims of minimizing power consumption and makespan. Kaur et al. [22] pro-pose a novel multi-objective job scheduling strategy in cloud and grid environments.In their paper, they make a trade-off among flowtime, makespan, and resource cost.In [23], Peng et al. solve the task scheduling problem in mobile cloud environments.They design a scheduling algorithm on the basis of dynamic voltage scaling techniqueand whale optimization strategy to jointly optimize completion time and energy con-sumption. These three algorithms are offline algorithms which are unsuitable for on-line settings. Hu et al. [24] propose an online task scheduling strategy to optimizeboth completion time and costs in geographically distributed data centers. Gasior etal. [25] present a framework of studying multi-objective online scheduling problem inIaaS cloud computing systems. Their objectives include minimizing the SLA violationcounts and maximizing the total provider’s income. Nevertheless, these two onlinemulti-objective algorithms do not consider the dynamic purchasing of resources.6articularly, focusing on pleasingly parallel jobs, there are many studies that havebeen proposed. Gunarathne et al. [26] present two pleasingly parallel biomedical ap-plications and use them to analyze the performance of different cloud models. [11]mentioned above focuses on parallel and time-sensitive applications, which are in linewith pleasingly parallel jobs. Zhang et al. [27] focus on scheduling the multitaskingworkloads for big-data analytics. They introduce the ordinal optimization using roughmodels and the fast simulation to get the suboptimal solutions at a very fast speed.Stavrinides et al. [28] concentrate on the big data analytics SaaS and study data-awarescheduling policies. Chen et al. [29] address the scheduling problem of big data an-alytics jobs. Their goal is to minimize the total job completion time while achievingmax-min fairness. These algorithms are all offline algorithms. Shi et al. [30] solvethe problem of scheduling pleasingly parallel jobs and design an online algorithm tominimize job completion time. Zhou et al. [31] focus on parallel computing jobs withsoft deadline constraints and utilize the technique of primal-dual to design an onlinealgorithm. The two algorithms mentioned above are online algorithms which do notconsider variable resources. In [18], Wu et al. design a policy to allocate self-owned,on-demand, and spot instances to the arriving pleasingly parallel jobs, using CAP3 inbioinformatics as an example. Their goal is cost optimization. The resources in thiswork are variable but the policy is offline. In summary, none of the above schedul-ing algorithms considers the pleasingly parallel jobs, the online settings, the variableresources, and the complex objectives at the same time.After summarizing the existing work, the main contribution of this paper lies inthat we design an online service scheduling algorithm for pleasingly parallel jobs withvarious resources in market-oriented cloud environments. In this algorithm, we takeboth the SaaS providers’ revenue and user satisfaction rate into consideration and helpSaaS providers efficiently solve their scheduling problems.
3. System Model
In this section, we first introduce the fundamental notations used in this paper andthen use these notations to formulate the market-oriented online bi-objective service7cheduling problem for pleasingly parallel jobs.
The SaaS providers periodically sum up the income and cost, and a period is calledan accounting period. The time axis of an accounting period consists of T discretetime slots, represented as T = { , , . . . , T } . User arrivals, instance purchasing, andjob scheduling are based on time slots. In this paper, we only consider on-demand IaaSinstances whose usage duration is τ slots. We assume that SaaS providers purchase m types of on-demand instances from a public IaaS cloud, written as M = { , , . . . , m } .These different types of heterogeneous instances have different physical configurations(including CPU and memory etc.) and correspond to different purchase prices. price j represents the price of type- j instances, which is the money a SaaS provider needs topay if it purchases an instance j unit. An instance j unit corresponding to a type- j instance running for one time slot. r j ( t ) denotes the number of type- j instances newlypurchased at time slot t . Considering the huge capacity of public IaaS clouds, in theory r j ( t ) can be infinite. We use c j ( t ) to denote the number of type- j instances that areavailable at time slot t .We use n to denote the total number of users who arrive in the whole accountingperiod, written as U = { , , . . . , n } . User i arrives at time slot a i and submits apleasingly parallel job to the SaaS provider. For simplicity and without ambiguity,we also use i to denote the job of user i . Only when a job arrives at the system, itsinformation can be known by SaaS providers. Each job i can be described by a tuple( a i , d i , { D i,j } j ∈M , k i , v i ). a i is the arrival time and d i is the deadline. Job i can becompleted at any time slot between a i and d i . We use D i,j to represent the demandof job i for type- j instances. It means to complete job i , total D i,j instance j units arerequired. The demands of job i for different types of instances are related to instances’performances. A job can be executed on multiple types and numbers of instances, aslong as the total demand is satisfied. Estimating a job’s demand which can also beunderstood as the runtime is a classic problem which attracts extensive studies (e.g.,[32, 33]), falling beyond the scope of our study. Threshold k i is used to limit job i ’s degrees of parallelism (DoPs), which means job i can be divided into at most k i v i represents the value function of user i , which is related to the execution time of job i .This value function also denotes user i ’s willingness to pay. Generally, v i will decreaseas the execution time increases. In this paper, we use i ’s value function to indicatethe valuation that SaaS providers can obtain from executing job i . As a result, SaaSproviders charge a corresponding amount of money as payment. The value functionscan be arbitrary shapes as long as they are nonincreasing functions. For instance, thevalue function can be a linear decreasing function or have two stages (e.g., a constantuntil the deadline and a linear decreasing function after the deadline). Besides, sincewe do not consider the penalties of SaaS providers, the value function should be no lessthan 0.We use e to represent the execution time which is the number of time slots thatSaaS providers spend to execute a job. Considering the feature of jobs and users,with different scheduling schemes, the execution time is different. For job i , consid-ering its arrival time a i and deadline d i , we have its execution time e ∈ E i , where E i = { , , . . . , d i − a i } . Then the corresponding completion time is a i + e , and thecorresponding valuation is v i ( e ) . To express discrete time axis and make it convenientto correspond, we use v ei to represent the valuation of user i if its execution time is e .We use binary variable x ei for indicating whether job i ’s execution time is e . Job i mayhave multiple possible values of execution time e ∈ E i . Thus, the execution time e which makes x ei = 1 is its actual execution time. If a job’s execution time is e , we alsosay that job i with execution time e is accepted. Then the values of x ei is: x ei = if job i ’s execution time is e otherwiseThe payment of user i that the SaaS provider should charge is p i = (cid:80) e ∈E i v ei x ei , whichequals the actual valuation of job i . In this paper, we assume that SaaS providers canreject service requests without any penalties. For reference, Table 1 summarizes thefundamental notations that are used in this paper.To provide services, SaaS providers need to make the following decisions:(1) The number of type- j instances that should be newly purchased from an IaaS cloud9t each time slot t , r j ( t ) .(2) Whether to accept user i ’s job with execution time e , x ei .(3) The number of type- j instances allocated to user i at time slot t with execution time e , y ei,j ( t ) .Considering the features of pleasingly parallel jobs, job i can be scheduled withdifferent DoPs on multiple types and numbers of instances, which results in diverseexecution time and ulteriorly leads to different valuations to user i . For better under-standing, we give a brief example. Job i arrives at time slot a i = 1 with deadline d i = 5 . Then the set of possible execution time is E i = 1 , , , . It has D i, = 4 , D i, = 2 and k i = 5 . There are several possible scheduling schemes.(1) Job i can be executed on 4 type- instances for 1 time slot (i.e., DoP is 4). Then e = 1 and completion time is 2. y i, ( t ) = 4 , t = 2 . The corresponding valuation is v i = 100 .(2) Job i can be executed on 1 type- instance for 4 time slots (i.e., DoP is 4). Then e = 4 and completion time is 5. y i, ( t ) = 1 , ∀ t ∈ [2 , . The corresponding valuationis v i = 30 .(3) Job i can be executed on 1 type- instance for 1 time slot and 1 type- instances for2 time slots (i.e., DoP is 3). Then e = 2 and completion time is 3. y i, ( t ) = 1 , t = 2 and y i, ( t ) = 1 , ∀ t ∈ [2 , . The corresponding valuation is v i = 80 .Or, e = 3 and completion time is 4. y i, ( t ) = 1 , t = 2 and y i, ( t ) = 1 , ∀ t ∈ [3 , . Thecorresponding valuation is v i = 50 . Assuming that all the required information is known in advance, we use the fun-damental notations mentioned above to formulate the market-oriented online servicescheduling problem with various resources in cloud environments.To build long-term attraction, when solving the scheduling problem, SaaS providersneed to consider two objectives:(1) Maximizing SaaS providers’ revenue (
REV ): The revenue of a SaaS provider isthe total payment charged to users (i.e, the total valuation of job completions) minusthe total cost of purchasing instances. SaaS providers pursue the greatest revenue as10 able 1: Summary of Fundamental Notations T number of time slots T set of time slots n number of users U set of users a i arrival time of user i d i deadline of user ip i payment of user i M set of instance types m number of instance types τ usage duration of instances r j ( t ) number of newly purchased type- j instances at time slot tprice j price of purchasing one unit type- j instance for one time slot E i set of possible execution time of job iD i,j demand of job i for type- j instances k i threshold of job i ’s degrees of parallelism (DoPs) v ei valuation of job i with execution time ex ei whether job i ’s execution time is e (if yes x ei = 1 , otherwise x ei = 0 ) y ei,j ( t ) number of type- j instances allocated to job i with execution time e at time slot tc j ( t ) number of available type- j instances at time slot tφ ei cost of user i with execution time e ˆ φ ei estimated offline cost of user i with execution time e REV = (cid:88) i ∈U (cid:88) e ∈E i v ei x ei − (cid:88) j ∈M (cid:88) t ∈T price j r j ( t ) (1)(2) Maximizing user satisfaction rate ( SAT ): If a user’s job is completed before itsdeadline, then this user’s service request is satisfied, which also means this user issatisfied. We define the user satisfaction rate of the system as the rate of satisfied users.Thus, to maximize the user satisfaction rate, we need to maximize the rate of the userswhose jobs are completed by deadlines. According to the definition,
SAT ∈ [0 , .Guaranteeing a high user satisfaction rate can prevent users from leaving, which isbeneficial to long-term profit.max SAT = (cid:80) i ∈U (cid:80) e ∈E i x ei n (2)Optimizing the above two objectives simultaneously belongs to the multi-objectiveoptimization problem. One classic method to address this problem is to transform sev-eral objectives into one aggregated objective. To do this, one can use the weighted summethod [34, 35], which calculates the linear combination of several different objec-tives. In this paper, to take both the revenue REV and user satisfaction rate
SAT intoconsideration, we use the idea of the weighted sum method and linearly combine thesetwo objectives by a factor θ to get an aggregated objective OBJ . The factor θ indicatesthe relative importance of objectives REV and
SAT . It can be set by SaaS providers.Considering that the ranges of
REV and
SAT are very different, we normalize thesetwo objectives by min-max normalization [36]. In this way, these two objectives canbe scaled to fall within a specified range (i.e., [0 , ) and thus generate comparableinfluence to the final aggregated objective OBJ .max
OBJ = θ · REVREV ∗ + (1 − θ ) · SAT (3)Here
REV ∗ is the optimal revenue the system can obtain in an accounting period.Then we can formulate the market-oriented online service scheduling problem forpleasingly parallel jobs with various resources in cloud environments to an integer12rogramming (IP):max θ · REVREV ∗ + (1 − θ ) · SAT (4)s.t. m (cid:88) j =1 a i + e (cid:88) t = a i +1 y ei,j ( t ) 1 D i,j ≥ x ei ∀ i ∈ U , e ∈ E i (5) d i − a i (cid:88) e =1 x ei ≤ ∀ i ∈ U (6) m (cid:88) j =1 a i + e (cid:88) t = a i +1 y ei,j ( t ) ≤ k i ∀ i ∈ U , e ∈ E i (7) c j ( t ) = t (cid:88) t (cid:48) = t − τ +1 r j ( t (cid:48) ) ∀ t ∈ T , j ∈ M (8) n (cid:88) i =1 d i − a i (cid:88) e =1 y ei,j ( t ) ≤ c j ( t ) ∀ j ∈ M , t ∈ T (9) x ei ∈ { , } ∀ i ∈ U , e ∈ E i (10) y ei,j ( t ) ∈ N ∀ i ∈ U , e ∈ E i , j ∈ M , t ∈ T (11) r j ( t ) ∈ N ∀ j ∈ M , t ∈ T (12)Constraint (5) implies that the number of instances distributed to a job should beenough to complete the job. In other words, partial completion is meaningless. Con-straint (6) means one job can be completed at most once. In practice, practical thresh-olds should exist to limit DoPs, resulting in constraint (7). Constraints (8) and (9) areresource capacity constraints. Constraints (11) and (12) are the integer constraints, re-quiring the number of instances allocated to jobs and purchased from IaaS clouds ateach time slot to be an integer. Theorem 1.
The market-oriented bi-objective online service scheduling problem forpleasingly parallel jobs with various resources in cloud environments (formulated toIP (4)) is NP-hard.Proof.
To prove Theorem 1, we reduce our scheduling problem to the 0-1 knapsackproblem. This problem is a typical optimization problem which has been proven to beNP-hard [37]. In the reduction, the jobs are considered as items, and the resources areconsidered as knapsacks. Focusing on the bi-objective service scheduling problem (4),13e do the modifications as follows. (1) The objective is SaaS providers’ revenue maxi-mization, which means equation (4) is modified to max
REV = (cid:80) i ∈U (cid:80) e ∈E i v ei x ei − (cid:80) j ∈M (cid:80) t ∈T price j r j ( t ) . (2) Only one time slot is considered ( |T | = 1 ), whichmeans symbol t is omitted. Correspondingly, all jobs come and complete at the sametime ( |E i | = 1 ), which means symbol e is omitted. (3) Only one type of instances isused ( |M| = 1 ), which means symbol j is omitted. In combining with (2), there isonly one scheduling scheme ( y i = D i ) which will not violate the DoP threshold. Thusconstraints (5) and (7) are removed. (4) Dynamic instance purchasing is not consid-ered and the resource capacity of the SaaS provider is fixed, which means symbol r isomitted and thus constraints (8) and (12) are removed. Then our scheduling problemcan be reduced as: max (cid:88) i ∈U v i x i s.t. (cid:88) i ∈U D i ≤ cx i ∈ { , } ∀ i ∈ U From this reduction, the market-oriented online service scheduling problem in this pa-per can be regarded as a complicated expansion of 0-1 knapsack problem. Conse-quently, our problem is also NP-hard.Offline optimal solutions can be obtained by solving IP (4). However, according toTheorem 1, finding exact solutions is NP-hard. Moreover, online settings should alsobe considered. When making decisions, SaaS providers should only use the informa-tion already known. Considering these challenges, we propose an online algorithm tomake approximate decisions.
4. An Online Service Scheduling Algorithm
In this section, we propose an online algorithm and prove its effectiveness throughtheoretical analysis. The main steps of the online algorithm are shown in Algorithm 1.14 lgorithm 1
An Online Service Scheduling Algorithm When user i arrives at the system for all e ∈ E i do Calculate the instance purchasing scheme r j ( t ) and job scheduling scheme y ei,j ( t ) by the job scheduling strategy. Calculate the cost ˆ φ ei of completing job i with execution time e by the costcalculating strategy. end for Let e ∗ = arg max e { θ · v ei − ˆ φ ei REV ∗ + (1 − θ ) · n } be job i ’s optimal execution time. if gain increment θ · v e ∗ i − ˆ φ e ∗ i REV ∗ + (1 − θ ) · n ≥ then Accept job i with execution time e ∗ . x e ∗ i = 1 . p i = v e ∗ i . Use the job scheduling strategy to re-compute r j ( t ) and y ei,j ( t ) , according toall the actually accepted jobs. else Reject user i . end if .1. The Job Scheduling Strategy When user i arrives at the system and submits its service request, the SaaS providerneeds to make decisions immediately. In this process, we temporarily assume thatall the arrived jobs until now have been accepted. The respective actual executiontime is e ∗ . First, we propose a job scheduling strategy which is straightforward andefficient to decide the instance purchasing and job scheduling schemes for job i (line 3in Algorithm 1).In the following description, we take type- j instances as an example. For job i ’seach possible execution time e ∈ E i , we averagely allocate the total demand D i,j to thewhole execution interval [ a i +1 , a i + e ] , i.e, y ei,j ( t ) = D i,j e , ∀ t ∈ [ a i +1 , a i + e ] . That is,the number of type- j instances needed by job i is the same in every time slot of interval [ a i + 1 , a i + e ] . For each time slot t in [ a i + 1 , a i + e ] , if the instances which are alreadypurchased in previous time slots are enough to complete corresponding demands, thenwe allocate these instances to job i . Otherwise, we purchase new instances until theinstances are sufficient and set r j ( t ) to the corresponding value. When new instancesare needed, we choose to purchase the instance type which has the maximum perfor-mance/price ratio. In this process, we need to note the DoP threshold. If an instancetype cannot guarantee the threshold, then this type of instances will not be consideredfor executing this job. As a straightforward method, this job scheduling strategy canefficiently and fast produce feasible schemes.Now we give a simple example to help understand the job scheduling strategy. Job i ’s arrival time a i = 1 , deadline d i = 4 and demand D i,j = 6 . Its possible executiontime is e = 1 , , . For execution time e = 1 , y i,j ( t ) = 6 , t = 2 . For execution time e = 2 , y i,j ( t ) = 3 , ∀ t ∈ [2 , . For execution time e = 3 , y i,j ( t ) = 2 , ∀ t ∈ [2 , , . Then, for the obtained job scheduling and instance purchasing schemes, we proposethe following cost calculating strategy to calculate the cost of executing job i withexecution time e (line 4 in Algorithm 1). We use i e to represent that job i is executedwith execution time e . 16ince an instance may be shared by multiple jobs, the cost of purchasing this in-stance should also be distributed among these jobs. Then we use the idea of propor-tional sharing [38] to distribute the total cost among all the accepted users. Proportionalsharing is a simple but effective cost distribution approach which distributes the costof a jointly used common resource among its users. This method is also called averagecost pricing in [39, 40, 41]. The main idea of this method is: dividing the total cost inproportion to individual revenue/demand. That is, a user’s sharing cost is the total costtimes the proportion of its revenue/demand to the total revenue/demand.Theoretically, users’ value functions can represent their revenues. However, valuefunctions are personally defined which cannot adequately reflect the cost to completejobs. Some users may have large valuations for small demands or vice versa. Hence, todistribute the cost fairly, we use the demands to calculate the sharing costs. However,the other problem is that the cost produced by executing a job is related to not onlydemand but also execution time. Thus, when considering the cost distribution of job i e , we need to synthesize the demand and execution time. To combine demand andexecution time, we use the weighted sum method and min-max normalization againmentioned above. The aggregated result is defined as the weight of i e which is used tocalculate the sharing cost in equation (13). The weight of job i with execution time e is: w ei = α D i,j − D min D max − D min + (1 − α ) ( E − e ) − E − where D min = min i D i,j , D max = max i D i,j , while E is the maximum number ofpossible execution time. Coefficient α can indicate the importance of demands andexecution time. It is chosen from [0 , and can be set by SaaS providers based on theirrequirements.Then, i e ’s sharing cost is the total cost times the proportion of i e ’s weight to thetotal weight of all accepted users. The weight w ei here can be seen as the contributionof executing i e to the total cost. Then the sharing cost of i e is: φ ei = f i e ( U ) w ei (cid:80) j (cid:54) = i w e ∗ j + w ei (13) f represents the cost function and f ( U ) represents the total cost of executing all the17sers in U with their optimal execution time e ∗ . If we appoint that job i ’s executiontime is e , the total cost is represented as f i e ( U ) .Nevertheless, only if the total cost is known, the cost of each job can be calculatedaccurately. In the practical online markets, it is impossible to calculate each user’saccurate sharing cost real-timely. Thus we consider estimating the cost for a user inthe whole accounting period. The main process is as follows. When the instancepurchasing and job scheduling schemes are determined, at first we calculate currentcost φ ei for job i with execution time e . The total cost used in this calculation is thecurrent total cost, supposing all the arrived jobs are accepted. Then, based on φ ei , weapportion job i ’s cost to the jobs who arrive later than i , and apportion the cost producedby the jobs who arrive later than i to job i . That is, the estimated cost ˆ φ ei of job i withexecution time e in the whole accounting period is: ˆ φ ei = φ ei f ( U ) a i f i e ( U i ) T Here, U i is the set of users who arrive before i . f ( U ) can be obtained using historicaldata. In this estimation, we suppose that the probability of job arrivals and demands inevery time slot is the same. By using such an estimation approach, we can conclude: E [ (cid:80) i ∈U ˆ φ e ∗ i ] = f ( U ) . Next, we use the following acceptance strategy to decide the acceptance or rejectionof user i (lines 6-14 in Algorithm 1). We choose the execution time which maximizesthe gain increment (equation 14) as the optimal execution time e ∗ of job i . Only if thegain increment of e ∗ is high enough, job i will be accepted and the execution time is e ∗ . If e ∗ is accepted, the payment user i should pay is its valuation corresponding toexecution time e ∗ . Finally, we run the job scheduling strategy once again for acceptedjob i with its execution time e ∗ to calculate actual schemes, according to all the jobswhich are actually executed.The gain increment to the aggregated objective OBJ of job i with execution time e is: θ · v ei − ˆ φ ei REV ∗ + (1 − θ ) · n (14)18oth REV ∗ and n can be obtained according to the historical data of the previousaccounting period.This gain increment considers both SaaS providers’ revenue and user satisfactionrate at the same time. According to v ei − ˆ φ ei , only the users whose valuations arelarge enough can get served. By adding n , the online algorithm accepts more userswhose valuations are small, which will decrease SaaS providers’ revenue but increaseuser satisfaction rate. θ ∈ [0 , reflects the importance of providers’ revenue and usersatisfaction rate. It can be set by SaaS providers according to their requirements. If θ = 1 , the goal of the algorithm is revenue maximization. With less θ , the algorithmconsiders more about user satisfaction rate. The online algorithm should achieve good performance and near-optimal objec-tives.
Competitive ratio is used to measure the performance of an online algorithm. Ifwhatever the input is, the ratio of the offline optimal objective to the objective achievedby the online algorithm is smaller than or equal to a specific value (cid:15) , then the onlinealgorithm can be seen as achieving competitive ratio (cid:15) . This section proves that ouronline algorithm achieves competitive revenue and aggregated objective.
Theorem 2.
The proposed online algorithm can achieve an expected competitive ratioof δρ − in the SaaS providers’ revenue REV . δ and ρ are related to users’ valuations.Proof. We use subscripts opt and online to represent the optimal solution and the solu-tion obtained by our online algorithm respectively. For instance,
REV opt and
REV online represent the
REV obtained by the optimal algorithm and our online algorithm respec-tively.First, we suppose a fictional situation to give an upper bound of both
REV and
SAT : all the jobs are completed at the first time slot after their arrivals with instancepurchase cost 0. Apparently, in our problem there is no situation that can produce largerrevenue and user satisfaction rate than this fictional situation, including the optimalsolution. Thus we have:
REV opt ≤ REV ∗ ≤ (cid:88) i ∈U v max i (15)19 AT opt ≤ (16) v max i represents user i ’s maximum valuation. Considering that value functions arenonincreasing, a user’s maximum valuation is generally its valuation for the first timeslot.Considering the fictional situation, the upper bound of the REV opt is (equation ): REV opt ≤ (cid:88) i ∈U v max i Then, we consider the situation using our online algorithm. Let W and L denotethe set of accepted and rejected users respectively. The total numbers of users of thesetwo sets are n and n respectively. f ( W ) is the actual total cost according to ouralgorithm. Apparently, this actual cost will be no larger than the total cost of servingall users in U , that is, f ( W ) ≤ f ( U ) . The expectative revenue obtained by our onlinealgorithm is the total valuation of completed jobs minus the actual cost, i.e.: E [ REV online ] = E [ (cid:88) i ∈W v e ∗ i − f ( W )] (17) ≥ E [ (cid:88) i ∈U v e ∗ i − (cid:88) i ∈L v e ∗ i − (cid:88) i ∈U ˆ φ e ∗ i ] (18) ≥ E [ (cid:88) i ∈U v e ∗ i − (cid:88) i ∈L ( ˆ φ e ∗ i − REV ∗ − θθ n ) − (cid:88) i ∈U ˆ φ e ∗ i ] (19) ≥ E [ (cid:88) i ∈U v e ∗ i − (cid:88) i ∈U ˆ φ e ∗ i + REV ∗ − θθ n n ] (20) ≥ E [ (cid:88) i ∈U v min i − (cid:88) i ∈U ˆ φ e ∗ i ] (21)The set of all users U can be divided into the set of accepted users W and the set ofrejected users L . Besides, f ( W ) ≤ f ( U ) and E [ (cid:80) i ∈U ˆ φ e ∗ i ] = f ( U ) . Thus we canget equation (18) from equation (17). According to the acceptance strategy in Section4.3, the users who are rejected have: θ · v e ∗ i − ˆ φ e ∗ i REV ∗ + (1 − θ ) · n < . Thus we can getequation (19) from equation (18). Since the cost of rejected users must no larger thanthe total cost of serving all users, we can get equation (20) from equation (19). Let v min i represent user i ’s minimum valuation. Then equation (21) can be deduced.20ext, we use parameters ρ and δ to represent the bound of users’ valuations. Byusing these two parameters, we can calculate the competitive ratio more simply andbeautifully. Considering some other costs such as software and manage fees, SaaSproviders are willing to provide services only if users’ valuations are larger than thecost of purchasing instances. Hence, for most of users, their minimum valuations areno smaller than respective costs, which means the sum of all users’ minimum valuationsis larger than or equal to ρ times the total instance cost: (cid:88) i ∈U v min i ≥ ρ (cid:88) i ∈U ˆ φ e ∗ i (22)Meanwhile, the maximum valuations that users are willing to pay are finite, whichmeans the sum of all users’ maximum valuations is smaller than or equal to δ times thetotal instance cost: (cid:88) i ∈U v max i ≤ δ (cid:88) i ∈U ˆ φ e ∗ i (23) ρ and δ can be obtained by historical data.Finally, we calculate the competitive ratio of the revenue REV as follows: E [ REV opt
REV online ] ≤ E [ (cid:80) i ∈U v max i (cid:80) i ∈U v min i − (cid:80) i ∈U ˆ φ e ∗ i ] (24) ≤ E [ δ (cid:80) i ∈U ˆ φ e ∗ i ρ (cid:80) i ∈U ˆ φ e ∗ i − (cid:80) i ∈U ˆ φ e ∗ i ] (25) = δρ − (26)Considering equations (22) and (23), equation (25) can be deduced.In conclusion, Theorem 2 can be proved. Theorem 3.
The proposed online algorithm can achieve an expected competitive ratioof δθ ( ρ − in the aggregated objective OBJ . δ and ρ are related to users’ valuations. θ ∈ [0 , .Proof. Considering the same fictional situation mentioned above, according to equa-tions (15) and (16), we can calculate the optimal solution
OBJ opt as follows:
OBJ opt = θ · REV opt
REV ∗ + (1 − θ ) · SAT opt θ · (cid:80) i ∈U v max i REV ∗ + (1 − θ ) · ≤ (cid:80) i ∈U v max i REV ∗ (27)Since REV opt ≤ REV ∗ , REV opt
REV ∗ ≥ . Thus equation (27) can be deduced.For the OBJ online , E [ REV online ] = E [ (cid:80) i ∈W v e ∗ i − f ( W )] (equation (17)) and SAT online = n n . Then the expectative aggregated objective OBJ online of our algo-rithm is: E [ OBJ online ] = E [ θ · (cid:80) i ∈W v e ∗ i − f ( W ) REV ∗ + (1 − θ ) · n n ] ≥ E [ θ · (cid:80) i ∈U v e ∗ i − (cid:80) i ∈L v e ∗ i − (cid:80) i ∈U ˆ φ e ∗ i REV ∗ + (1 − θ ) · n n ] ≥ E [ θ · (cid:80) i ∈U v e ∗ i − (cid:80) i ∈L ( ˆ φ e ∗ i − REV ∗ − θθ n ) − (cid:80) i ∈U ˆ φ e ∗ i REV ∗ + (1 − θ ) · n n ] ≥ E [ θ · (cid:80) i ∈U v e ∗ i − (cid:80) i ∈U ˆ φ e ∗ i REV ∗ + (1 − θ )] ≥ E [ θ · (cid:80) i ∈U v min i − (cid:80) i ∈U ˆ φ e ∗ i REV ∗ ] The main process is similar to the proof of
REV online , i.e., equations (17)-(21).Then the competitive ratio of the aggregated objective
OBJ is: E [ OBJ opt
OBJ online ] ≤ E [ (cid:80) i ∈U v max i REV ∗ · REV ∗ θ · ( (cid:80) i ∈U v min i − (cid:80) i ∈U ˆ φ e ∗ i ) ]= (cid:80) i ∈U v max i θ · ( (cid:80) i ∈U v min i − (cid:80) i ∈U ˆ φ e ∗ i ) ≤ E [ δ (cid:80) i ∈U ˆ φ e ∗ i θ ( ρ (cid:80) i ∈U ˆ φ e ∗ i − (cid:80) i ∈U ˆ φ e ∗ i ) ]= δθ ( ρ − (28)In conclusion, Theorem 3 can be proved. Theorem 4.
The proposed online algorithm has polynomial time complexity.Proof.
For each possible execution time of each user, the time complexity of calcu-lating the instance purchasing and job scheduling schemes is O ( n + mT ) . Since22here is at most O ( nE ) possible execution time, the time complexity of Algorithm 1 is O ( n ( n + mT ) E ) . The process of re-computing does not increase the time complexity.
5. Experimental Evaluation
In this section, we study the effectiveness and efficiency of our online algorithmthrough synthetic and Google data [42]. For SaaS provider’s revenue
REV (equation(1)), user satisfaction rate
SAT (equation (2)), and aggregated objective
OBJ (equa-tion (3)), our algorithm achieves great performance under various scenarios.
We simulate a cloud environment where a SaaS provider rents instances to providepleasingly parallel job-execution services to users. In practice, users can submit theirjobs to the SaaS provider through a web page. Then the SaaS provider schedules thesejobs using our proposed online algorithm or other comparison algorithms on an IaaScloud platform. In this paper, we program a simulator and focus on the simulation of thepresented mathematical model. In our simulator, a simulated IaaS platform configurestotal m = 4 heterogeneous instance types and allows on-demand accesses. The concreteconfigurations and prices of instances are set according to the real instances providedby Amazon EC2. The job workloads used in our simulations are synthesized accordingto the experimental requirements, based on the observation of actual pleasingly paralleljobs and Google cluster data. We try to emulate a real cloud. However, because of theconstraints of experimental conditions, we simplify some details such as the bandwidthconstraints of the network and the performance interference of inter-VMs. The numberof time slots T is set based on experimental scenarios. Each time slot consists of 10minutes and thus the usage duration of a unit on-demand instance is τ = 6 slots. Users’value functions decrease with the increase of execution time. By default, we set α =0 . and θ = 0 . . We randomly choose demand D and threshold k from specific ranges.The demand D i,j of job i for type- j instance is related to this instance’s performance.The higher the performance is, the smaller the demand is. For the experiments using23 able 2: Summary of Parameters ExperimentsEXP1 EXP2 EXP3 EXP4 EXP5 n Nor Uni Cons Nor2, 5, 8, ..., 26 10 2, 5, 8, ..., 26 10 T
200 60, 80, ..., 300 D Uniform [1, 30] Google dataset k Uniform [5, 30] Google dataset E We first study the performance of our online algorithm when the number of usersper time slot increases. To prove that our algorithm can adapt to multiple scenar-ios, we assume that user arrival follows normal (“Nor”), uniform (“Uni”) and constant(“Cons”) distributions respectively. The results are shown in two aspects: (1) compar-ison of optimal, actual and theoretical
OBJ and
REV , and (2) the actual competitiveratio.From Fig. 2a, we can see that as the number of users increases, the aggregated24 O B J Normal Uniform Constant
Number of Users per Time Slot
Offline Optimum Our Algorithm Theoretical Bound (a) Aggregated objective (
OBJ ) REV
Normal Uniform Constant ·10 Number of Users per Time Slot
Offline Optimum Our Algorithm Theoretical Bound (b) SaaS providers’ revenue (
REV )Figure 2: Performance with different numbers of users per time slot. objective
OBJ is almost unchanged. This result reveals that our algorithm is stableunder different numbers of users. By contrast, in Fig. 2b, SaaS providers’ revenue
REV increases almost linearly, which means the more users, the more revenue. Fromthis perspective, guaranteeing user satisfaction rate to attract users is important for SaaSproviders. Meanwhile, in both Fig. 2a and Fig. 2b, our algorithm’s actual results aresimilar to optimal solutions, which also reflects the good performance.According to equations (28) and (26), the theoretical competitive ratios of
OBJ and
REV in this experiment are 4.76 and 3.33 respectively. It follows from Fig. 3aand Fig. 3b that the actual competitive ratios are very small. This is strong evidencethat our algorithm can obtain great performance with different numbers of users. Withthe number of users per time slot increasing, the actual competitive ratios of both
OBJ C o m p e titi v e R a ti o ( O B J ) Number of Users per Time Slot
Normal Uniform Constant (a) Competitive ratio of
OBJ C o m p e titi v e R a ti o ( REV ) Number of Users per Time Slot
Normal Uniform Constant (b) Competitive ratio of
REV
Figure 3: Competitive ratio with different numbers of users per time slot. C o m p e titi v e R a ti o ( O B J ) Number of Possible Execution Time (a) Competitive ratio of
OBJ C o m p e titi v e R a ti o ( REV ) Number of Possible Execution Time (b) Competitive ratio of
REV
Figure 4: Performance with different numbers of possible execution time. and
REV show a slight decrease. This is due to the fact that with more users requestingservices, a bad instance purchasing or scheduling scheme will produce less influenceto the entire decision. In addition, we can see that different distributions lead to similarresults. This implies that our algorithm can be applied in a wide range of scenarios.
We then study the performance of our online algorithm when the number of possi-ble execution time increases. The results are illustrated from the perspective of com-petitive ratio.From Fig. 4, we can see that as the number of possible execution time increases,the competitive ratios of both
OBJ and
REV gradually increase. This is because asthe number of possible execution time increases, out algorithm has more difficulties tomake optimal decisions. However, the competitive ratios are still very small, reflecting26 .0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.04005006007008009001000
REV q (a) SaaS providers’ revenue ( REV ) S A T q (b) User satisfaction rate ( SAT )Figure 5: Performance with different values of θ . the good performance of our algorithm. θ We next study the change of SaaS providers’ revenue
REV and user satisfactionrate
SAT when the value of θ varies from 1 to 0.It follows from Fig. 5 that with θ decreasing, providers’ revenue gradually de-creases and user satisfaction rate gradually increases. This is because when θ is large,the algorithm will consider more about revenue. As θ decreases, the algorithm gradu-ally focuses more on user satisfaction rate, leading to the shift of decisions. When θ issmall, the changes become slight. To work efficiently in online markets, algorithms should run in polynomial-time.We next compare the execution time of solving the optimal solution and our onlinealgorithm, when the number of users per time slot increases.According to Fig. 6, it is obvious that to achieve optimal results, the time costis quite large. As the number of users increases, the runtime increases rapidly. Bycontrast, our algorithm has polynomial time complexity and can be run much faster.Combining former experimental results, one can conclude that our algorithm achievesgood performance with a small time cost. Thereby, our algorithm can be used widelyin practice. 27 R un ti m e ( s ) Number of Users per Time Slot
Our Algorithm Offline Optimum
Figure 6: Runtime.
Finally, we compare our online algorithm with some other online scheduling algo-rithms under Google data, when the number of time slots increases.Currently, there are rare studies which consider the pleasingly parallel jobs, thevariable resources, the online settings, and the complex objectives at the same time.For comparison, we select several classic or recently published algorithms and makesome adaptations to make them comparable with our proposed algorithm. We compareour online algorithm with the following five scheduling algorithms by evaluating theaggregated objective
OBJ , SaaS providers’ revenue
REV , and user satisfaction rate
SAT :(1)
Primal-Dual : The online primal-dual scheduling algorithm in [31] focuses onpleasingly parallel jobs with the aim of revenue maximization. Their algorithm utilizesthe dual programming of the problem and sets marginal price functions for resources.According to the valuations and prices, this algorithm decides whether to accept users’service requests. Nevertheless, resource purchasing is not considered in this algorithm.Hence we assume that the number of purchased instances is smaller (“PD-small”) orlarger (“PD-large”) than the total demand respectively.(2)
Earliest Deadline First : This is one of the most classic scheduling algorithms2843, 44]. Jobs with the earliest deadline will be scheduled first. The resource pur-chasing in this algorithm is also not considered and we set fixed instances which aresimilar to users’ demands. “EDF” is used to indicate this algorithm.(3)
Equal Opportunity : This algorithm purchases instances, accepts users, and sched-ules jobs with equal opportunity. We use “Equal-opp” to indicate this algorithm forshort.(4)
OnTaPRA : This online algorithm designs for pleasingly parallel jobs and considersenergy consumption [30]. The main idea of this algorithm is: according to the
ShortestJob First policy, put the tasks on the instances with the highest efficiency as long asthe constraints are not violated. In this way, the job completion time will be reduced.Meanwhile, the instance purchasing and cost are also not considered in this paper.Assuming that instances are fixed which are similar to users’ demands and energy con-sumption is not considered, we modify this algorithm and apply it to our problem as acomparison.(5)
Dynalloc : This algorithm considers to use self-owned, on-demand and spot in-stances at the same time to execute jobs, with the aim of cost optimization [18]. Themain idea of this algorithm is distributing the workloads equally among the entire dead-line and minimizing the integer instance hours of on-demand instances. In this process,the algorithm uses the self-owned resources first, then the spot instances, and last theon-demand instances. To compare with our online algorithm, we consider on-demandinstances only and schedule the jobs by the Shortest Job First policy when using thisalgorithm.As shown in Fig. 7, our online algorithm achieves better performance comparedwith all the comparison algorithms when applying for a long period. In terms of
OBJ and
REV , our online algorithm can achieve significantly better results compared toall the comparison algorithms. This is mainly caused by three reasons. First, vari-able resources. Algorithms PD , EDF and
OnTaPRA assume fixed resources before thescheduling, which are actually hard to predict in advance. On the one hand, insuffi-cient instances will limit the service capability of SaaS providers, such as
PD-small .On the other hand, excessive instances will produce insufferable costs, such as
PD-large . Thereby, SaaS providers should purchase instances dynamically according to29 O B J Number of Time Slots
Our Algorithm PD-small PD-large EDF Equal-opp OnTaPRA Dynalloc (a) Aggregated objective (
OBJ )
60 100 160 200 260 300020000400006000080000100000120000140000160000
REV
Number of Time Slots
Our Algorithm PD-small PD-large EDF Equal-opp OnTaPRA Dynalloc (b) SaaS providers’ revenue (
REV )
60 100 160 200 260 3000.30.40.50.60.70.80.91.01.11.21.3 S A T Number of Time Slots
Our Algorithm PD-small PD-large EDF Equal-opp OnTaPRA Dynalloc (c) User satisfaction rate (
SAT )Figure 7: Comparison with other algorithms. real-time service requests rather than purchase a fixed number in advance. Second,the scheduling objectives. Objectives decide the acceptance and scheduling policiesof algorithms. Algorithm PD only considers the objective of revenue maximizationand ignores the user satisfaction rate. The goal of algorithm OnTaPRA is minimizingcompletion time. Algorithms
Equal-opp and
Dynalloc can purchase resources dynam-ically. However, they ignore the economic factors (e.g., valuations of jobs and instancecosts) and serve users as much as possible rather than accept and schedule jobs ac-cording to
OBJ . Thus, there is a money loss. Third, the online settings. In practicalcloud environments, when making decisions, the future information about user arrivalsand demands is unknown, which means current decisions could have good or bad im-30lications for the future. Thus when designing algorithms, we need to consider theseuncertainties fully and carefully. In the comparison algorithms, only PD and OnTaPRA consider the online settings. All these comparison algorithms cannot fit well with ourproblem.In terms of
SAT , algorithms
PD-large , EDF , OnTaPRA and
Dynalloc obtain alarger user satisfaction rate. This is due to the fact that they have abundant instancesto serve most users rather than purchasing instances and scheduling jobs selectivelyaccording to the objective
OBJ . As a result, their
OBJ and
REV are lower than ouronline algorithm.In summary, our online algorithm achieves better performance than all the fivecomparison algorithms and it can effectively deal with the market-oriented online bi-objective scheduling problem for pleasingly parallel jobs with variable resources incloud environments.
6. Conclusions and Future Work
This paper focuses on the market-oriented online bi-objective scheduling problemfor pleasingly parallel jobs with variable resources in cloud environments. With uniquefeatures of variable resources and online settings etc., the scheduling focuses on bi-objective: maximizing SaaS providers’ revenue and maximizing user satisfaction rate.To address this problem, we propose an algorithm to help SaaS providers to decidehow to purchase instances and schedule jobs in an online way. Our proposed onlinealgorithm is computationally efficient and can achieve a good competitive ratio. Theefficiency is verified through theoretical analysis and extensive simulations. Nowadays,most IaaS cloud platforms also support some other instances such as reserved and spotinstances, which are suitable for different situations. In the future, we plan to takeother instances into consideration and design efficient algorithms to solve schedulingproblems in more complicated cloud environments.31 cknowledgment
This work was supported by the National KeyResearch and Development Programof China [grant number 2018YFB1702903].
References [1] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee,D. Patterson, A. Rabkin, I. Stoica, M. Zaharia, A view of cloud computing, Com-munications of the ACM 53 (4) (2010) 50–58. doi:10.1145/1721654.1721672 .[2] Amazon web services (aws), http://aws.amazon.com/ , accessed Febru-ary 11, 2021.[3] Microsoft azure, , accessed February 11, 2021.[4] T. Gunarathne, T. Wu, J. Y. Choi, S. Bae, J. Qiu, Cloud computing paradigms forpleasingly parallel biomedical applications, Concurrency and Computation: Prac-tice and Experience 23 (17) (2011) 2338–2354. doi:10.1002/cpe.1780 .[5] Y. Azar, M. Hoefer, I. Maor, R. Reiffenhauser, B. Vocking, Truthful mechanismdesign via correlated tree rounding, Mathematical Programming 163 (1) (2017)445–469. doi:10.1007/s10107-016-1068-5 .[6] T. Cao, W. Huang, Y. He, M. Kondo, Cooling-aware job scheduling and nodeallocation for overprovisioned HPC systems, in: Proceedings of the 31st IEEEInternational Parallel and Distributed Processing Symposium (IPDPS), 2017, pp.728–737. doi:10.1109/IPDPS.2017.19 .[7] Y. Guo, J. Rao, D. Cheng, X. Zhou, iShuffle: Improving hadoop performance withshuffle-on-write, IEEE Transactions on Parallel and Distributed Systems 28 (6)(2017) 1649–1662. doi:10.1109/TPDS.2016.2587645 .[8] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, I. Brandic, Cloud computingand emerging IT platforms: Vision, hype, and reality for delivering computing32s the 5th utility, Future Generation Computer Systems 25 (6) (2009) 599–616. doi:10.1016/j.future.2008.12.001 .[9] R. Stec, A. Novak, P. Sucha, Z. Hanzalek, Scheduling jobs with stochastic pro-cessing time on parallel identical machines, in: Proceedings of the 28th Interna-tional Joint Conference on Artificial Intelligence (IJCAI), 2019, pp. 5628–5634. doi:10.24963/ijcai.2019/781 .[10] X. Qi, J. Yuan, Semi-online hierarchical scheduling on two machines for lp-normload balancing, Asia Pacific Journal of Operational Research 36 (1). doi:10.1142/S0217595919500027 .[11] S. Li, M. Song, P.-J. Wan, S. Ren, A 2-approximation algorithm for schedulingparallel and time-sensitive applications to maximize total accrued utility value,IEEE Transactions on Parallel and Distributed Systems (TPDS) 27 (7) (2016)1864–1878. doi:10.1109/TPDS.2015.2474360 .[12] J. Sahni, D. P. Vidyarthi, A cost-effective deadline-constrained dynamic schedul-ing algorithm for scientific workflows in a cloud environment, IEEE Transac-tions on Cloud Computing 6 (1) (2018) 2–18. doi:10.1109/TCC.2015.2451649 .[13] E. N. Alkhanak, S. P. Lee, A hyper-heuristic cost optimisation approach for sci-entific workflow scheduling in cloud computing, Future Generation ComputerSystems 86 (2018) 480–506. doi:10.1016/j.future.2018.03.055 .[14] R. Zhang, K. Wu, M. Li, J. Wang, Online resource scheduling under concave pric-ing for cloud computing, IEEE Transactions on Parallel and Distributed Systems27 (4) (2016) 1131–1145. doi:10.1109/TPDS.2015.2432799 .[15] M. Ghose, P. Verma, S. Karmakar, A. Sahu, Energy efficient scheduling of sci-entific workflows in cloud environment, in: Proceedings of the 19th InternationalConference on High Performance Computing and Communications, 2017, pp.170–177. doi:10.1109/HPCC-SmartCity-DSS.2017.22 .3316] A. Dambreville, J. Tomasik, J. Cohen, F. Dufoulon, Load prediction for energy-aware scheduling for cloud computing platforms, in: Proceedings of the 37thInternational Conference on Distributed Computing Systems (ICDCS), 2017, pp.2604–2607. doi:10.1109/ICDCS.2017.201 .[17] Y. Bao, Y. Peng, C. Wu, Z. Li, Online job scheduling in distributed machinelearning clusters, in: Proceedings of the 37th International Conference on Com-puter Communications (INFOCOM), 2018, pp. 495–503. doi:10.1109/INFOCOM.2018.8486422 .[18] X. Wu, P. Loiseau, E. Hyyti¨a, Toward designing cost-optimal policies to utilizeIaaS clouds with online learning, IEEE Transactions on Parallel and DistributedSystems 31 (3) (2020) 501–514. doi:10.1109/TPDS.2019.2935199 .[19] J. Zhu, X. Li, R. Ruiz, X. Xu, Scheduling stochastic multi-stage jobs to elastichybrid cloud resources, IEEE Transactions on Parallel and Distributed Systems29 (6) (2018) 1401–1415. doi:10.1109/TPDS.2018.2793254 .[20] Y. Cao, L. Li, J. Yu, S. Qian, Y. Zhu, M. Li, C. Jian, W. Zhong, J. Li,G. Xue, Online cost-aware service requests scheduling in hybrid clouds for cloudbursting, in: Proceedings of the 21st International Conference on Web Infor-mation Systems Engineering (WISE), 2017, pp. 259–274. doi:10.1007/978-3-319-68783-4\_18 .[21] C. Huang, Y. Jiang, Y. Yin, W. Yeh, V. Chung, C. Lai, Multi objective schedulingin cloud computing using MOSSO, in: Proceedings of IEEE Congress on Evo-lutionary Computation (CEC), 2018, pp. 1–8. doi:10.1109/CEC.2018.8477709 .[22] M. Kaur, S. Kadam, A novel multi-objective bacteria foraging optimization al-gorithm (MOBFOA) for multi-objective scheduling, Applied Soft Computing 66(2018) 183–195. doi:10.1016/j.asoc.2018.02.011 .[23] H. Peng, W. Wen, M. Tseng, L. Li, Joint optimization method for task schedul-ing time and energy consumption in mobile cloud computing environment, Ap-34lied Soft Computing 80 (2019) 534–545. doi:10.1016/j.asoc.2019.04.027 .[24] Z. Hu, B. Li, J. Luo, Time- and cost- efficient task scheduling across geo-distributed data centers, IEEE Transactions on Parallel and Distributed Systems29 (3) (2018) 705–718. doi:10.1109/TPDS.2017.2773504 .[25] J. Gasior, F. Seredynski, A. Tchernykh, A security-driven approach to online jobscheduling in IaaS cloud computing systems, in: Proceedings of the 12nd Inter-national conference on Parallel Processing and Applied Mathematics (PPAM),2017, pp. 156–165. doi:10.1007/978-3-319-78054-2\_15 .[26] T. Gunarathne, T. Wu, J. Choi, S. Bae, J. Qiu, Cloud computing paradigms forpleasingly parallel biomedical applications, Concurrency and Computation: Prac-tice and Experience 23 (17) (2011) 2338–2354. doi:10.1002/cpe.1780 .[27] F. Zhang, J. Cao, W. Tan, S. U. Khan, K. Li, A. Y. Zomaya, Evolutionary schedul-ing of dynamic multitasking workloads for big-data analytics in elastic cloud,IEEE Transactions on Emerging Topics in Computing 2 (3) (2014) 338–351. doi:10.1109/TETC.2014.2348196 .[28] G. L. Stavrinides, G. L. Karatza, The impact of data locality on the perfor-mance of a SaaS cloud with real-time data-intensive applications, in: Proceedingsof the 21st International Symposium on Distributed Simulation and Real TimeApplications (DS-RT), 2017, pp. 180–187. doi:10.1109/DISTRA.2017.8167683 .[29] L. Chen, S. Liu, B. Li, B. Li, Scheduling jobs across geo-distributed datacenterswith max-min fairness, IEEE Transactions on Network Science and Engineering6 (3) (2019) 488–500. doi:10.1109/TNSE.2018.2795580 .[30] L. Shi, Z. Zhang, T. Robertazzi, Energy-aware scheduling of embarrassingly par-allel jobs and resource allocation in cloud, IEEE Transactions on Parallel andDistributed Systems (TPDS) 28 (6) (2017) 1607–1620. doi:10.1109/TPDS.2016.2625254 . 3531] R. Zhou, Z. Li, C. Wu, Z. Huang, An efficient cloud market mechanism for com-puting jobs with soft deadlines, IEEE/ACM Transactions on Networking 25 (2)(2017) 793–805. doi:10.1109/TNET.2016.2609844 .[32] Q. Chen, J. Yao, B. Li, Z. Xiao, PISCES: Optimizing multi-job application exe-cution in mapreduce, IEEE Transactions on Cloud Computing 7 (1) (2019) 273–286. doi:10.1109/TCC.2016.2603509 .[33] F. Liang, Y. Liu, H. Liu, S. Ma, B. Schnor, A parallel job execution timeestimation approach based on user submission patterns within computationalgrids, Int. J. of Parallel Program. 43 (3) (2015) 440–454. doi:10.1007/s10766-013-0294-1 .[34] L. Zadeh, Optimality and non-scalar-valued performance criteria, IEEE Transac-tions on Automatic Control 8 (1) (1963) 59–60. doi:10.1109/TAC.1963.1105511 .[35] R. T. Marler, J. S. Arora, The weighted sum method for multi-objective opti-mization: new insights, Structural and Multidiplinary Optimization 41 (6) (2010)853–862. doi:10.1007/s00158-009-0460-7 .[36] J. Han, M. Kamber, Data Mining: Concepts and Techniques, Morgan KuafmannPublisher, 2006.[37] H. Kellerer, U. Pferschy, D. Pisinger, Knapsack Problems, Springer, 2004.[38] X. Si, L. Liang, G. Jia, L. Yang, H. Wu, Y. Li, Proportional sharing and DEA inallocating the fixed cost, Applied Mathematics and Computation 219 (12) (2013)6580–6590. doi:10.1016/j.amc.2012.12.085 .[39] H. Moulin, Axiomatic cost and surplus-sharing, Handbook of Social Choice andWelfare 1 (2002) 289–357. doi:10.1016/S1574-0110(02)80010-8 .[40] Y.-T. Wang, D. Zhu, Ordinal proportional cost sharing, Journal of Mathemati-cal Economics 37 (3) (2002) 215–230. doi:10.1016/S0304-4068(02)00016-2 . 3641] R. Lin, Z. Chen, Z. Li, A new approach for allocating fixed costs among decisionmaking units, Journal of Industrial and Management Optimization 12 (1) (2015)211–228. doi:10.3934/jimo.2016.12.211 .[42] Google cluster data, https://github.com/google/cluster-data/ ,accessed February 11, 2021.[43] C. L. Liu, J. W. Layland, Scheduling algorithms for multiprogramming in a hard-real-time environment, Journal of the ACM 20 (1) (1973) 46–61. doi:10.1145/321738.321743doi:10.1145/321738.321743