A Hyper-Heuristic Scheduling Algorithm for Cloud

Embed Size (px)

DESCRIPTION

Rule-based scheduling algorithms have been widelyused on many cloud computing systems because they are simpleand easy to implement. However, there is plenty of room toimprove the performance of these algorithms, especially byusing heuristic scheduling. As such, this paper presents a novelheuristic scheduling algorithm, called hyper-heuristic schedulingalgorithm (HHSA), to find better scheduling solutions for cloudcomputing systems. The diversity detection and improvementdetection operators are employed by the proposed algorithm todynamically determine which low-level heuristic is to be used infinding better candidate solutions. To evaluate the performance ofthe proposed method, this study compares the proposed methodwith several state-of-the-art scheduling algorithms, by having allof them implemented on CloudSim (a simulator) and Hadoop(a real system). The results show that HHSA can significantlyreduce the makespan of task scheduling compared with the otherscheduling algorithms evaluated in this paper, on both CloudSimand Hadoop.

Citation preview

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 1

    A Hyper-Heuristic Scheduling Algorithm for CloudChun-Wei Tsai, Wei-Cheng Huang, Meng-Hsiu Chiang, Ming-Chao Chiang, and Chu-Sing Yang

    AbstractRule-based scheduling algorithms have been widelyused on many cloud computing systems because they are simpleand easy to implement. However, there is plenty of room toimprove the performance of these algorithms, especially byusing heuristic scheduling. As such, this paper presents a novelheuristic scheduling algorithm, called hyper-heuristic schedulingalgorithm (HHSA), to find better scheduling solutions for cloudcomputing systems. The diversity detection and improvementdetection operators are employed by the proposed algorithm todynamically determine which low-level heuristic is to be used infinding better candidate solutions. To evaluate the performance ofthe proposed method, this study compares the proposed methodwith several state-of-the-art scheduling algorithms, by having allof them implemented on CloudSim (a simulator) and Hadoop(a real system). The results show that HHSA can significantlyreduce the makespan of task scheduling compared with the otherscheduling algorithms evaluated in this paper, on both CloudSimand Hadoop.

    Index TermsCloud computing, evolutionary algorithm,scheduling, and Hadoop.

    I. INTRODUCTION

    UNTIL now we are still actively looking for possiblesolutions to enhance the performance of informationsystems for computation, analysis, and storage. Since dis-tributed and parallel computing was widely used to enhancethe performance of a variety of computer systems, severalstrategies have been presented for different approaches andcongenital restrictions in different eras. No matter whichconsideration it is for, how to efficiently manage computerresources is definitively a vital research issue. Among them,scheduling [1], [2], [3] is essential in the success of enhancingthe performance of a computer system.

    With the advance of computer and internet technologies,paradigms of cloud computing [4], [5], [6], [7] have beensuccessfully used on several information systems in recentyears. Although cloud computing systems nowadays providea better way to carry out the submitted tasks in termsof responsiveness, scalability, and flexibility, most job andtask scheduling problems on cloud computing systems arestill either NP-hard or NP-complete [8]. According to ourobservations, most rule-based scheduling algorithms (e.g.,

    C. W. Tsai is with the Department of Applied Informatics and Multimedia,Chia Nan University of Pharmacy & Science, Tainan 71710, Taiwan, e-mail:[email protected].

    W. C. Huang is with the Department of Computer Science and Engi-neering, National Sun Yat-sen University, Kaohsiung 80424, Taiwan, e-mail:[email protected].

    M. H. Chiang is with the Department of Computer Science and Engi-neering, National Sun Yat-sen University, Kaohsiung 80424, Taiwan, e-mail:[email protected].

    M. C. Chiang is with the Department of Computer Science and Engineering,National Sun Yat-sen University, Kaohsiung 80424, Taiwan, e-mail: [email protected].

    C. S. Yang is with the Department of Electrical Engineering, NationalCheng Kung University, Tainan 70101, Taiwan, e-mail:csyang.ee.ncku.edu.tw.

    exhaustive and deterministic algorithms) are widely used ontodays cloud computing systems because they are simple andeasy to implement. Unfortunately, these rule-based schedul-ing algorithms are inappropriate for large-scale or complexscheduling problems because the results of these schedulingstrategies are usually far from optimal. This implies that thereis plenty of room to improve the scheduling algorithms forcloud computing systems.

    A promising research direction, which applies modernheuristics [9] to scheduling on cloud computing systems,has attracted several researchers from different research do-mains. The extended version of heuristics combines two ormore heuristics into a single heuristic algorithm to leveragetheir strengths for scheduling, called hybrid heuristic-basedscheduling algorithm. Different from most hybrid heuristic-based scheduling algorithms that employed only one or twoheuristics, the proposed algorithm is a hyper-heuristic-basedalgorithm that integrates several heuristic algorithms. Thebasic idea of the proposed algorithm is to leverage thestrengths of heuristic algorithms, such as simulated annealing[10], genetic algorithm [11], particle swarm optimization [12],and ant colony optimization [13], by integrating them into asingle algorithm. The main contributions of the paper can besummarized as follows:

    1) A novel high-performance hyper-heuristic algorithm isproposed for scheduling on cloud computing systems toreduce the makespan.

    2) Two detection operatorsone for diversity detection andone for improvement detectionare proposed for theproposed algorithm to determine the timing to employthe low-level heuristic algorithm.

    3) The proposed algorithm can be applied to both sequence-dependent (see also Section V-A1) and sequence-independent (see also Section V-B1) scheduling prob-lems.

    4) To evaluate its performance on both a cloud simulatorand a real cloud system, the proposed algorithm andseveral other scheduling algorithms (for the purpose ofcomparison) are implemented on both the CloudSim [14]and Hadoop.

    5) A detailed analysis of the parameter settings is also givento show the impact they may have on the performance ofthe proposed algorithm.

    The remainder of the paper is organized as follows. Sec-tion II begins with a brief introduction to the traditionalscheduling, followed by the scheduling on cloud computing.In addition to the scheduling problem and its relevant tech-nologies, Section III provides a brief discussion on heuristicalgorithms and compares the differences between hybrid-heuristic and hyper-heuristic algorithms. Section IV describes

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 2

    in detail the proposed algorithm and gives a simple example.The simulation results, on both CloudSim and Hadoop, arediscussed in Section V. Conclusions and future trends aredrawn in Section VI.

    II. SCHEDULING

    A. Scheduling problems

    1) Traditional Scheduling: The scheduling problem [15],[16] can be defined as follows: Find an optimal solution toschedule a given set of tasks T = {T1, T2, . . . , Tn} to agiven set of machines M = {M1,M2, . . . ,Mm} subject to apredefined set of constraints and measurements. For instance,one of the widely used measurements for the schedulingproblem is the so-called makespan Cmax(s), which is definedas the completion time of the last task. Mathematically, thescheduling problem is to

    minimize f(s) = Cmax(s), (1)

    where s is a candidate solution, and, letting Cj denote thecompletion time of job j, Cmax(s) = maxj Cj is the comple-tion time of the last job. Moreover, with advance of computersystems, the scheduling problem has evolved from singleprocessor, single tasking, to multiprocessor, multitasking, thento large scale distributed system nowadays. To measure thesolutions for different kinds of scheduling problems, makespanis no longer the only choice. Instead, a number of measure-ments have been developed. Examples are maximum lateness,maximum tardiness, and maximum flowtime [1].

    Several traditional scheduling algorithms have been pre-sented, such as earliest due date first (EDD) [17], critical pathmethod (CPM) [18], project evaluation and review technique(PRET) [19], dynamic programming [20], and branch-and-bound [21]. These methods are generally much easier to im-plement than metaheuristic and hybrid scheduling algorithmsbecause they are all designed based on one or a few particularrules (ways) to manage and arrange the tasks, but metaheuristicand hybrid scheduling algorithms are not. Some of themeven guarantee to find the optimal solution for the schedulingproblem in question, but they are all suffered from the factof not being able to find the optimal solution in a reasonabletime, especially when the problem becomes either too complexor too large.

    In fact, it is the other two important disadvantages thattake the researchers into consideration of modifying the searchstrategy of these traditional scheduling algorithms. First, mostfull search algorithms, such as the well-known branch-and-bound and dynamic programming, are normally time consum-ing because the number of checks they have to perform isvery large. Second, in the case of the deterministic algorithms(such as EDD), although they are very fast and easy to imple-ment, they are easily falling into local optima. The classicalexhaustive algorithms are generally good enough to providethe optimal solution quickly for small scheduling problems[22], but not large scheduling problems [23]. In this paper, bythe small scheduling problems, we mean problems for whichall the solutions can be checked in a reasonable time by usingclassical exhaustive algorithms running on modern computer

    systems. In contrast, by the large scheduling problems, wemean problems for which not all the solutions can be checkedin a reasonable time by using the same algorithms runningon the same computer systems. These observations make iteasy to understand that exhaustive algorithms will take aprohibitive amount of time to check all the candidate solutionsfor large scheduling problems because the number of candidatesolutions is simply way too large to be checked in a reasonabletime. As a result, researchers have paid their attention to thedevelopment of scheduling algorithms that are efficient andeffective, such as heuristics.

    2) Scheduling on Cloud: With computing systems beingshifted to cloud-based systems progressively, one of the maincharacteristics is that it works on a pay-as-you-use basis [24].Several studies attempted to define the scheduling problem oncloud systems as the workflow problem, which can be furtherclassified into two levels: service-level (platform layer andstatic scheduling) and task-level (unified resource layer anddynamic scheduling) [25]. Different from grid computing,the user can install their programs on the virtual machines(VMs) and determine how to execute their programs on thecloud computing system. For these reasons, although bothgrid computing and cloud computing are heterogeneous, thekey issues they face are very different. A good example isthe cost and latency of data transfer on these environments.That is why some studies added more considerations to theirdefinitions of scheduling on cloud. For instance, a coupleof studies [26], [27] used directed acyclic graph (DAG) todefine the scheduling problem on cloud. The basic idea is touse the vertices of a DAG to represent a set of tasks andthe edges between the vertices to represent the dependenciesbetween the tasks. Then, the scheduling problem on cloud canbe formulated for the solution s as follows [27]:

    minimize f(s) = Cmax(s) +nXi=1

    mXj=1

    Cij ,

    subject to Cmax(s) U(s),C(s) B(s),

    (2)

    where f(s) is the objective function; Cmax(s) the completiontime of the last job (also called makespan); n the number oftasks; m the number of machines; Cij the cost of processingthe ith task on the jth machine; U(s) the number of overduetasks; C(s) =

    mj=1 Cij the total cost of s; and B(s) the

    restriction on the budget for the tasks of s. Moreover, since thestudy described in [27] also takes into account the maximumexpenditure for the provisioning of services or applications oncloud, such as QoS, the budget is also considered as part ofthe scheduling problem for cloud when necessary.

    Recently, Hadoop [28] was widely used in deploying cloudcomputing system. In addition to being used by several inter-national companies (e.g., IBM, Google, AOL, eBay, Yahoo,and Amazon) [29], the features provided by the open-sourceenvironment and MapReduce framework have made it a verypopular cloud computing platform [30]. Its scalability forlarge-scale data and systems has also been found in recentresearches, such as big data approach [31] and smart grid[32]. The basic idea is so that the users of such a system

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 3

    can submit jobs to the Hadoop cluster, which will then splitthe jobs into tasks of a given size and provide a number ofslots to run tasks in parallel. The processing speed of theseslots depends on the types of jobs submitted to the cluster.The definitions of parallel machines for scheduling can bedivided into three kinds: (1) identical machines in parallel, (2)machines in parallel with different speeds, and (3) unrelatedmachines in parallel [1]. Since a Hadoop cluster generallyconsist of machines with different speeds, its task schedulingproblem can be considered as the second kind of parallelmachines for scheduling.

    B. Scheduling Methods for Cloud

    To develop more efficient scheduling algorithms for cloud,some recent reviews were given in [33], [34], which en-compass non-metaheuristic and metaheuristic scheduling al-gorithms, such as earliest-finish-time-based algorithm andgenetic algorithm. Also given in [33] was a comparisonsheet to classify the scheduling algorithms discussed there bymethods, parameters, and factors of scheduling. In addition,the method presented in [35] uses feedback information toestimate the earliest finish time to dynamically adjust theresource allocation.

    Among researches on non-metaheuristic scheduling algo-rithms, the earliest start time, latest start time, and makespan[36], [37] are usually used to evaluate the scheduling results;however, to precisely describe cloud environment, additionalmeasurements (objective functions) are also used in describingand measuring the scheduling on cloud. For instance, the costof workflow and the deadline defined by a user were used in[38] while the price-based model was used in [39]. Besidesthe additional measurements, another study [36] combined thestatic and dynamic scheduling algorithms into a cloud systemto adjust its resource allocation strategies on the fly. The mainadvantages of this kind of algorithms are: (1) they are simpleand easy to implement; (2) some rule-based deterministicalgorithms can find acceptable solutions quickly; and (3) mostof them are compatible to each other; thus, some studies havetried to integrate two or more non-metaheuristic algorithmsto solve the scheduling problem. Theoretically, one of themajor disadvantages of these algorithms is in that the resultsobtained by these algorithms may be far from optimal or evenacceptable. In practice, our observation shows that becausethey are simple and easy to implement on a cloud system,several cloud systems use traditional scheduling algorithmsto manage the computing resources, such as Hadoop, whichuses first in first out (FIFO) [40] as the default schedulingalgorithm.

    Although the FIFO scheduler of Hadoop can achieve ahigh utilization as far as a cluster is concerned, it providesno fairness at all. Even worse, it sometimes leads to a longresponse time, especially when the number of jobs to be runis beyond the available computing resources. For a concreteexample, consider the following scenario: A very long jobarrives the job queue followed by a short job with the samepriority. The FIFO scheduler of Hadoop will schedule the firstjob and allocate all the resources it needs. This implies that

    the second job must wait until the first job is completed. Theresult is obviously a very long response time for the secondjob. For a cluster that has enough capacity to run all the jobsat the same time, most schedulers can satisfy the demand ofthe input jobs and tasks. It means that each job can be run andcompleted before the deadline. Assume a high map-capacityHadoop cluster has 200 maps. Most of the schedulers canfinish the jobs when there are 10 input jobs each of whichuse 20 maps, i.e., when there are total 10 20 = 200 tasksto be assigned to the 200 map slots. When the input jobs andtasks are too large to be run by the cluster (system) at the sametime, the overall computation time will differ because differentscheduling strategies may decide to schedule the jobs to be runand the resources to be allocated differently. Moreover, most,if not all, of the schedulers shipped with Hadoop today do nottake into consideration the so-called makespanthe objectiveHHSA described herein is trying to improve.

    To solve this problem, Facebook developed Hadoop FairScheduler (HFS) and improved it with Delay Scheduling [41]to get better data locality and throughput. HFS calculates eachtasks fair share, sorts them in increasing order, and thenpicks the one with least fair share when there are empty slots.In the scenario above, HFS will schedule the shorter job firstwhen it receives low fair share, thus finishing the shorter jobbefore the longer one completes, by sacrificing only a littledelay for a dramatically faster response time of the second job.On the other hand, Yahoo developed Capacity Scheduler [42]to deal with the same scheduling problem. By guaranteeing thecapacity of the queues for different jobs, Capacity Schedulercan also achieve fairness, but it requires a more sophisticatedcontrol over the cluster. In summary, these two schedulersare not focused on pursuing the optimal solution; rather,they try to enhance the response time of each job. As such,this paper is aimed at demonstrating that by estimating andpredicting the processing speed and completion time of eachmachine and each job, HHSA can generate feasible solutionsthat optimize the makespan not taken into consideration bythe other schedulers. In addition, our experiments show thatHHSA can eventually provide better solutions in terms ofmakespan.

    In addition to non-metaheuristic scheduling algorithms, analternative is the heuristic scheduling algorithms [9] that canbe used to provide better scheduling plans than do the rule-based scheduling algorithms for cloud computing. As shownin Fig. 1(a), the basic idea of heuristics is to use threekey operatorstransition, evaluation, and determinationto search for the possible solutions on the convergenceprocess. Note that in Fig. 1(a), t denotes the iteration number;tmax the maximum number of iterations or the stop criteria.More precisely, the transition operator creates the solutions, by using methods which could be either perturbative orconstructive or both [43]; the evaluation operator measures thefitness of s by using a predefined measurement; and then thedetermination operator determines the next search directionsbased on the s from the transition operator and the evaluationoperator. Because heuristics use tactical guess to find thepossible solutions, it has a much better chance to find a betterresult than do most rule-based deterministic algorithms.

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 4

    Output

    t

    t = tmax?No

    Yes

    t = t+ 1

    TransitionEvaluation

    Determination

    Input

    t

    t = tmax?No

    Yes

    t = t+ 1TE

    D H1

    Input

    Output

    Hn

    TE

    D

    Output

    Hi

    Input

    LLH Selection

    t

    Accepted?No

    t = tmax?

    Yes

    Yes

    t = t+ 1

    No

    H

    H1

    H2

    Hn

    (a) (b) (c)Fig. 1. Outline of (a) heuristics, (b) hybrid-heuristics, and (c) hyper-heuristics.

    III. INTEGRATION OF HEURISTIC ALGORITHMS

    As we mentioned in Section II-B, heuristic algorithms areable to provide better results than rule-based algorithms forcomplex scheduling problems on cloud computing systems.Moreover, as far as this paper is concerned, by the complexscheduling problems, we mean scheduling problems that areNP-complete [8], thus having a huge solution space for whichall the solutions cannot be checked by any known exhaustivealgorithm in a reasonable time, not only in a traditionalinformation system (non-cloud virtualized cluster) but also ina cloud system. Each heuristic algorithm, however, has its prosand cons as far as scheduling is concerned. For example, antcolony optimization may provide a better scheduling solutionthan other scheduling algorithms, but it takes much morecomputation time than the others. An alternative to create ascheduling algorithm is by integrating two or more heuristicalgorithms or combining heuristic algorithms with rule-basedalgorithms, Generally speaking, an integration that invokestwo or more heuristic algorithms at each iteration reflects thecomplementary advantages of these algorithms to find a betterresult than a single heuristic algorithm does. As shown inFig. 1(b), the basic idea of hybrid-heuristic algorithm is tocombine heuristic algorithms to perform the transition (T),evaluation (E), and determination (D) at each iteration, whereHi denotes one of the heuristic algorithms. This kind ofintegration may compensate for the intrinsic weak points ofspecific heuristic algorithms. For instance, the search diversityof tabu search may be increased by integrating it with geneticalgorithm or other heuristics. However, a critical problem isthat although the hybrid-heuristic may have a higher chanceto find a better result than a single heuristic does, it gener-ally takes a longer computation time than heuristics at eachiteration of the convergence process.

    Recently, another way to combine two or more heuris-tic algorithms, called hyper-heuristic algorithm [44], has at-tracted many researchers from different domains. As shownin Fig. 1(c), one of the heuristic algorithms in the poolof candidate heuristics {H1, H2, . . . ,Hn} will be selectedby the low-level heuristic (LLH) selection operator as theheuristic algorithm to be performed, which is referred to asHi in Fig. 1(c). For this kind of heuristics, low-level heuristicselection and acceptance are the two essential operators todetermine which heuristic algorithm is to be selected andwhether the selected heuristic algorithm will be continuously

    used or not. For this reason, several LLH selection operatorshave been presented in different studies [45] to choose theHi. Different from the LLH selection operator that playsthe role of determining the heuristic algorithm, the acceptanceoperator plays the role of determining the timing to select anew heuristic algorithm, such as when the Hi gets stuck witha solution for a certain number of iterations or when the Hifalls into local optimum.

    In spite of all these extensions, there still lacks a simple andefficient design for scheduling on cloud today. For example, al-though most rule-based scheduling algorithms are very simple,they are unable to find the optimal or approximate solution ina reasonable time because most scheduling problems are NP-complete. Now, let us look back at the heuristic algorithms.Like the hybrid-heuristic, hyper-heuristic also attempts to usetwo or more heuristics on the convergence process. Unlikethe hybrid-heuristic, the basic idea of hyper-heuristic is touse one and only one heuristic algorithm at each iteration.With these characteristics, hyper-heuristic algorithms can thenmaintain a high search diversity to increase the chance offinding better solutions at later iterations while not increasingthe computation time.

    The time complexities of heuristic, hybrid-heuristic, andhyper-heuristic are definitely an important issue, especiallya comparison between the time complexities of these ap-proaches. As described in [46], the expected running time ofheuristic is O(M logM) where M indicates the number ofsubsolutions of each solution of the problem. Tseng and Yangin a later study [47] pointed out that the time complexityof heuristic is O(`NM2) where ` indicates the number ofiterations the algorithm performs; N the population size; andM the number of subsolutions. In [48], the time complexity ofhybrid-heuristic algorithm for scheduling was given. For eachiteration, the computation of makespan takes O(mn), simu-lated annealing takes O(mn2), and NEH (Nawaz, Enscore,and Ham) takes O(mn3), where m denotes the number ofmachines; and n the number of jobs. Thus, the time complexityof hybrid-heuristic algorithm is O(`mn3). This is due tothe fact that the NEH operator takes O(mn3). Putting theseobservations together, the time complexity of hybrid-heuristicalgorithm can be obtained as O(`MN2), assuming that (1)m n of the hybrid-heuristic algorithm equals M of theheuristic algorithm, which is usually true for the scheduling

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 5

    1 Set up the parameters.2 Input the scheduling problem.3 Initialize the population of solutions Z = {z1, z2, ..., zN}.4 Randomly select a heuristic algorithm Hi from the candidate pool H .5 While the termination criterion is not met6 Update the population of solutions Z by using the selected algorithm Hi.7 F1 = Improvement Detection(Z).8 F2 = Diversity Detection(Z).9 If (Hi, F1, F2)

    10 Randomly select a new Hi.11 Z = Perturb(Z).12 End.13 End.14 Output the best so far solution as the final solution.

    Fig. 2. Hyper-heuristic scheduling algorithm (HHSA).

    problems,1 and (2) the time complexity of all the otheroperators of heuristic algorithms are bounded from above byNM2. Similar to the hybrid-heuristic algorithm, the hyper-heuristic algorithm also uses two or more heuristic algorithms,but the time complexity of each operator is usually boundedfrom above by O(MN2). As a result, the time complexityof the hyper-heuristic algorithm is also O(`MN2) if all theoperators (or heuristic algorithms) used are bounded fromabove by MN2.

    IV. THE PROPOSED ALGORITHM

    A. Hyper-Heuristic Scheduling Algorithm

    The basic idea of the proposed algorithm is to use thediversity detection and improvement detection operators tobalance the intensification and diversification in the searchof the solutions during the convergence process. The pro-posed algorithm, called hyper-heuristic scheduling algorithm(HHSA), is as shown in Fig. 2. Line 1 sets up the parametersmax and ni, where max denotes the maximum numberof iterations the selected low-level heuristic algorithm is tobe run; ni the number of iterations the solutions of theselected low-level heuristic algorithm are not improved. Line 2reads in the tasks and jobs to be scheduled, i.e., the problemin question. Line 3 initializes the population of solutionsZ = {z1, z2, ..., zN}, where N is the population size. Online 4, a heuristic algorithm Hi is randomly selected fromthe candidate pool H = {H1, H2, ...,Hn}.

    As far as the proposed algorithm described herein isconcerned, the low-level heuristic candidate pool consistsof simulated annealing [10], genetic algorithm [11], particleswarm optimization [12], and ant colony optimization [13].The selected hyper-heuristic algorithm (LLH) Hi will then beperformed repeatedly until the termination criterion is met,as shown in lines 513. More precisely, the selected LLHHi will evolve the solution Z for max iterations by usingthe determine function (Hi, F1, F2), as defined in Eq. (3),to balance the intensification and diversification of the searchdirections, which in turn rely on the information provided bythe improvement detection operator denoted F1 (as shown inline 8) and by the diversity detection operator denoted F2 (as

    1This means that the solution is encoded as a matrix of size m by n, i.e., amatrix withm rows and n columns, where each row corresponds to a machine;each column corresponds to a job. Therefore, the number of subsolutions ofeach solution is m n =M .

    15

    16

    17

    18

    19

    20

    21

    22

    23

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    SA

    (a) Best so far makespan of SA.

    15

    16

    17

    18

    19

    20

    21

    22

    23

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    GA

    (b) Best so far makespan of GA.

    Fig. 3. Results of applying heuristic algorithms to the j30 dataset for theworkflow problem on CloudSim.

    shown in line 7) to decide whether to select a new LLH ornot. For SSBHA (single-solution-based heuristic algorithms),only F1 is used whereas for PBHA (population-based heuristicalgorithms), both F1 and F2 are used.

    (H,F1, F2) =

    8>:false if H S and F2 = true,false if H P and F1 = true and F2 = true,true otherwise.

    (3)where S denotes the set of SSBHAs; P the set of PBHAs.When the determine function (Hi, F1, F2) returns a true,the proposed algorithm will randomly select a new heuristicalgorithm Hi and then return the solution Z to the perturbationoperator to fine-tune the result, as shown in lines 911. Notethat the single-solution-based heuristic algorithms employ oneand only one search direction at each iteration on the conver-gence process while the population-based heuristic algorithmsemploy multiple search directions at each iteration.

    1) The Improvement Detection Operator: A simple randommethod is used to select the low-level heuristic Hi from thecandidate pool H . According to our observation, the best sofar makespan (BSFMK) for both SA and GA could continueto improve the results at early iterations (e.g., less than 200iterations), but it is difficult to improve the results at lateriterations (e.g., after 800 iterations), especially when the searchdirections converge to a small number of directions, as shownin Fig. 3.

    From these observations, a simple approach to detectingwhen to select a new LLH is as given below.

    F1 =

    (false BSFMK is not improved after tni iterations,true otherwise.

    (4)

    This approach only checks to see whether the solutions foundby Hi, i.e., BSFMK, are being improved or not. If the selectedHi cannot improve the BSFMK after a row of ni iterations,the improvement detection operator will return a false value

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 6

    to the high level hyper center to indicate that it should pickup a new LLH. Note that the improvement detection operatorwill return a false value in three cases: the maximum numberof iterations max is reached, the number of iterations nithe solutions are not improved is reached, and when the stopcondition is reached.

    2) The Diversity Detection Operator: In addition to the im-provement detection operator, the diversity detection operatoris used by HHSA to decide when to change the low-levelheuristic algorithm Hi. Here is how it works. The diversityof the initial solution D(Z0) will be used as a threshold ,i.e., = D(Z0). The diversity of the current solution D(Z)is computed as the average of the task distances betweenindividual solutions which are defined as follows: If a taskin two different individuals is assigned to the same VM, thetask distance is 0; otherwise, the task distance is 1.

    If the diversity of the current solution D(Z) is less than thethreshold (the diversity of the initial solution), this operatorwill return false, and HHSA will then randomly select a newLLH, as given below.

    F2 =

    (true D(Z) > ,false otherwise.

    (5)

    Note that is defined as 131 where 1 and 1 denotes,respectively, the average distance and the standard deviationof the distances of the initial solution.

    3) The Perturbation Operator: In addition to the perturba-tion operators of Hi itself, the proposed algorithm will perturbthe solutions obtained by Hi before they are passed on to thenewly selected LLH. This means that the candidate solutionscreated by the low-level heuristic Hi can be perturbed bythe simulated annealing mechanism we presented herein, byassigning a different temperature to each individual to balancethe intensification and diversification of the search. Moreprecisely, the perturbation temperature Tk is used to determinethe probability of randomly changing the subsolutions, such aschanging the first subsolution of the solution 0001 from 0 to1, thus obtaining the solution 1001. This mechanism impliesthat the higher the temperature, the higher the opportunity toescape from the local search space to find better solutions.More precisely, the perturbation temperature Tk is defined as

    Tk =

    8>:Tmax max

    max f(zbest) f(zk)f(zbest) f(zworst) if Hi P,

    Tmax max max

    1N

    otherwise,(6)

    where Tk (1 k N ) denotes the temperature assignedto the kth individual, Tmax the maximum temperature, maxthe maximum number of iterations LLH will be performed,and the number of iterations LLH is actually performed.Also, f() is the fitness function; zk, zbest, and zworst are,respectively, the finesses of the kth solution, the best fitness ofthe population, and the worst fitness of the population. If thelow-level heuristic is an SSBHA, it implies that no populationinformation will be available. In this case, the perturbationoperator will only use the number of iterations to decide thetemperature of the current best individual from the populationof LLH which will be passed to the newly selected LLH.

    Diversity detection

    Improvement detection

    Perturbation

    Low level heuristics

    population-based?

    PSO ACOSA GA

    YNHi

    Fig. 4. Example showing how HHSA works.

    VM VM

    VM VM VM

    VM

    VM

    VM

    VM

    VM

    Host Host

    Data Center

    (a)

    virtual task

    task

    e

    0

    1

    2

    3

    4

    5

    6

    7s

    (b)Fig. 5. Example showing how CloudSim works by assigning tasks to VMs.(a) virtual machines. (b) workflow tasks.

    B. An Example

    A simple example is given in Fig. 4 to depict how HHSAworks. As this example shows, there are two cases to deal with:one is SSBHAs while the other is PBHAs. If the randomlyselected algorithm is an SSBHA, such as simulation annealing(SA), then it will be evolved by using the improvementdetection operator to check if there is an improvement in thefitness of the current solution. On the contrary, if a PBHAis chosen, it is the diversity of the current solutions (i.e., thesolutions in the population) that will be checked by using thediversity detection operator before the improvement detectionoperator is applied. After that, the perturbation operator willbe applied to either the current solution or the populationbefore they are passed on to the newly selected LLH. Thisprocess will be repeated until the stop condition is reached. Asshown in Fig. 4, the hyper-heuristic algorithm contains manylow-level heuristic algorithms. After the candidate low-levelheuristic algorithms to be in the pool are decided, the proposedalgorithm will randomly select a low-level heuristic algorithmHi from the pool. Then, if Hi is a PBHA, the proposedalgorithm will first perform the diversity detection operator.Finally, for both the PBHA and SSBHA, the improvementdetection and perturbation operators will be performed. Theprocess will be repeated until a new low-level heuristic algo-rithm is selected.

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 7

    TABLE IPARAMETER SETTINGS OF THE FIVE CLOUD SCHEDULING ALGORITHMS

    FOR WORKFLOW SCHEDULING ON CLOUDSIM

    Algorithm Parameters

    SA temperature t = 10temperature reduce rate tr = 0.9GA mutation probability m = 0.95

    ACOpheromone updating fact = 0.1choosing probability q0 = 0.85related influence weights = = 1

    PSO inertia weight = 0.8acceleration coefficient c1 = c2 = 1.0

    HHSA max iteration of low-level algorithm max = 50non-improved iteration threshold ni = 5

    V. RESULTS

    In this section, two kinds of scheduling problems are usedto evaluate the performance of the proposed algorithm. Oneis the workflow scheduling problem; the other is the Hadoopmap-task scheduling problem.

    A. Workflow Scheduling on CloudSim

    1) Datasets and Parameter Settings: CloudSim [14] is atool for emulating a cloud computing environment. In thisstudy, CloudSim is used as the emulator in solving the work-flow scheduling problem. As shown in Fig. 5(a), CloudSim canbe used to construct a data center with a set of virtual machinesas the resource. Each task of a workflow can be started byassigning it to a VM once its parent tasks are completed. Forexample, as shown in Fig. 5(b), task 3 will be started onceits parent tasks 0 and 1 are completed. Besides, the startingand ending tasks, s and e, are virtual task and are not to beassigned to any VM. For more details and other workflowexamples, readers are referred to [49] and [50].

    The empirical analysis was conducted on an ASUS PC with2.67 GHz Intel i7-920 CPU and 4GB of memory runningFedora 12 with Linux 2.6.31 and using CloudSim to constructfour virtual machines in a data center. The workflow datasetsfrom the studies described in [51], [52] and PSPLIB [53]are employed to compare the performance of the proposedalgorithm and other scheduling algorithms evaluated in thispaper. Among these datasets, the e-Economic, fMRI, andprotein annotation have, respectively, 10, 15, and 15 tasks[51], [52] while the j30, j60, and j90 have, respectively, 30,60, and 90 tasks [53]. More precisely, fMRI is a dataset forevaluating workflow that can be processed in parallel whilee-Economic is a dataset for evaluating workflow that can beprocessed sequentially. For a scheduling problem, the datasetof [53] contains serial and parallel tasks. Each simulation wascarried out 30 runs. The maximum number of iterations eachrun is set equal to 1,000. The population size is set equal to50 for PBHAs. In HHSA, the maximum number of iterationsof low-level algorithm max is set equal to 50, and the non-improved iteration threshold ni is set equal to 5. The otherparameter settings of the scheduling algorithms are as shownin Table I.

    2) Simulation Results of Workflow Scheduling: To evaluatethe performance of HHSA for the workflow scheduling prob-lem, we compare it with two traditional rule-based algorithms

    and four heuristic algorithms, namely, min-min [54], max-min [54], simulated annealing [55], genetic algorithm [56],particle swarm optimization [57], and ant colony optimization[58]. For the datasets e-Economic, e-Protein, and fMRI, theresults in Table II show that heuristics usually can find betterresults than traditional scheduling algorithms (i.e., min-min,max-min, and FIFO) in terms of makespan. In addition, theresults of ACO are similar to those of the proposed algorithmfor the first three datasets shown in Table II. For the largedatasets, j30, j60, and j90, the results of four heuristics (SA,GA, PSO, and ACO) are better than min-min, max-min, andFIFO. Moreover, the results also show that HHSA outperformsall the other scheduling algorithms, namely, min-min, max-min, FIFO, SA, GA, PSO, and ACO for the last three datasetsshown in Table II.

    The results of best-so-far makespan given in Fig. 6 showthat the min-min and max-min get almost exactly the samemakespan in all iterations. For the SA, the higher the temper-ature which will get a larger fine-tune rate for the currentsolution, the poorer the best-so-far makespan compared tothe other non-traditional algorithms at the early iterations. Onthe other hand, with a lower temperature, SA will convergequickly. For the population-based heuristic algorithms GA,PSO, and ACO, the search directions will converge in about500 iterations. Fig. 6 also shows that HHSA converges fasterthan the other heuristic algorithms, and it usually takes nomore than 200 iterations. In addition, because HHSA is able toautomatically choose the suitable low-level heuristic algorithmand use the perturbation method to improve the results, the endresults of HHSA are usually better than the other schedulingalgorithms, especially for complex and large-scale problems.A closer look at these simulation results shows that the max-min algorithm does not scale well as the number of tasksincreases. For example, for small datasets, the results depictedin Fig. 6(a), (b), and (c) show that max-min can provide aresult that is close to the other heuristic scheduling algorithmsin terms of the makespan (more precisely, the differences areno more than 3). However, as the number of tasks increases,the results described in Fig. 6(d), (e), and (f) show that thedifferences between max-min and other heuristic schedulingalgorithms are also increased. For instance, Fig. 6(d) showsthat the differences between max-min and other heuristicscheduling algorithms are more than five; Fig. 6(e) and (f)show that the differences between them are more than ten. Onthe other hand, for the min-min algorithm, the results given inFig. 6(d), (e) and (f) show that min-min is closer to the otherheuristic scheduling algorithm than max-min for large-scaledatasets. Fig. 6 also provides the convergence informationof the scheduling algorithms compared in this study. Theresults given in Fig. 6(a) show that the search process ofthese scheduling algorithms will converge to a stable statevery quickly when the dataset is small. A good example isthe results of ACO and HHSA, which show that the result atiteration 100 is very close to the result at iteration 1,000. Butthe results depicted in Fig. 6(b) show that the search processof ACO and HHSA can still find a better result after iteration100, meaning that the heuristic scheduling algorithms still havea chance to find a better result at later iterations when the

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 8

    TABLE IISIMULATION RESULTS OF THE WORKFLOW SCHEDULING ALGORITHMS EVALUATED IN THIS STUDY

    dataset min min max min FIFO SA GA PSO ACO HHSA

    e-Economic

    AverageBest

    WorstS.D.

    5.915.915.910.00

    5.505.505.500.00

    7.007.007.000.00

    5.175.165.250.02

    5.215.165.410.09

    5.265.165.750.13

    5.165.165.160.00

    5.165.165.160.00

    e-Protein

    AverageBest

    WorstS.D.

    8.758.758.750.00

    8.758.758.750.00

    9.389.389.380.00

    7.877.628.250.17

    7.767.508.250.27

    7.837.508.50.28

    7.507.507.500.00

    7.507.507.500.00

    fMRI

    AverageBest

    WorstS.D.

    10.010.010.00.00

    10.010.010.00.00

    10.710.710.70.00

    9.749.5010.00.16

    9.649.5010.00.14

    9.669.5010.00.15

    9.509.509.500.00

    9.509.509.500.00

    j30

    AverageBest

    WorstS.D.

    18.718.718.70.00

    20.320.320.30.00

    20.520.520.50.00

    16.716.017.50.35

    15.815.016.50.35

    16.215.617.00.39

    15.815.516.20.18

    15.415.015.80.15

    j60

    AverageBest

    WorstS.D.

    37.537.537.50.00

    41.141.141.10.00

    41.541.541.50.00

    35.934.038.80.97

    33.231.534.60.78

    34.232.336.51.08

    32.731.633.20.34

    31.931.032.50.46

    j90

    AverageBest

    WorstS.D.

    56.056.056.00.00

    61.961.961.90.00

    54.054.054.00.00

    55.953.159.81.71

    50.848.553.71.20

    51.249.054.61.44

    48.948.249.80.33

    48.047.048.70.46

    N.B.: The units of measurement for each column is in seconds. S.D. represents the standard deviation.

    5

    5.2

    5.4

    5.6

    5.8

    6

    6.2

    6.4

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    MIN_MINMAX_MIN

    SAGA

    PSOACO

    HHSA

    (a) e-Economic

    7.5

    8

    8.5

    9

    9.5

    10

    10.5

    11

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    MIN_MINMAX_MIN

    SAGA

    PSOACO

    HHSA

    (b) e-Protein

    9.5

    10

    10.5

    11

    11.5

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    MIN_MINMAX_MIN

    SAGA

    PSOACO

    HHSA

    (c) fMRI

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    MIN_MINMAX_MIN

    SAGA

    PSOACO

    HHSA

    (d) j30

    30

    35

    40

    45

    50

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    MIN_MINMAX_MIN

    SAGA

    PSOACO

    HHSA

    (e) j60

    50

    55

    60

    65

    70

    0 200 400 600 800 1000

    bes

    t so

    far

    mak

    espan

    Iteration

    MIN_MINMAX_MIN

    SAGA

    PSOACO

    HHSA

    (f) j90

    Fig. 6. Convergence analysis by best-so-far makespan.

    dataset becomes large. In Fig. 6(c) to (f), this kind of resultsbecomes quite clear. In addition, based on the observations ofthe convergence of these scheduling algorithms, we can easilyknow their performance. For example, for small datasets, theconvergence speeds of ACO and HHSA described in Fig. 6(a),(b), and (c) are quite close to each other. However, as thenumber of tasks increases, the convergence speeds of ACOand HHSA are as shown in Fig. 6(d), (e), and (f). They showthat HHSA has a higher chance to find a better result thanACO does because it keeps finding a better result after theACO has reached a stable state.

    B. Hadoop map-task scheduling1) Datasets and Parameter Settings: Another distributed

    system, Hadoop, provides slots as the resources to be allocated

    to the independent jobs, as shown in Fig. 7. Each job willbe divided into multiple independent map tasks according toa predefined map size, and the number of reduce tasks isgiven when submitting the jobs to the Hadoop cluster. Eachscheduler is carried out for 30 runs, with Hadoop restartedat the end of each run. The maximum number of iterationseach run is set equal to 50; the population size is set equalto 10 for PBHAs. The parameter settings of the schedulingalgorithms of Hadoop are slightly different from those used inthe simulations on CloudSim and are as shown in Table III. Bythe nature of most evolutionary algorithms, the computation offitness (makespan in this case) is required. In order to computethe makespan, the algorithm needs to know the job size andthe processing speed. For the simulations, both attributes aregiven in the dataset. But on Hadoop users can only acquire the

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 9

    slot

    slot

    slot

    slot

    slot

    slot

    slot

    1

    2

    Map Reduce

    Job

    Task

    Fig. 7. Job executing on Hadoop.

    TABLE IIIPARAMETERS OF THE FIVE CLOUD SCHEDULING ALGORITHMS

    EVALUATED

    Algorithm Parameters

    SA temperature t = 10temperature reduce rate tr = 0.9GA mutation probability m = 0.95

    ACOtrail persistence = 0.8choosing probability q0 = 0.85relative importance = = 1

    PSO inertia weight = 0.8acceleration coefficient c1 = c2 = 1.0

    HHSA the max number of iterations of LLH max = 50the max number of non-improved iterations ni = 10

    size of each map task. The size of each reduce task remainsunknown. Since the makespan of each reduce task cannot bepredicted, only map task scheduling is applicable. Therefore,for the proposed algorithm, our focus is on scheduling tasksto map slots.

    As mentioned previously, in addition to the size of eachmap task, we also need the processing speed of each task. Toobtain this critical attribute, the algorithm first checks if thejob exists in the record of processing speed. If not, one of thetasks in the job will be prioritized and scheduled immediately.After the map task is finished, we can divide the size of themap task by the processing time to get the speed which thencan be used to calculate the processing time of the rest of themap tasks and to predict the total makespan.

    In order to simulate the production environment, the jobinter-arrival times in the experiment are roughly exponentiallydistributed with a mean of 14 seconds, as randomly sampledfrom a Facebook trace [41]. The datasets for the grep jobs onHadoop are strings each of size 100 bytes and each on a lineby itself randomly generated using a Python script. The sizesand submission periods are also randomly generated based onthe statistics described in [41]. Fifty jobs are submitted in theexperiment, and the total submission schedule is 13 minuteslong. The sizes and the distributions of the jobs are as listedin Table IV. In this study, we also tried submitting larger jobsin a shorter period. More precisely, in the test, jobs to sort two1GB, two 3GB, two 5GB, and one 10GB files are submittedin one minute.

    In this study, Hadoop was running on both single-node(machine) and multi-node setups in a virtualized environment.The single-node setup is an Intel i7-3820 with 64G RAM,which runs Gentoo Linux with kernel version 3.7.10. Hadoopwas compiled from source version 1.1.3 using sun-jdk-1.6toolchain. By properly configuring the map and task capacitiesof Hadoop, a single machine can still provide multiple working

    TABLE IVDATASET GENERATED FOR BENCHMARK

    # Maps % Jobs in Benchmark # Jobs in Benchmark1 56% 282 14% 7

    3-20 16% 821-60 14% 7

    slots. For example, a machine with 8 map task capacitiesis equivalent to a cluster consisting of 4 machines each ofwhich provide 2 map task capacities. Meanwhile, each slotcan be treated as an independent virtual machine in theCloud environment, which can also be mapped to the virtualmachines of CloudSim in the simulation.

    For the multi-node setup, the Hadoop cluster was running onfour virtual machines hosted on a cluster with AMD Opteron6128 processors running XenServer. Each virtual machine haseight cores and 16GB RAM and runs CentOS with kernelversion 2.6.32. Hadoop was compiled from source version1.1.3 using sun-jdk-1.6 toolchain. One of the four virtualmachines is configured as the worker and job tracker nodefor scheduling jobs. The other three are configured as workernodes. Each node is configured with 4 map slots, implyingthat there are total 16 map slots.

    This study uses the map/reduce grep program distributedwith Hadoop for the benchmark. The datasets are randomlygenerated so that each line contains 100 bytes of data. Toevaluate the performance of HHSA, the same datasets are fedto FIFO and Fair Scheduler [41]. For larger datasets, TeraSort[59], which is also provided by Hadoop, is used to generateand sort the data. Moreover, another dataset, retrieved fromthe log of 1998 World Cup website [60] provided by InternetTraffic Archive, for analyzing the web user access behavior isused to evaluate the performance of the proposed algorithmwhen it is applied to a real complex scheduling problem. Inthis experiment, the data are used by a map/reduce web loganalyzer to calculate the reference counts of URLs.

    2) Simulation Results of Hadoop map-task scheduling:The experimental results of Hadoop are as shown in Table Vand Table VI. For the grep jobs, the three schedulers givethe similar results in both the single-node and multi-nodesetup. The results show that for the grep jobs, the Hadoopcluster was under-loaded, meaning that when new jobs arrived,previous jobs and tasks had already finished, thus making thescheduling results, i.e., the performance, of three schedulerssimilar to each other. This is justified by the average taskwaiting time depicted in Fig. 10, to be discussed in latersection.

    When facing a burst, HHSA can make a better schedulingdecision. For the TeraSort jobs, HHSA outperforms the othertwo schedulers. In the single-node setup, HHSA beats FairScheduler and FIFO by 17.19% and 30.75%, respectively, onaverage. In the multi-node setup, HHSA again outperformsthe other two schedulers. On average, HHSA is 11.36%faster than FIFO and 4.56% faster than Fair Scheduler. Asthe results show, by optimizing the makespan, HHSA canprovide a better scheduling decision in terms of the best-so-farmakespan. The results of web log analyzer show that HHSA

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 10

    performs marginally better than FIFO, by 2.62% and 0.25%,respectively, in the single-node and multi-node setup. This isdue to the fact that the web log analyzing job takes O(n)time; thus, the time costs for all the tasks are very close toeach other. Under this circumstance, FIFO can easily producea good schedule that is close to that produced by the proposedalgorithm. On the other hand, the time cost of each TeraSorttask varies greatly, thus largely increasing the difficulty ofscheduling. In this case, HHSA outperforms the other twoschedulers significantly.

    The performance of FIFO and HHSA on CloudSim andHadoop is as shown in Table VII. For both CloudSim andHadoop, a set of jobs the size of which are close to thoseof TeraSort benchmarks are generated and used. Then, thesize of each task is randomly generated so that it falls inthe range of 64MB 30%; each job will be divided into aset of smaller tasks of the same size though the processingtime of each task is still not necessarily the same. Whenmost tasks are of the same size, FIFO, which uses greedystrategy to scheduling tasks, can achieve a high utilization andgood makespan. However, when the tasks are of different size,FIFO will become the worst method. Moreover, the simulationresults also show that HHSA outperforms FIFO, especiallywhen the problem is complex. The results are consistent withthose of Table II, where the sizes of jobs in the datasets forCloudSim are more diverse than those in this experiment.

    C. Analysis

    The maximum number of iterations of LLH max and themaximum number of non-improved iterations ni set up forthe workflow scheduling problem may not be suitable for theHadoop map-task scheduling problem. As such, to evaluate theperformance of HHSA for the Hadoop map-task schedulingproblem, four datasets with a varying number of independenttasks, namely, 25 tasks, 50 tasks, 100 tasks, and 200 tasks, areused. Here, our focus is on the average makespan of 30 runswith max in the range of 20 to and ni in the range of 1 to where is the maximum number of iterations of HHSA.This experiment is aimed at measuring the performance ofHHSA when applying to the Hadoop map-task schedulingproblem with the population size fixed at 50 for the PBHAs.This eventually takes into consideration all the combinationsof the parameter settings shown in Table VIII.

    1) The maximum number of iterations of LLH: Fig. 8 showsthe makespans for a varying maximum number of iterationsof LLH max in the range [20,] and a varying maximumnumber of iterations {250, 500, 750, 1000} for eachdataset. It is worth noting that the maximum number of non-improved iterations ni is set equal to max. This test is aimedto help us understand whether the value of max will influencethe scheduling result. As the results in Fig. 8 show, thelarger the number of iterations, the better the makespan. Forinstance, 250 iterations give a worse result than the other threecases. The results further show that the lower the maximumnumber of iterations of low-level algorithm max, the betterthe makespan. Apparently, as the value of max approaches themaximum number of iterations, it implies that the probability

    TABLE VPERFORMANCE OF HHSA ON HADOOP WITH SINGLE-NODE (IN

    SECONDS)

    Task Type FIFO Fair Scheduler HHSA

    grep

    AverageBest

    WorstS.D.

    8588578621.00

    8618598641.41

    8598508665.19

    Log Analyzer

    AverageBest

    WorstS.D.

    10651042109414.93

    1040103710482.65

    1037101810486.78

    TeraSort

    AverageBest

    WorstS.D.

    904838102443.54

    756710833

    29.42

    626531829

    66.98

    TABLE VIPERFORMANCE OF HHSA ON HADOOP WITH MULTI-NODE (IN SECONDS)

    Task Type FIFO Fair Scheduler HHSA

    grep

    AverageBest

    WorstS.D.

    8518488612.23

    8528438613.87

    8538488613.16

    Log Analyzer

    AverageBest

    WorstS.D.

    795752832

    21.07

    802749876

    26.67

    793741829

    22.56

    TeraSort

    AverageBest

    WorstS.D.

    11801077132665.12

    10961027124946.97

    1046932

    117866.02

    TABLE VIIPERFORMANCE OF HHSA ON CLOUDSIM AND HADOOP (IN SECONDS)

    Platform FIFO HHSA

    CloudSim

    AverageBest

    WorstS.D.

    9899899890.00

    952937980

    12.29

    Hadoop (Multi-Node)

    AverageBest

    WorstS.D.

    11801077132665.12

    1046932117866.02

    TABLE VIIIPARAMETER SETTINGS FOR THE ANALYSIS

    Parameter Settingsmax number of iterations () 250, 500, 750, 1000max number of iterations of LLH (max) [20,]max number of non-improved iterations (ni) [1,]

    of using LLH is getting smaller. In the worse case, only oneof the LLHs will be used. That is, HHSA will degenerate toone of the low-level heuristics, which in turn will reduce thechance of balancing the intensification and diversification inthe search of solutions. In addition, Fig. 8(b), (c) and (d) showthat for problems larger than that given in Fig. 8(a), a similarresult is obtained; that is, decreasing the value of max for theproposed algorithm can provide better results in most cases interms of makespan. Consequently, as Fig. 8 shows, the smallerthe value of max, the better the makespan.

    2) The maximum number of non-improved iterations:Furthermore, Fig. 9 shows the makespans for a vary-ing maximum number of non-improved iterations ni {1, 2, ,} and a varying maximum number of iterations {250, 500, 750, 1000} for each dataset. In order to

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 11

    25.5

    25.55

    25.6

    25.65

    25.7

    25.75

    25.8

    25.85

    25.9

    25.95

    26

    26.05

    0 200 400 600 800 1000

    mak

    esp

    an

    LLH max iterations

    250500750

    1000

    (a) Average makespan of 25 tasks

    49.4

    49.5

    49.6

    49.7

    49.8

    49.9

    50

    50.1

    50.2

    0 200 400 600 800 1000

    mak

    esp

    an

    LLH max iterations

    250500750

    1000

    (b) Average makespan of 50 tasks

    74.6

    74.8

    75

    75.2

    75.4

    75.6

    75.8

    0 200 400 600 800 1000

    mak

    esp

    an

    LLH max iterations

    250500750

    1000

    (c) Average makespan of 100 tasks

    164

    164.5

    165

    165.5

    166

    166.5

    167

    0 200 400 600 800 1000

    mak

    esp

    an

    LLH max iterations

    250500750

    1000

    (d) Average makespan of 200 tasks

    Fig. 8. Average makespan for a varying number of tasks and max.

    25.5

    25.6

    25.7

    25.8

    25.9

    26

    26.1

    0 200 400 600 800 1000

    mak

    esp

    an

    non-improve iterations

    250500750

    1000

    (a) Average makespan of 25 tasks

    49.4

    49.5

    49.6

    49.7

    49.8

    49.9

    50

    50.1

    50.2

    50.3

    0 200 400 600 800 1000

    mak

    esp

    an

    non-improve iterations

    250500750

    1000

    (b) Average makespan of 50 tasks

    74.4

    74.6

    74.8

    75

    75.2

    75.4

    75.6

    75.8

    76

    76.2

    0 200 400 600 800 1000

    mak

    esp

    an

    non-improve iterations

    250500750

    1000

    (c) Average makespan of 100 tasks

    164

    164.5

    165

    165.5

    166

    166.5

    167

    0 200 400 600 800 1000

    mak

    esp

    an

    non-improve iterations

    250500750

    1000

    (d) Average makespan of 200 tasks

    Fig. 9. Average makespans for a varying number of tasks and ni.

    eliminate the influence the maximum number of iterationsof the selected LLH may have, the value of max is alwaysset equal to the maximum number of iterations . When themaximum number of non-improved iterations is set equal toa small value, it means that if the best-so-far makespan ofthe selected LLH is not improved within the given numberof iterations, the selected LLH will be replaced by anotherLLH. This implies that a smaller value of ni will increasethe diversity of the search directions of the selected LLH, thusimproving the quality for not only the small problem shownin Fig. 9(a) but also the larger and complex problems depictedin Fig. 9(b), (c), and (d). In contrast, a larger value of ni willincrease the speed of convergence. Since the diversity and thequality of makespan may not be improved at the same time,our observation shows that a suitable value of ni can not onlyget a better mean makespan, it also uses LLH more efficiently.

    3) The average task waiting time: The average task waitingtimes for grep and TeraSort in the single-node and multi-node setup on Hadoop are as shown in Fig. 10. The smallwaiting times of grep given in Fig. 10(a) imply that thecluster is under-loaded and thus most tasks can be scheduledimmediately. These results also explain that for small datasetsin a cluster that is under-loaded, the performance of thesescheduling algorithms is pretty much the same. On the otherhand, the results of TeraSort described in Fig. 10(b) indicatethat for large datasets in a cluster that is fully loaded, comparedto FIFO, HHSA can reduce the average task waiting time ofTeraSort by 29.04%2 and 12.49%,3 respectively, in the single-node and multi-node setup. This means that by optimizing themakespan, tasks in the queue can be completed earlier; thus,

    2[(374.90 266.03)/374.90] 100 = 29.04%.3[(432.60 378.56)/432.60] 100 = 12.49%.

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 12

    0

    2

    4

    6

    8

    FIFO Fair HHSA

    Tim

    ein

    seco

    nds

    Scheduler

    single-nodemulti-node

    2.00 1.93

    1.27

    5.004.80

    5.10

    (a) grep

    200

    300

    400

    500

    FIFO Fair HHSA

    Tim

    ein

    seco

    nds

    Scheduler

    single-nodemulti-node

    374.90

    303.97

    266.03

    432.60

    381.93 378.57

    (b) TeraSort

    Fig. 10. Average task waiting times for grep and TeraSort.

    incoming tasks can be scheduled sooner and the average taskwaiting time can be further reduced. Moreover, the results ofHHSA for TeraSort on Hadoop show that HHSA takes only0.0144 milliseconds on average, meaning that the computationtime of HHSA is negligible in most cases.

    4) The cloud rental payment: In terms of makespan, onHadoop, HHSA is about 11.36% faster than FIFO on average.The multi-node setup used in this paper is based on theStandard On-Demand Extra Large Instances of AmazonElastic MapReduce service [61], which costs 0.12 US dollarsper hour. Though the proposed algorithm described hereinis aimed at optimizing the makespan instead of the budget.The reality is that by reducing the makespan, it also reducesthe total cost of cloud service. According to the pricing andtaking into account the improvement of the makespan, theproposed method can reduce 0.12 11.36% = 0.014 USdollars per hour for each standard on-demand extra largeinstance. Although HHSA takes a longer computation timethan the other schedulers, the difference is negligible becauseit is compensated by a better makespan, which will save muchmore time than HHSA takes.

    D. Summary

    As mentioned in Section II-A2, the characteristics of acloud system are quite different from those of the informationsystems available today. A typical characteristic of a cloudsystem is in that the number of tasks it has to handle is muchlarger than that an information system available today has tohandle, thus making it hard to schedule all the tasks. Anothertypical characteristic that affects the design of schedulingalgorithms for a cloud system is in that a cloud system usuallycontains a number of virtual machines (or nodes) that add moreuncertainties for task scheduling. Still another characteristic isin that a cloud system usually has many heterogeneous tasks tobe scheduled, thus making it much more difficult to schedulethan tasks on the information systems available today.

    To solve these problems, a high-performance schedulingalgorithm which can provide a better scheduling result in

    a reasonable time is needed. This explains why a hyper-heuristic-based scheduling algorithm is presented in this paper,which uses various search strategies to solve the schedulingproblem of a cloud for providing a better result than tradi-tional scheduling algorithms and other heuristic schedulingalgorithms do. Because the design of the proposed algorithmis not for a particular cloud system, it can be applied tomany applications that require task scheduling, such as sci-ence computing on Cloud. But the high latency inherent inthe heuristic-based algorithms will make them unsuitable forthe low-level scheduling of IaaS. Moreover, to the best ofour knowledge, there exists no general and efficient way toautomatically determine the number of resources that is usedfor each application for a very simple reason. The numberof resources required may differ for different input to theapplication.

    Compared to most traditional rule-based deterministicscheduling algorithms (e.g., min-min, max-min, and FIFO)that use only one search direction, the proposed algorithmuses multiple search directions at each iteration during theconvergence process, thus having a higher chance to find abetter result than the rule-based deterministic algorithms do.The results depicted in Sections V-A2 and V-B2 and Table VIshow that in terms of makespan, the proposed algorithm out-performs the traditional scheduling algorithms in most cases,for not only the single-node but also the multi-node datasets.Compared to the other heuristic scheduling algorithms, theproposed algorithm, again in terms of makespan, can stillprovide a better result than the other heuristic schedulingalgorithms, in terms of not only the results of CloudSimbut also the results of Hadoop, as shown in Sections V-A2and V-B2. One of the reasons that can be easily justified isthat HHSA leverages the strengths of many search strategiesprovided by different heuristic scheduling algorithms (low-level algorithms), thus making it more diverse in terms ofthe directions for which it searches during the convergenceprocess, especially when compared to the other heuristicscheduling algorithms.

    For the stability issue, HHSA is not designed for inter-connectivity and locality because they will degrade the per-formance of Hadoop. As the authors of [62] pointed out, ifthe nodes of a virtualized Hadoop cluster actually reside inthe same physical node, the overhead incurred for transferringdata between these nodes is generally smaller than transferringthe data between physical nodes. Hence, if the overhead ofconnection is too large but the scheduling problem is too small,the performance of the proposed algorithm will be degraded;otherwise, the performance of the proposed algorithm will bebetter than the other scheduling algorithms, especially whenthe scheduling problem becomes too complex or too large.

    VI. CONCLUSIONSThis study presents a high-performance hyper-heuristic al-

    gorithm to find better scheduling solutions for cloud com-puting systems. The proposed algorithm uses two detectionoperators to automatically determine when to change the low-level heuristic algorithm and a perturbation operator to fine-tune the solutions obtained by each low-level algorithm to

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 13

    further improve the scheduling results in terms of makespan.As the simulation results show, the proposed algorithm cannot only provide better results than the traditional rule-basedscheduling algorithms, it also outperforms the other heuristicscheduling algorithms, in solving the workflow scheduling andHadoop map-task scheduling problems on cloud computingenvironments. In addition, the simulation results show furtherthat the proposed algorithm converges faster than the otherheuristic algorithms evaluated in this study for most of thedatasets. In brief, the basic idea of the proposed hyper-heuristic algorithm is to leverage the strengths of all the low-level algorithms while not increasing the computation time,by running one and only one low-level algorithm at eachiteration. This is fundamentally different from the so-calledhybrid heuristic algorithm, which runs more than one low-level algorithm at each iteration, thus requiring a much longercomputation time. Our experiences show that the proposedalgorithm can be applied to different cloud computing systemsto enhance the performance of scheduling problems. In thefuture, our focus will be on finding more effective detectionoperators and perturbation method to enhance the performanceof the proposed algorithm. We will also attempt to applyHHSA to different research domains.

    ACKNOWLEDGMENT

    The authors would like to thank the editors and anonymousreviewers for their valuable comments and suggestions on thepaper that greatly improve the quality of the paper.

    REFERENCES[1] M. Pinedo, Scheduling: Theory, Algorithms and Systems. Prentice Hall,

    Inc., 1995.[2] P. Chretienne, E. G. Coffman, J. K. Lenstra, and Z. Liu, Eds., Scheduling

    Theory and Its Applications. John Wiely & Sons Ltd, 1995.[3] A. Allahverdi, C. T. Ng, T. C. E. Cheng, and M. Y. Kovalyov, A survey

    of scheduling problems with setup times or costs, European Journal ofOperational Research, vol. 187, no. 3, pp. 9851032, 2008.

    [4] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski,G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia, A viewof cloud computing, Communications of the ACM, vol. 53, no. 4, pp.5058, 2010.

    [5] I. Foster, Y. Zhao, I. Raicu, and S. Lu, Cloud computing and gridcomputing 360-degree compared, in Proceedings of the Grid Comput-ing Environments Workshop, 2008, pp. 110.

    [6] K. Bilal, M. Manzano, S. Khan, E. Calle, K. Li, and A. Zomaya, Onthe characterization of the structural robustness of data center networks,IEEE Transactions on Cloud Computing, vol. 1, no. 1, pp. 6477, 2013.

    [7] X. Lei, X. Liao, T. Huang, H. Li, and C. Hu, Outsourcing large matrixinversion computation to a public cloud, IEEE Transactions on CloudComputing, vol. 1, no. 1, pp. 7887, Jan 2013.

    [8] M. R. Garey and D. S. Johnson, Computer and Intractability: A Guideto the Theory of NP-Completeness. New York: W.H. Freeman andCompany, 1979.

    [9] C. W. Tsai and J. Rodrigues, Metaheuristic scheduling for cloud: Asurvey, IEEE Systems Journal, vol. 8, no. 1, pp. 279297, 2014.

    [10] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, Optimization bysimulated annealing, Science, vol. 220, no. 4598, pp. 671680, 1983.

    [11] J. H. Holland, Adaptation in Natural and Artificial Systems: An Intro-ductory Analysis with Applications to Biology, Control, and ArtificialIntelligence. University of Michigan Press, 1975.

    [12] J. Kennedy and R. C. Eberhart, Particle swarm optimization, inProceedings of the IEEE International Conference on Neural Networks,1995, pp. 19421948.

    [13] M. Dorigo and L. M. Gambardella, Ant colony system: A cooperativelearning approach to the traveling salesman problem, IEEE Transac-tions on Evolutionary Computation, vol. 1, no. 1, pp. 5366, 1997.

    [14] R. N. Calheiros, R. Ranjan, C. A. F. De Rose, and R. Buyya, Cloudsim:A novel framework for modeling and simulation of cloud comput-ing infrastructures and services, Computing Research Repository, vol.abs/0903.2525, 2009.

    [15] J. Bazewicz, K. H. Ecker, E. Pesch, G. Schmidt, and J. Weglarz,Scheduling Computer and Manufacturing Processes. Springer-VerlagNew York, Inc., 2001.

    [16] Y. T. J. Leung, Handbook of Scheduling: Algorithms, Models andPerformance Analysis. Chapman & Hall/CRC, 2004.

    [17] K. M. Elsayed and A. K. Khattab, Channel-aware earliest deadline duefair scheduling for wireless multimedia networks, Wireless PersonalCommunications, vol. 38, no. 2, pp. 233252, 2006.

    [18] W. H. Kohler, A preliminary evaluation of the critical path methodfor scheduling tasks on multiprocessor systems, IEEE Transactions onComputers, vol. C-24, no. 12, pp. 12351238, 1975.

    [19] R. Ingalls and D. Morrice, PERT scheduling with resources using qual-itative simulation graphs, in Proceedings of the Simulation Conference,vol. 1, 2000, pp. 362370.

    [20] H.-J. Schutz and R. Kolisch, Approximate dynamic programmingfor capacity allocation in the service industry, European Journal ofOperational Research, vol. 218, no. 1, pp. 239250, 2012.

    [21] D. Shi and T. Chen, Optimal periodic scheduling of sensor networks: Abranch and bound approach, Systems & Control Letters, vol. 62, no. 9,pp. 732738, 2013.

    [22] S. M. Johnson, Optimal two- and three-stage production schedules withsetup times included, Naval Research Logistics Quarterly, vol. 1, no. 1,pp. 6168, 1954.

    [23] M. R. Garey, D. S. Johnson, and R. Sethi, The complexity of flowshopand jobshop scheduling, Mathematics of Operations Research, vol. 1,no. 2, pp. 117129, 1976.

    [24] D. Daniel and S. J. Lovesum, A novel approach for scheduling servicerequest in cloud with trust monitor, in Proceedings of the InternationalConference on Signal Processing, Communication, Computing and Net-working Technologies, 2011, pp. 509513.

    [25] Z. Wu, X. Liu, Z. Ni, D. Yuan, and Y. Yang, A market-orientedhierarchical scheduling strategy incloud workflow systems, The Journalof Supercomputing, pp. 138, 2011.

    [26] B. Saovapakhiran, G. Michailidis, and M. Devetsikiotis, Aggregated-dag scheduling for job flow maximization in heterogeneous cloudcomputing, in Proceedings of the IEEE Global TelecommunicationsConference, 2011, pp. 16.

    [27] M. Rahman, X. Li, and H. Palit, Hybrid heuristic for schedulingdata analytics workflow applications in hybrid cloud environment, inProceedings of the IEEE International Symposium on Parallel andDistributed Processing Workshops, 2011, pp. 966974.

    [28] Apache Hadoop. [Online]. Available: http://hadoop.apache.org[29] Y. M. Huang and Z. H. Nie, Cloud computing with Linux and Apache

    Hadoop. [Online]. Available: http://www.ibm.com/developerworks/aix/library/au-cloud apache/

    [30] B. David, Open source cloud computing withHadoop. [Online]. Available: http://www.linuxjournal.com/content/open-source-cloud-computing-hadoop

    [31] A. ODriscoll, J. Daugelaite, and R. D. Sleator, Big data, Hadoopand cloud computing in genomics, Journal of Biomedical Informatics,vol. 46, no. 5, pp. 774781, 2013.

    [32] Y. Song, M. Wu, and L. Yang, Study of smart grid marketing systemarchitecture based on Hadoop platform of cloud computing, Journal ofCommunication and Computer, vol. 9, pp. 741743, 2012.

    [33] A. Bala and I. Chana, A survey of various workflow scheduling algo-rithms in cloud environment, in Proceedings of the National Conferenceon Information and Communication Technology, 2011, pp. 2630.

    [34] N. Kaur, T. S. Aulakh, and R. S. Cheema, Comparison of workflowscheduling algorithms in cloud computing, International Journal ofAdvanced Computer Science and Applications, vol. 2, no. 10, pp. 8186,2011.

    [35] J. Li, M. Qiu, Z. Ming, G. Quan, X. Qin, and Z. Gu, Onlineoptimization for scheduling preemptable tasks on IaaS cloud systems,Journal of Parallel and Distributed Computing, vol. 72, no. 5, pp. 666677, 2012.

    [36] J. Li, M. Qiu, J. Niu, Y. Chen, and Z. Ming, Adaptive resourceallocation for preemptable jobs in cloud systems, in Proceedingsof the International Conference on Intelligent Systems Design andApplications, 2010, pp. 3136.

    [37] C. Lin and S. Lu, Scheduling scientific workflows elastically for cloudcomputing, in Proceedings of the IEEE International Conference onCloud Computing, 2011, pp. 746747.

  • 2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing

    IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX 14

    [38] S. Abrishami and M. Naghibzadeh, Deadline-constrained workflowscheduling in software as a service cloud, Scientia Iranica, vol. 19,no. 3, pp. 680689, 2012.

    [39] Y. C. Lee, C. Wang, A. Y. Zomaya, and B. B. Zhou, Profit-drivenscheduling for cloud services with data access awareness, Journal ofParallel and Distributed Computing, vol. 72, no. 4, pp. 591602, 2012.

    [40] K. Kousalya and P. Balasubramanie, Ant algorithm for grid schedulingpowered by local search, International Journal of Open Problems inComputer Science and Mathematics, vol. 1, no. 3, pp. 222240, 2008.

    [41] M. Zaharia, D. Borthakur, J. Sen Sarma, K. Elmeleegy, S. Shenker, andI. Stoica, Delay scheduling: a simple technique for achieving localityand fairness in cluster scheduling, in Proceedings of the Europeanconference on Computer systems, 2010, pp. 265278.

    [42] Yahoo!, Hadoop capacity scheduler. [Online]. Available:http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html

    [43] H. H. Hoos and T. Stutzle, Stochastic Local Search: Foundations &Applications. Elsevier / Morgan Kaufmann, 2004.

    [44] P. Cowling and G. Kendall, A hyperheuristic approach to scheduling asales summit, in Proceedings of the Practice and Theory of AutomatedTimetabling III, 2001, pp. 176190.

    [45] P. I. Cowling, G. Kendall, and E. Soubeiga, A hyperheuristic approachto scheduling a sales summit, in Proceedings of the Practice and Theoryof Automated Timetabling, 2000, pp. 176190.

    [46] B. K. Ambati, J. Ambati, and M. M. Mokhtar, Heuristic combinatorialoptimization by simulated Darwinian evolution: A polynomial timealgorithm for the traveling salesman problem, Biological Cybernetics,vol. 65, no. 1, pp. 3135, 1991.

    [47] L. Y. Tseng and S. B. Yang, A genetic approach to the automaticclustering problem, Pattern Recognition, vol. 34, no. 2, pp. 415424,2001.

    [48] D. Laha and U. Chakraborty, An efficient hybrid heuristic for makespanminimization in permutation flow shop scheduling, The InternationalJournal of Advanced Manufacturing Technology, vol. 44, no. 5-6, pp.559569, 2009.

    [49] L. Ramakrishnan, C. Koelbel, Y.-S. Kee, R. Wolski, D. Nurmi, D. Gan-non, G. Obertelli, A. YarKhan, A. Mandal, T. M. Huang, K. Thyagaraja,and D. Zagorodnov, VGrADS: Enabling e-science workflows on gridsand clouds with fault tolerance, in Proceedings of the Conference onHigh Performance Computing Networking, Storage and Analysis, 2009,pp. 47:147:12.

    [50] M. Mao and M. Humphrey, Auto-scaling to minimize cost and meetapplication deadlines in cloud workflows, in Proceedings of the In-ternational Conference for High Performance Computing, Networking,Storage and Analysis, 2011, pp. 112.

    [51] Y. Zhao, M. Wilde, I. Foster, J. Voeckler, T. Jordan, E. Quigg, andJ. Dobson, Grid middleware services for virtual data discovery, compo-sition, and integration, in Proceedings of the Workshop on Middlewarefor Grid Computing, 2004, pp. 5762.

    [52] A. OBrien, S. Newhouse, and J. Darlington, Mapping of scientificworkflow within the e-protein project to distributed resources, inProceedings of the UK e-Science All Hands Meeting, UK, 2004, pp.404409.

    [53] R. Kolisch and A. Sprecher, PSPLIB - a project scheduling problemlibrary: OR software - ORSEP operations research software exchangeprogram, European Journal of Operational Research, vol. 96, no. 1,pp. 205216, 1997.

    [54] J. Blythe, S. Jain, E. Deelman, Y. Gil, and K. Vahi, Task schedulingstrategies for workflow-based applications in grids, in Proceedings ofthe IEEE International Symposium on Cluster Computing and the Grid,2005, pp. 759767.

    [55] S. Benedict and V.Vasudevan, Scheduling of scientific workflows usingsimulated annealing algorithm for computational grids, in Proceedingsof the International Journal of Soft Computing, vol. 2, no. 5, 2007, pp.606611.

    [56] J. Yu and R. Buyya, A budget constrained scheduling of workflowapplications on utility grids using genetic algorithms, in Proceedingsof the Workflows in Support of Large-Scale Science, 2006, pp. 110.

    [57] T. Chen, B. Zhang, X. Hao, and Y. Dai, Task scheduling in grid basedon particle swarm optimization, in Proceedings of the InternationalSymposium on Parallel and Distributed Computing, 2006, pp. 238245.

    [58] W. N. Chen and J. Zhang, An ant colony optimization approach to a gridworkflow scheduling problem with various QoS requirements, IEEETransactions on Systems, Man, and Cybernetics, Part C: Applicationsand Reviews, vol. 39, no. 1, pp. 2943, 2009.

    [59] O. OMalley, TeraByte Sort on Apache Hadoop. [Online]. Available:http://sortbenchmark.org/YahooHadoop.pdf

    [60] I. T. Archive, World Cup 98. [Online]. Available: http://ita.ee.lbl.gov/html/contrib/WorldCup.html

    [61] Amazon, Amazon elastic mapreduce. [Online]. Available: http://aws.amazon.com/elasticmapreduce

    [62] H. S. Shin, K. H. Kim, C. Y. Kim, and S. I. Jung, The new approachfor inter-communication between guest domains on virtual machinemonitor, in Proceeding of the International Symposium on Computerand information sciences, 2007, pp. 16.

    Chun-Wei Tsai received the M.S. degree in Man-agement Information System from National Ping-tung University of Science and Technology, Ping-tung, Taiwan in 2002, and the Ph.D. degree inComputer Science from National Sun Yat-sen Uni-versity, Kaohsiung, Taiwan in 2009. He was alsoa postdoctoral fellow with the Department of Elec-trical Engineering, National Cheng Kung University,Tainan, Taiwan before joining the faculty of AppliedGeoinformatics and then the faculty of InformationTechnology, Chia Nan University of Pharmacy &

    Science, Tainan, Taiwan in 2010 and 2012, respectively, where he is currentlyan Assistant Professor. His research interests include information retrieval,evolutionary computation, internet technology, and combinatorial optimiza-tion. Wei-Cheng Huang received the B.S. degree in

    Computer Science and Information Engineeringfrom National Pingtung Institute of Commerce,Pingtung, Taiwan, in 2010, and the M.S. degreein Computer Science and Engineering from Na-tional Sun Yat-sen University, Kaohsiung, Taiwan,in 2012. He is currently pursuing the Ph.D. degreein Computer Science and Engineering from NationalSun Yat-sen University. His current research inter-ests include evolutionary computation, clustering,scheduling, and cloud computing.Meng-Hsiu Chiang received the B.S. degree inComputer Science and Engineering from NationalSun Yat-sen University, Kaohsiung, Taiwan, in 2010.He is cur