Cloud computing Review over various scheduling algorithms

Page 1

Int. Journal of Electrical & Electronics Engg.

Vol. 2, Spl. Issue 1 (2015)

e-ISSN: 1694-2310 | p-ISSN: 1694-2426

Cloud computing Review over various scheduling algorithms Meenakshi Bhagtani PhD Scholar, University Of Kota, Kota mm12dec@yahoo.co.in Abstract: Cloud computing has taken an important position in the field of research as well as in the government organisations. Cloud computing uses virtual network technology to provide computer resources to the end users as well as to the customer’s. Due to complex computing environment the use of high logics and task scheduler algorithms are increase which results in costly operation of cloud network. Researchers are attempting to build such kind of job scheduling algorithms that are compatible and applicable in cloud computing environment.In this paper, we review research work which is recently proposed by researchers on the base of energy saving scheduling techniques. We also studying various scheduling algorithms and issues related to them in cloud computing. Keywords: Cloud computing, virtualization, schedulers

CLOUD COMPUTING Cloud computing will spark a revolution in a way organizations provide or consume information and computing. Today’s most popular social networking site, e-mail services , document sharing and online gaming sites, are hosted on a cloud network of servers. Whereas the giants of computer field like Microsoft are also taken initiative to develop a cloud network for their users across the globe. And to do that, more than half of their developers and R&D are working on the project. We define cloud computing, based on capabilities, which are provided “as software”, “as a platform” and “as an infrastructure” for consumers and enterprise to access on demand regardless of time and location4.

Three basic services provided by cloud computing are as follows: Software as a service Platform as a service Infrastructure as a service While doing study about cloud computing, found that scheduling and resource allocation are the important 147

research topic. A scheduler is required to schedule number of virtual machine, as virtual machine are used to request from consumer, to save maximum energy and achieve greater degree of load balancing and less resource utilization from network which makes cloud computing more responsive. The main objective of scheduling algorithms in distributed systems is to spreading the load on processors and maximizing their utilization while minimizing the total task execution time while performing Job scheduling, one of the most known optimization problems, plays an important role for creating a flexible and reliable systems. The main purpose of using such kind of scheduler is to schedule jobs to the adaptable resources in accordance with adaptable time, which involves finding out a proper sequence in which jobs can be executed under transaction logic constraints. Background Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that work together and communicate through a computer network. Types of distributed computing systems: 1. Cluster computing systems: It is not a new area of computing. There is an increase usage of it in all areas, where application is traditionally used in parallel or distributed computing platforms. 2. Grid computing systems: Computing becomes pervasive and individual users have gain access to computing resource as needed with little knowledge of where those resources are located or stored, and what the underlying technologies, hardware, operating system and so on are. 3. Peer to peer computing: A class of systems and applications that offers distributed resources to platform a function in a decentralized manner. The resources are encompasses by computing power data, network bandwidth, and presence of human, computers or other resources. 4. Cloud computing system: With cloud computing, users use a variety of devices, including PC’s, laptops, and smart phones to access program storage and applicationdevelopment platforms over the internet, via services offered by cloud computing providers. Cloud computing possess the following key characteristics:1.On-demand self-service: A user having provision computing capabilities, such as server time and network storage, works automatically without having human interaction with each service provider. 2. Broad network access: Cloud computing provide NITTTR, Chandigarh

EDIT-2015


Int. Journal of Electrical & Electronics Engg.

Vol. 2, Spl. Issue 1 (2015)

