Heuristic Algorithms for Task Scheduling in Cloud Computing: A Survey

Автор: Nasim Soltani, Behzad Soleimani, Behrang Barekatain

Журнал: International Journal of Computer Network and Information Security(IJCNIS) @ijcnis

Статья в выпуске: 8, 2017 года.

Бесплатный доступ

Cloud computing became so important due to virtualization and IT systems in this decade. It has introduced as a distributed and heterogeneous computing pattern to sharing resources. Task Scheduling is necessary to make high performance heterogeneous computing. The optimization of related parameters, and using heuristic and meta-heuristic algorithms can lead to a reduction of the search space complexity and execution time. So, several studies have tried using a variety of algorithms to solve this issue and improve relative efficiency in their environments. This paper considered examines existing heuristic task scheduling algorithms. First, the concepts of scheduling, the layer of cloud computing, especially scheduling concept in the SaaS and PaaS layer, the main limits for improving the quality of service, evaluation methods of algorithms and applied tools for evaluating these ideas and practical experimental used methods were discussed and compared. Finally, future works in this area were also concluded and a summary of this article is presented in the form of a mind map.

Еще

Cloud Computing, Quality of Service, Optimization, Heuristic Algorithms

Короткий адрес: https://sciup.org/15011870

IDR: 15011870

Текст научной статьи Heuristic Algorithms for Task Scheduling in Cloud Computing: A Survey

Published Online August 2017 in MECS DOI: 10.5815/ijcnis.2017.08.03

Type Cloud has brought a fundamental difference with traditional Information Technology. By sharing resources cloud is capable of serving user requests cost-effectively and affordably. To achieve maximum benefit for provider and increasing the quality of service (QoS), it should ideally be scheduled. Cloud computing has changed the network and architecture of computer systems. Companies can lower costs, save energy, and automatically upgrade their systems by replacing traditional computer systems and equipment with cloud computing services [1] .

Schedule tasks to determine how to allocate users to virtual machines and critical role in the effectiveness and efficiency of the system's which aims to complete the task in minimum time with maximum utility or standard. Intelligent scheduling algorithms designed to overcome the problems and limitations of the delivery of services on the network are necessary. Cloud computing has many benefits, which are listed below. Google, Amazon and Microsoft are sample of public cloud providers who recommend their services to the general public. Data created and submitted by consumers are usually stored on the servers of the third party provider[2].

  • A. The advantages of cloud computing

  • -    Lower cost: applications are provided in cloud. As result, there is no need to exorbitant cost for buying equipped computer systems, because only by using web browsers, users can access resources whenever and wherever they are. Cloud reduce small and medium companies’ cost considerably.

  • -    Immediate access: cloud can provide fast access to hardware resources and reduce cost for large companies. Its infrastructures are available simultaneously for cloud users who are separated from each other. Users do not depend on their systems and if they use another computer they can continue using the same resources [3] .

  • -    More security: if the data are stored in your own computer system they may be lost in case the storage device be damaged. Although. In cloud computing, this is not the case and the deterioration of computer system does not affect your information.

  • -    Non-stop services: cloud must be always available such that users can access their resources and information at any time.

Although, several failures of connection has happened in cloud by now. For instance, connection failure of twitter for 24 hours in 2010, Gmail and google app store for 2.5 hours in 2009 and Microsoft Azure for 22 hours in 2008. This is a disadvantage which must be fixed [4] .

  • II.  Cloud Computing

Cloud computing is a product of technology development and social needs. Cloud introduces a fundamental difference with traditional information technology [5] . Cloud is able to service users as quickly as possible in a cost-efficient way. In fact, it is some kind of repository of computers, databases and servers, which is accessible through the Internet in order to decrease the users’ need for hardware equipment and personal storage devices [6] . These resources are available on one or more data centers. Users can access these resources on-demand and by sending the request to the server. Hardware and access detail are hidden from the customer and just servers are aware of them, such that at first users send their request to servers by cloud applications, then servers buffer requests and send their request for schedule and respond it with the appropriate virtual machines (VM) that could run user request and run that VM on best physical machine (PM) with best available resources.

Users and companies can access this resources wherever in the world on-demand. These resources can be provided distributed, parallel or dynamically for users and these are presented based on user service level agreement (SLA).

  • A. Cloud Resource Layers