resources to the users with various capabilities over the network which is accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms such as mobile phones, laptops etc.) 3.Resource pooling: It provider’s computing resources which are pooled to serve multiple consumers using a multi-tenant model, having different physical and virtual resources which are dynamically assigned and reassigned according to consumer demand. Examples of resources include storage, processing, memory, network bandwidth, and virtual machines. 4. Rapid elasticity: Capabilities of such kind of systems can be rapidly and elastically provisioned, but in some cases automatically, to quickly scale out, and rapidly released to quickly scale in to the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time for the use. 5. Measured Service: Cloud systems are built in a way that they automatically control and optimize the resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, for providing transparency for both the provider and consumer of the utilized service. Types of Cloud Models: 1. Public Cloud: It is developed where several organizations have similar needs and they need to seek to share infrastructure. It helps in allowing freeing use from performing important task like installation of resource, their configuration and storage. 2. Private Cloud: It enables the remote access of applications by smart phones. The cloud-based resources are delivering to one platform and can be access from local PC. 3. Community Cloud: It is developed to share infrastructure between several organizations from a specific community with common concerns, and can be managed internally or by a third party hosted internally or externally. 4. Hybrid Cloud: The cloud infrastructure is a composition of two or more clouds(private, community or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability. Issues in Cloud One of the major issues in implementing cloud computing is taking virtual machines in use, which contain critical applications and sensitive data to public and shared through cloud environment. The following are certain issues in cloud computing. 1.Performance: The major problem arises in the performance can be for some intensive transaction-oriented and other data-intensive applications, in which cloud computing may lack adequate performance. Also, the users who are using the cloud network from a long distance may experience high latency and delays. 2.Security and Privacy: Customers are worried about their data and the vulnerability of attacks, when information and critical IT resources are outside the range of firewall. 3.Control: Some IT departments are concerned because the cloud computing providers have the full control over the NITTTR, Chandigarh

EDIT -2015

e-ISSN: 1694-2310 | p-ISSN: 1694-2426

platforms. Cloud computing providers typically do not design platforms for specific companies and their business practices. 4.Bandwidth Costs: With cloud computing, companies can save money on hardware and software; however they could have to pay higher network bandwidth charges. Bandwidth cost may be low for smaller Internet-based applications, which are not data intensive, but could significantly grow for data intensive applications. 5. Reliability: Cloud computing still does not always offer round-the-clock reliability. There were cases where cloud computing services suffered few-hours outages. 6.Security Policy: It is very difficult to choose whether the user would have same security policy control over their applications and services or the cloud provider will provide its own policies. If so, then the issue of trusting third party vendor arises. 7.Scheduling: Scheduling is the method of time division by which threads, processes or data flows are given access to system resources (e.g. processor time, communications bandwidth). This is usually done to balance the load on a system effectively or achieve a target quality of service. The need for such kind of scheduling algorithm arises because from the requirement for most modern systems to perform multitasking (execute more than one process at a time) and multiplexing (transmit multiple flows simultaneously).The scheduler is concerned mainly with the following: Throughput : The total number of processes that complete their execution per time unit. Latency, specifically, Turnaround time - total time taken between submission of a process and its completion. Response time–total duration of time it takes from when a request was submitted until the first response is produced. Scheduling for Cloud Computing Mainly there are several type of scheduling techniques are use by the cloud network. Most of them can be applied in the cloud environment with suitable verifications. The main advantage of job scheduling algorithm is to achieve a high performance computing and the best system throughput. Traditional job scheduling algorithms are not able to provide scheduling in the cloud environments. According to a simple classification, job scheduling algorithms in cloud computing can be categorized into two main groups; Batch mode heuristic scheduling algorithms(BMHA) and online mode heuristic algorithms. In BMHA, Jobs are queued and collected into a set when they arrive in the system. The scheduling algorithm will start after a fixed period of time. The main examples of BMHA based algorithms are; First Come First Served scheduling algorithm (FCFS), Round Robin scheduling algorithm (RR), Min-Min algorithm and Max-Min algorithm. By On-line mode heuristic scheduling algorithm, Jobs are scheduled when they arrive in the system. Since the cloud environment is a heterogeneous system and the speed of each processor varies quickly, the on-line mode heuristic scheduling algorithms are more appropriate for a cloud environment. Most fit task scheduling algorithm (MFTF) is suitable example of On-line mode heuristic scheduling algorithm.

148


Int. Journal of Electrical & Electronics Engg.

Vol. 2, Spl. Issue 1 (2015)

A. First Come First Serve Algorithm: The jobs in a queue which arrive first get processed first. B. Round Robin algorithm: In the round robin scheduling, processes are dispatched in a FIFO manner but are given a limited amount of CPU time called a time-slice or a quantum. If a process does not complete before its CPUtime expires, the CPU is pre-emptedand given to the next process waiting in a queue. The pre-empted process is then placed at the back of the ready list. C. Min-Min algorithm: This algorithm searches for the small task among the group of task for processing, which in turn large task delays for long time. D. Max-Min algorithm: This algorithm chooses large tasks to be executed firstly, which in turn small task delays for long time. E. Most fit task scheduling algorithm: In this algorithm task which fit best in queue are executed first. This algorithm has high failure ratio. F. Priority scheduling algorithm: The basic idea is straightforward: each process is assigned a priority, and priority is allowed to run. Equal-Priority processes are scheduled in FCFS order. G. Shortest-Job-First (SJF) algorithm: This is a special case of general priority scheduling algorithm. An SJF algorithm is simply a priority algorithm where the priority is the inverse of the (predicted) next CPUburst. That is, the longer the CPU burst, the lower the priority and vice versa. Priority can be defined either internally or externally. Internally defined priorities use some measurable quantities or qualities to compute priority of a process. EXISTING SCHEDULINGALGORITHMS The following scheduling algorithms are presently established in the cloud computing environment.

e-ISSN: 1694-2310 | p-ISSN: 1694-2426

resources and user preferences and are submitted to computing resources distributed in Cloud Computing Nodes. The computing resources can be allocated in terms of the rank of tasks. When all tasks are ranked according to available resources this model improves the resource utilization and also meets user requirements. But here it is not possible to allocate resources dynamically.

3. A Priority based Job Scheduling Algorithm A new priority based job scheduling algorithm (PJSC) is proposed in cloud computing environment based on multiple criteria decision making model, using analytical hierarchy process. Provided a discussion about some issues related to the proposed algorithm such as complexity, consistency and finish time. The proposed algorithm has reasonable complexity. But the main disadvantage is that the finish time cannot be calculated and response time is more .Also for more number of jobs allocations it is not suitable since finding priority of each job is tedious one. 4. Market Oriented Scheduling Policies By considering the time and cost of resource provisioning, two Market oriented scheduling policies (MOSP) were proposedthat aim at satisfying the application deadline by extending the computational capacity of local resources via hiring resource from Cloud providers. The policies are not having any earlier knowledge about the application execution time. The proposed the Cost Optimization and the Time Optimization scheduling policies increase the computational capacity of the local resources by hiring resources from IAAS providers.

1.Fuzzy-Genetic Algorithm based Task scheduling Optimizations An optimized algorithm is proposed based on the FuzzyGenetic Algorithm optimization which makes a scheduling policy by evaluating the entire group of task in the job queues. Fuzzy sets were used to represent imprecisescheduling parameters and also to represent satisfaction grades of each objective. Genetic algorithms with different components were developed on the based technique for task level scheduling in HardtopMap Reduce. To gain a better balanced load across all the nodes in the cloud environment, the scheduler is revised by predicting the execution time of tasks assigned to certain processors and making an optimal decision over the entire group of tasks. Although this method meets user’s requirement and gets good resource utilization, the predicted execution time is a disadvantage of this scheduling method since it is not possible topredict the execution time of tasks effectively before executing the tasks.

5. Online Optimization for Scheduling Preemptable TasksJiayinLi et al. proposed a resource optimization mechanism in federated IaaS cloud system which enables preemptable task scheduling. In this model, every data centre has a manager server that knows the current statuses of VMs in its own cloud. And manager servers communicate with each other. When a cloud receives requests from users, its manager server communicate with manager servers of other clouds and distribute its tasks across thewhole cloud system by assigning them to other clouds or executing them by itself. The proposed algorithms, dynamic cloud list scheduling (DCLS) and dynamic cloud min-min scheduling (DCMMS) adjust the resourceallocation dynamically according to the updated information of actual task execution. Also they have proposed energy aware local mapping mechanism which can reducethe energyconsumption in federated cloud system.

2. The Analytic Hierarchy Process for Task scheduling and resource allocation Daji Ergu et al. presented a model for task-oriented resource allocation in a cloud computing environment .In this model computing tasks is collected in the Task Pool. These tasks are ranked using the pair wise comparison matrix technique and the Analytic Hierarchy Process giving the available

6. Resource Scheduling Strategy based on Genetic Algorithm Jianhua Gu et al. presented a scheduling strategy on load balancing of virtual machine resources using Genetic Algorithm (RSGA). It uses historical data and current states of VMs. In the proposed method starting from the initialization incloud itself they look for the best scheduling solution by genetic algorithm in every

149

NITTTR, Chandigarh

EDIT-2015


Int. Journal of Electrical & Electronics Engg.

Vol. 2, Spl. Issue 1 (2015)

scheduling and when there are no VM resources in the whole system use the algorithm to choose scheduling solution according to the computed probability. Even though this method can better realize load balancing and proper resource utilization, it does not deals with the dynamic behaviour of resource allocation. 7. Job scheduling algorithm based on Berger model

e-ISSN: 1694-2310 | p-ISSN: 1694-2426

Berger model theory on distributive justice in the field of social distribution is introduced into the job scheduling algorithm in cloud computing.Job scheduling algorithm based on Berger model(JSBM) concentrates on the fairness of theresource allocation.The proposed model agrees with the Quos parameters like completion time and bandwidth.

COMPARISON OF DIFFERENT SCHEDULING POLICIES Table 1: list out the environment, algorithmand schedulingparameters used in different scheduling policies. Also compares various scheduling policies in terms of their advantages anddisadvantages.

Sl no

Paper Author

title/

Algorithm/techniq ue used

1

Task scheduling optimizations for the cloud computing system, Sandeep Tayal The analytic hierarchy process: Task scheduling and resource allocation in cloud computing environment, DajiErgu, Gang Kou, YiPeng, YongShi,YuShi A Priority based job scheduling algorithm in cloud computing, shamsollah Ghanbari,Mohame d Othman Adapting market oriented scheduling policies for cloud computing, Mohsen Amini Salehi,Rajkumar Buyya Online optimization for scheduling preemptable tasks on IaaS cloud systems, JiayinLi, MeikangQiu, ZhongMing, GangQuan, XiaoQin, Zonghua Gu Evaluation of gang scheduling performance and cost in cloud computing system, Ioannis A, Moschakis, Helen.D, Karatza Anew resource scheduling strategy based on genetic algorithm in cloud computing

Genetic algorithm based scheduling

2

3

4

5

6

7

NITTTR, Chandigarh

Scheduling parameters considered Execution time of tasks

Advantage

Disadvantage

Meet user requirements and improved resource utilization

Execution time is more

Ranking of tasks is done by using reciprocal pair wise comparison matrix and analytical hierarchy process

Response time, task expense

Improves resource utilization

Cannot allocate tasks dynamically

Based on the theory of Analytical hierarchy process

Make span

Since priority is considered important task will not be lagged

Increased span

Deadline budget constraint based Time and cost optimization scheduling policy

Response execution cost

Increased completion time

Based on cloud list scheduling and cloud min-min greedy algorithm for scheduling

Arrival time and execution time

Increase the computational capacity of the local resources by hiring resources from IaaS providers The dynamic procedure provides significant improvement in the fierce resource contention situation.

Gang scheduling approach based shortest queue first, adaptive first come first served and largest job first algorithm

Waiting time, response time, cost

Improved resource utilization

Not considered the priority among the tasks

Based on genetic algorithm and spanning tree principle

Number of virtual machines, execution time

This method can better realize load balancing and proper resource utilization

It does not deal with the dynamic behaviour of resource allocation.

EDIT -2015

time, time,

make

Preemption leads to increased response time and overhead to the cloud providers

150


Int. Journal of Electrical & Electronics Engg.

Vol. 2, Spl. Issue 1 (2015)

e-ISSN: 1694-2310 | p-ISSN: 1694-2426

environment, Jianhua Gu, Jinhua Hu, Tianhai Zhao, Guofei Sun

REVIEW OF RELATED WORK In this decade we refer many approaches viz. algorithm, methods, paradigms, techniques how to schedule virtual machines running on physical machines and also concentrate on energy consumption less, optimization , fully workload distribution , exploitation with physical machine rateability.

special conditions need to be applied. So we have discussed some additional algorithms which can help in solving some sub-problems in scheduling mechanism which are applicable to cloud computing. In our future work we will analyze the algorithms with numerical analysis and simulation, which are energy efficient, have less power consumption.

M. Devare et al,proposed a scheduling policy toimplement Scheduler which assign number of virtual machine requests coming from consumer to virtual machines on the base of ‘bully’ and “non-bully” approach.

[1] Shailesh S. Deore, Ashok Narayan Patil (2012), “Systematic Review of Energy-Efficient Scheduling Techniques in Cloud Computing, International Journal of Computer Applications (0975 - 8887)”

The solutions in the context of Haizea are shown, through experiments. The big improvement in utilization and energy consumption is found as workloads are running with lower frequencies. The coincidence of energy consumption and utilization is improved. Jiandun Li et al introduce a hybrid energyefficientscheduling algorithm for private clouds, concentrated on load balancing, Load migration on the base of state of virtual machines, count response time. If response time increases then energy also increases. So they minimised response time in their algorithm. Gregor Von Laszewski et al proposed scheduling virtual machine in a compute cluster to reduce power consumption through Dynamic Voltage Frequency Scaling (DVFS),implementation of energy efficient algorithm to allocate virtual machine. Bo Li, Jianxin Li et al states Energy aware heuristic algorithm on base of distributes workload in virtual machine with minimum number of virtual machines or nodes required that workload. So that workload migration, workload resizes virtual machine migration these approaches are used in algorithm.

REFERENCES

[2] Pinal Salot, “A Survey of Various Scheduling Algorithm in Cloud Computing Environment,ISSN: 2319-1163” [3]M.S.Saleem Basha,Silpa.C.S (2013), “A Comparative Analysis of Scheduling Policies in Cloud Computing Environment, International Journal of Computer Applications (0975 - 8887)” [4] Dzmitry Kliazovich, Sisay T. Arzo, Fabrizio Granelli, Pascal Bouvryand Samee Ullah Khan(2013), “e-STAB: Energy-Efficient Scheduling for Cloud Computing Applications with Traffic Load Balancing,IEEE International Conference on Green Computing and Communications and IEEE Internet ofThings and IEEE Cyber, Physical and Social Computing” [5]Yogita Chawla1 and Mansi Bhonsle,(2012) “A Study on Scheduling Methods in Cloud Computing, International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)” [6]Shaminder Kaur Amandeep Verma(2012), “An Efficient Approach to Genetic Algorithm for Task Scheduling in Cloud Computing Environment”, I.J. Information Technology and Computer Science [7]A Study of Mobile Cloud Computing And Challenges Pragaladan. R1 , Leelavathi .M [8] International Journal of Cloud Computing and Services Science (IJCLOSER) Vol.2, No.2, April 2013, pp. Cloud Computing : Research Issues and Implications M.Rajendra Prasad, R. Lakshman Naik, V.Bapuji [9]Journal of Information Engineering and Applications ISSN 2224-5782 (print) ISSN 2225-0506 Vol 2, No.7, 2012Mobile Cloud Computing: Implications and Challenges by M.Rajendra Prasad, Jayadev Gyani, P.R.K.Murti

CONCLUSIONS AND FUTURE WORK This paper is based on cloud computing technology which has a very vast potential and is still unexplored. The capabilities of cloud computing are endless. Cloud computing provides everything to the user as a service which includes platform as a service, application as a service, infrastructure as a service.One of the major issues of cloud computing is scheduling mechanism because overloading of a system may lead to poor performance which can make the technology unsuccessful. So there is always a requirement of efficient scheduling algorithm for efficient utilization of resources. Our paper focuses on the various scheduling algorithms and their applicability in cloud computing environment. We first categorized the algorithms asBatch mode heuristic scheduling algorithms(BMHA) and online mode heuristic algorithms. Then we analyzed the various algorithms which can be applied in BMHA environments. After that we described the various dynamic scheduling mechanism algorithms. For solving any particular problem some 151

NITTTR, Chandigarh

EDIT-2015


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.