Based on resource distribution type, cloud computing is composed of three layers- infrastructure as a service(IaaS), platform as a service(PaaS) and software as a service(SaaS)- and in this way services are presented for users [7] .

  • -    IaaS: This layer is in the lower level and supports the needed infrastructure for servers like processors, storage and hardware Equipment. So users do not need to buy server, data center and network resources anymore. In addition, costs are paid based on the duration of using them. On the whole, it is possible to say resource management is done in this level; such as Amazon EC2 [8] .

  • -    PaaS: This is the middle layer of needed software and supporting them. This layer is a hosting for various environments offering services which are provided Package; such as Microsoft Azure, Google application engine.

  • -    SaaS: This is related to online software, such as an online office or Google Doc, which resolves various problems of traditional software like updating and deployment. In addition, it is useful for reducing costs. For instance, Sale force CRM is a software on cloud.

Scheduling can be built in different layers of the service heap. As you can see in Fig.1, in different layers cloud has its own strategy. Accordingly, the architecture composed of the SaaS, PaaS, IaaS heaps can be used to categorize scheduling problems into software layer, platform layer and infrastructure layer. Scheduling in SaaS is to scheduled VMs to task, job, user applications, etc.,

Scheduling in PaaS is scheduled VMs to physical resources and Scheduling in IaaS is ordered to deliver the infrastructure, that is , IaaS, to users, providers need to make clusters of servers of cloud centers located across the whole world to serve worldwide users [9] . This paper has focused on scheduling algorithms in SaaS layer to observe the QoS for users, Problems do not only come from the time and cost Limitations of the user, but also come from the provider in that the resources need to be used with balance or a maximum utility. So, this class is divided into three sub-directory names user QoS, performance provider and combine of both. in this part of scheduling, utilization of user`s QoS is the point which is discussed by the use of heuristic algorithms.

Fig.1. Scheduling in Different Layers

  • III.    Task Scheduling

The scheduling is defined into two levels of host and virtual machine (VM). In virtual machine level, the tasks are allocated to virtual machines, and in host level, the virtual machines to the hosts.

The optimization of tasks performance is one the most important subjects in cloud environments. One of the Problems is when a great number of users ask cloud resources at the same time; these difficulties could be solved by correct task scheduling to the available VMs. The aim of scheduling is usually loading distribution on VMs based on parameters like cost, response time, reliability, speed, utility, scheduling successful rate, deadline time, etc. Generally, in scheduling algorithms, there is a list of tasks attributed to all tasks made on the base of their priorities. The tasks are chosen based on their priorities and are allocated to the VMs[10].

  • A.    Data in Task Scheduling

The tasks in cloud computing are two kinds of workload and workflow. In workload, the data are not dependent on one another. The tasks are usually taken from real data and are performed independently. The data is composed of an ID, Task Length, input file, output file, and finally, the number of required processes of each of tasks but the tasks in the workflow are performed continues and dependently. Consider them as a graph in which first the parents and then the children must be performed, since they are considered as a collection of different tasks for achieving a particular result.

  • B.    Dependent parameters in scheduling

To evaluate each algorithm or scheduling, different parameters and variables could be taken into account, such as:

  • -    Waiting time: the sum of elapsed time of a task in waiting line.

  • -    Response time: the time of response is calculated from the time of task entering to system until the time of its exiting.

  • -    Make span: it is the subtraction time of finish time of the last VM from the start time of the first VM.

  • -    Cost: the cost that each client pays for the time use of VM.

  • -    Throughput: the number of task done in the unit of the time [11] .

  • -    Utility: the duration of task execution in each of VM in proportion to time of total execution.

  • -    Time execution: the duration when the users use VMs.

  • -    Deadline: the time limit for performing the task and if this limit is not observed the Provider have to pay fine.

  • -    CPU idle time: the duration when the CPU is idle and has no task to do.

All of these methods and parameters are taken in algorithms to have a schedule in which the most utility be met in VMs.

  • C.    Different kinds of scheduling regarding tasks Behavior

There are two kinds of scheduling called static and dynamic. In static scheduling, there is the required data about all resources in scheduling moment, therefore the Time execution could be estimated and scheduling is done once. In contrast, in dynamic scheduling, the main idea is allocation of tasks in Time execution, there is no information about task performance duration or other and it is performed at the Time execution and different duration of time efficiency the scheduling is repeated in Time execution for several times. For example, every 5 seconds the scheduling is repeated when the new tasks enter[12].

  • IV.    Task Scheduling Algorithms

Since the task scheduling is of NP-hard kind, the heuristic techniques, powerful and flexible method for problem solving, were applied to solve the problems. They examine the whole environment and return the best response. Their aim is to find the best and the most acceptable responses according to the problem requirements.

  • A. Heuristic Algorithms

The heuristic algorithms are dependent on the problem and they try to find the solutions by applying problem features in a complete way. Their solution is based on learning and exploration in which a comprehensive and scientific search for finding an optimal response and speeding to response process is applied. However, they are very greedy and they are usually trapped in local optimal, moreover, they may defeat in getting widespread optimal solution.

The existing solutions for task scheduling through heuristic are shown in Table 1. This table presents method, scheduling parameters, description, evaluation tool, experiment size of simulation in order to existing solution, finally explain their results that they found. The heuristic algorithms used in this paper include [13, 14] :

  • -    Heterogeneous-Earliest-Finish-Time      algorithm

(HEFT) presented two novel heuristic for task scheduling, first heuristic for directed acyclic graph (DAG) scheduling, and another for scheduling independent tasks. In order to reduce Makespan, both heuristics have suitable performance behavior.

  • -    Multiple QoS Constrained Scheduling Strategy of Multi-Workflows (MQMW) proposed three items include: Preprocessor, Scheduler and Executor. Preprocessor computes the time and cost of the Workflow and after that it sends the ready tasks the Scheduler queue, Then sort all task according their strategy. Finally The Executor selects best service to sequential execute tasks. Finally, Executor notifies to Preprocessor in order to completion status.

  • -    Resource-Aware-Scheduling algorithm (RASA) composed of the advantages of Max-Min and MinMin and solves their disadvantage.

  • -    A compromised-Time-Cost (CTC) considers the specifications of cloud to adjustment instance intensive cost-constrained workflows via reaching an agreement execution time and cost with customer input on the fly.

  • -    Optimal Workflow Scheduling (OWS) focuses on scheduling cloud workflows. First, the discovery algorithm, lists all the resources and allocation workflow to free resources by considering QoS parameters (execution time, reliability, monetary cost etc.).

  • -    Scalable-Heterogeneous-Earliest-Finish-      Time

algorithm (SHEFT) presented classify all resources into some clusters after that a weighted directed acyclic graph is modeled to demonstrate a workflow in a cloud.

  • -    Integer linear program (ILP) has two level of Service Level Agreements (SLA) that consider user

and provider. First notation and problem modeling, second formulation of the integer linear program.

  • -    SaaS Cloud-Partial Critical Paths (SC-PCP) recursively schedules the partial critical paths ending at previously scheduled workflow.

  • -    Concurrent Level based Workflow Scheduling (CLWS) consider all the tasks according to the agreement between tasks during the real workflow execution.

  • -    Enhanced IC-PCP with Replication (EIPR) uses idle time and cost of workflow In order to reduce the impact of performance variation of Cloud resources by consider the deadlines of workflows.

    Table 1. Examining Heuristic Algorithms

    Algor ithm

    Ref

    Scheduling Parameters

    Description

    Evalu ation Tool

    Compared with

    Experiment size

    Finding

    HEFT

    [15] 2004

    Makespan

    The algorithm calculates the first run time And is ranked in descending order, A task that has the highest value is selected to run first.

    Gridsi m

    FCP, CPOP, MinMin, LMT, Hyb.BMCT, DLS

    Random graphs: 25100   tasks,   FFT

    graphs:      15-223

    tasks,      Fork-join

    graphs: 7-229 tasks, Laplace graphs: 25225 tasks, 3-8 machines, 100 runs

    Lower Makespan

    MQM W

    [16] 2009

    Scheduling success rate, cost, time, make span

    This strategy can be any time started several workflows that considers quality of service, is scheduled, They are four factors at the beginning and end of tasks, and costs have a significant impact on the workflow used to have.

    Cloud sim

    RANK_HYBD

    5 set of Workflows, 20 machine, 5-25 users

    Improve the success rate of 22.7%

    RAS A

    [17] 2009

    Make span

    This algorithm with min-min and max-min thorough analysis, as well as the advantages and disadvantages of the two algorithms are proposed. By using algorithm min-min runs the small tasks And max-min to avoid delays in the big tasks.

    GridS im

    Max-min, Minmin, opportunistic load balancing (OLB)

    200-5000 task, 10

    11 grid resources

    lower Makespan

    CTC

    [18] 2010

    Cost, execution time

    In this paper, used CTC algorithms in reducing the time and cost of the customer That reduces the cost of 15 percent and 20 percent of time is run.

    Swin

    DeW-C

    Deadline-MDP

    creates 1,000 instances per second and a total number 1,000,000 instances, 4 machine

    Reduce cost by 15% and time by 20%

    OWS

    [19] 2011

    CPU utilization, Execution time

    The algorithm consists of two main phases, the first phase of the algorithm to discover the Resources of all Resources identified and labeled, and each of the node's parent node. These phase II data with quality of service (QoS) take resources.

    Open nebul a

    Backfilling, FCFS

    NA

    The scheduling algorithm finds a solution that meets all user preferred QoS constraints AND improvement in CPU utilization

    SHEF T

    [20] 2011

    Scalability, Execution time

    In this paper, By using scheduling algorithm and parameters SHEFT, nearest end time, remaining time and the closest starting to do a task scheduled performs.

    Cloud Sim

    HEFT

    generator randomly generates 50, 000 workflow graphs and use 2-300 task

    Optimizing execution time and enables resources to scale elastically during workflow execution

    ILP

    [21] 2012

    Makespan, Cost, Time

    ILP for workflow scheduling clients SaaS and multiple provider IaaS where Service Level Agreement for both exist.

    self-simul ator with Java

    Begin-minimum time (BMT), begin-minimum endmaximum times (BMEMT).

    3 IaaS providers, 4VM for IaaS(A), 7VM for IaaS(B), 2VM for IaaS(C)-20 RUN, Fork-Join AND Montage DAG

    low-cost solutions with shorter deadlines


    SC-PCP

    [23] 2012

    Cost, Deadline

    A new workflow scheduling algorithm based on the QoS on the novel concepts of the Partial Critical Paths (PCP) is called. This algorithm is the first tasks assigned to track and act recursively.

    self-simul ator with Java

    Deadline-MDP

    different sizes for each workflow(30-1000   task)   from

    CyberShake, Epigenomics, LIGO, Montage, SIPHT [22]

    the computation time of the algorithm is very low for the Decrease Cost and the Fair policies, but is much longer for the Optimized policy

    CLW S

    [24] 2014

    Cost with user designated

    In This algorithm that determined the levels of their duties and the Markov Decision Process (MDP) algorithm for scheduling tasks is dependent that this algorithm not only on reducing the total cost of execution as well as time.

    Self-simul ator

    Bottom Level denoted (DBL), MinCost,

    100 task

    Decrease the time and optimize the total executing cost

    EIPR

    [25] 2014

    Deadline, total cost

    This paper is for task scheduling to reduce cost by Considering deadline focused and ultimately the improvement was 59 percent of the algorithm IC-PCP.

    Cloud sim

    IC-PCP

    500   host,   Four

    workflow(50-1000

    TASK):  Montage,

    Cyber-Shake, LIGO, SIPHT- 50 RUN,

    VM  types  used:

    Memory[1.7-30], Core speed[1-3.25], Cores[1-8]

    Reduce execution time by 59%


  • V.    Scheduling Algorithm Evaluation

To evaluate and compare algorithms, they can be simulated with some tools or performed in real environment. For simulations, there are different tools as described below

  • A.    Cloudsim

To evaluate and compare algorithms they can be simulated with the tools or be performed in real environment. For simulations there are different tools including Cloudsim. Cloudsim is a general and developable simulation framework which makes an integrated modeling, simulation, trying out application services, appearing cloud computing infrastructures possible. Cloudsim supports system simulation in big scale and network connections within the elements of simulated network, compositional cloud computing, and structuring and configuration of cloud environment, etc. Cloudsim starts with a network of nodes. A main node consists of data center, a host, and a broker. The data center (source provider) is created first with defining features like operating system, memory, bandwidth, saving and so one. After that, one or some hosts on data center with RAM special features, saving, bandwidth, process elements, and choosing scheduling algorithm for scheduling virtual machine in host are made. Process elements are known as the core or CPU that in them each process element is given measured process power in MIPS (Million Instructions per Second). The hosts are directed by data center so that every data center may direct one or some hosts. The cloud broker (an entity which creates and maintains relation among several service providers) is also created to distribute the jobs among available data centers or cloud services[26, 27]. The cloud broker is a firmware between the users and cloud service provider. After creating all nodes of the network, Cloudsim create virtual machines on defined hosts for performance. Features of every virtual machine are determined by parameters like process power in million instructions per second, RAM in MB, bandwidth and so on. Although the implementation in real environment is better and exacter and other tools like Workflowsim, Matlab, Java and so are available too, the researchers can test and evaluate their proposed model before implementation in a variable environment. For implementation cloud system providers' sites like Amazon can be used as well.

  • B.    Gridsim

Computational resources of network are distributed across geographical locations increasingly and heterogeneously; thereby, we need simulation tools to estimate and evaluate their performance. The grid system is a tool for estimation and simulation of network’s computational models in a distributed environment by the use of Java programming language, which is based on the SIMJAVA itself [28] . This tool allows the user to simulate grid resource attributes and various configurations. From the hardware point of view, it has a layered structure and modular packaging. As a powerful and advanced tool, the grid system is appropriate for modeling a variety of resources, supporting network systems and heterogeneous systems in distributed environments, supporting the shared-time and colocation models, supporting the static and dynamic scheduled and supporting resource-allocation scheduling algorithms [29, 30] . In addition, it is capable of reading data that are obtained from actual environments, and it has flexibility in computational network model with a variety of subjects. The grid system is prospered for grid environments, although for cloud environments as a part of the distributed networks, the Cloudsim tool has been introduced.

  • VI.  Conclusions

In recent years, applying cloud computing has been developed all over the world and it has been matured and has been an opportunity for companies to save the cost and compute. Based on more source usage and demands, one of the most important tasks of cloud is more utility which needs appropriate source management. The tasks are directed by scheduling. The present study reviewed on task scheduling algorithms. Moreover, the present study classified and compared required parameters for scheduling, applied functions in these algorithms, and the tools and their details of each. There have been great improvements and developments in task scheduling, source utility, and expense reductions but they still need further developments for the future:

  • 1.    Complementing and improving simulations tools

  • 2.    Introducing new multi-dimensions, parameters with considering users’ interests, services, energy reduction, network traffic reduction and all involved.

  • 3.    Presenting more efficient algorithms on crossing multi-objectives scheduling.

  • 4.    More focus on dynamic scheduling for their similarity to the real world.

The review of the study is stated in Fig 2.

SwinDeW-C

Gridsim

Cloudsim simulator Matlab

Open nebulae Workflowsim

Task Scheduling Optimization Is One Of The Main Challenges Of Cloud Computing

Server Utilization earliest finish time waiting makespan finishing time deadline

Reliability

Power

Consumption

Length of VM task

^gueucs

Scheduling Success

Fig.2. Mind Map for Task Scheduling in Cloud Computing Environment

Scalability computation cost transmission cost

Performance

^CPU idle time

Список литературы Heuristic Algorithms for Task Scheduling in Cloud Computing: A Survey

  • C. K. Fan, F. C. Chen-Mei, and T. L. Kao, "Risk Management Strategies for the Use of Cloud Computing," International Journal of Computer Network and Information Security, vol. 4, p. 50, 2012.
  • S. Goyal, "Public vs private vs hybrid vs community-cloud computing: A critical review," International Journal of Computer Network and Information Security, vol. 6, p. 20, 2014.
  • S. Marston, Z. Li, S. Bandyopadhyay, J. Zhang, and A. Ghalsasi, "Cloud computing—The business perspective," Decision Support Systems, vol. 51, pp. 176-189, 2011.
  • N. Khan, A. Noraziah, M. M. Deris, and E. I. Ismail, "Cloud Computing: Comparison of various features," in Digital Enterprise and Information Systems, ed Springer Berlin Heidelberg: Springer, 2011, pp. 243-254.
  • K. Mogouie, M. G. Arani, and M. Shamsi, "A novel approach for optimization auto-scaling in cloud computing environment," International Journal of Modern Education and Computer Science, vol. 7, p. 9, 2015.
  • G. Kulkarni, J. Gambhir, T. Patil, and A. Dongare, "A security aspects in cloud computing," in Software Engineering and Service Science (ICSESS), 2012 IEEE 3rd International Conference on, 2012, pp. 547-550.
  • W. Voorsluys, J. Broberg, and R. Buyya, "Cloud computing: Principles and paradigms," Hoboken, NJ: John Wiley & Sons, vol. 87, 2011.
  • H. Eken, "Security threats and solutions in cloud computing," in Internet Security (WorldCIS), 2013 World Congress on, 2013, pp. 139-143.
  • Z.-H. Zhan, X.-F. Liu, Y.-J. Gong, J. Zhang, H. S.-H. Chung, and Y. Li, "Cloud computing resource scheduling and a survey of its evolutionary approaches," ACM Computing Surveys (CSUR), vol. 47, p. 63, 2015.
  • A. Radulescu and A. J. Van Gemund, "Fast and effective task scheduling in heterogeneous systems," in Heterogeneous Computing Workshop, 2000.(HCW 2000) Proceedings. 9th, 2000, pp. 229-238.
  • Y. Gao, H. Guan, Z. Qi, T. Song, F. Huan, and L. Liu, "Service level agreement based energy-efficient resource management in cloud data centers," Computers & Electrical Engineering, vol. 40, pp. 1621-1633, 2014.
  • Y.-K. Kwok and I. Ahmad, "Dynamic critical-path scheduling: An effective technique for allocating task graphs to multiprocessors," Parallel and Distributed Systems, IEEE Transactions on, vol. 7, pp. 506-521, 1996.
  • L. K. Arya and A. Verma, "Workflow scheduling algorithms in cloud environment-A survey," in Engineering and Computational Sciences (RAECS), 2014 Recent Advances in, 2014, pp. 1-4.
  • A. K. Bardsiri and S. M. Hashemi, "A Review of Workflow Scheduling in Cloud Computing Environment," International Journal of Computer Science and Management Research, vol. 1, pp. 348-351, 2012.
  • R. Sakellariou and H. Zhao, "A hybrid heuristic for DAG scheduling on heterogeneous systems," in Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International, 2004, p. 111.
  • M. Xu, L. Cui, H. Wang, and Y. Bi, "A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing," in Parallel and Distributed Processing with Applications, 2009 IEEE International Symposium on, 2009, pp. 629-634.
  • S. Parsa and R. Entezari-Maleki, "RASA: A new task scheduling algorithm in grid environment," World Applied sciences journal, vol. 7, pp. 152-160, 2009.
  • K. Liu, H. Jin, J. Chen, X. Liu, D. Yuan, and Y. Yang, "A compromised-time-cost scheduling algorithm in SwinDeW-C for instance-intensive cost-constrained workflows on cloud computing platform," International Journal of High Performance Computing Applications, pp. 473-488, 2010.
  • P. Varalakshmi, A. Ramaswamy, A. Balasubramanian, and P. Vijaykumar, "An optimal workflow based scheduling and resource allocation in cloud," in Advances in Computing and Communications, ed: Springer, 2011, pp. 411-420.
  • C. Lin and S. Lu, "Scheduling scientific workflows elastically for cloud computing," in Cloud Computing (CLOUD), 2011 IEEE International Conference on, 2011, pp. 746-747.
  • T. A. Genez, L. F. Bittencourt, and E. R. Madeira, "Workflow scheduling for SaaS/PaaS cloud providers considering two SLA levels," in Network Operations and Management Symposium (NOMS), 2012 IEEE, 2012, pp. 906-912.
  • https://confluence.pegasus.isi.edu/display/pegasus/ WorkflowGenerator.
  • S. Abrishami and M. Naghibzadeh, "Deadline-constrained workflow scheduling in software as a service cloud," Scientia Iranica, vol. 19, pp. 680-689, 2012.
  • G. Lu, Y. Sun, and Z. Zhang, "A Concurrent Level Based Scheduling for Workflow Applications within Cloud Computing Environment," in Pervasive Computing and the Networked World, ed: Springer, 2014, pp. 400-411.
  • R. N. Calheiros and R. Buyya, "Meeting deadlines of scientific workflows in public clouds with tasks replication," Parallel and Distributed Systems, IEEE Transactions on, vol. 25, pp. 1787-1796, 2014.
  • C. Chen, J. Liu, Y. Wen, and J. Chen, "Research on Workflow Scheduling Algorithms in the Cloud," in Process-Aware Systems, ed: Springer, 2015, pp. 35-48.
  • H. S. Al-Olimat, R. C. Green II, and M. Alam, "Cloudlet Scheduling with Population Based Metaheuristics," IEEE 2015 Fifth International Conference on Communication Systems and Network Technologies, 2015.
  • A. Sulistio, G. Poduval, R. Buyya, and C.-K. Tham, "On incorporating differentiated levels of network service into GridSim," Future Generation Computer Systems, vol. 23, pp. 606-615, 2007.
  • A. Sulistio, G. Poduval, R. Buyya, and C.-K. Tham, "Constructing A Grid Simulation with Differentiated Network Service Using GridSim," in International Conference on Internet Computing, 2005, pp. 437-444.
  • A. Sulistio, C. S. Yeo, and R. Buyya, "Visual modeler for Grid modeling and simulation (GridSim) toolkit," in Computational Science—ICCS 2003, ed: Springer, 2003, pp. 1123-1132.
Еще
Статья научная