International Journal of Computer Applications (0975 – 8887) Volume 85 – No 2, January 2014 17 Enhancing Cloud Computing Scheduling based on Queuing Models Mohamed Eisa Computer Science Department, Port Said University, 42526 Port Said, Egypt E. I. Esedimy Computer Science Department, Mansoura University, Mansoura, Egypt M. Z. Rashad Computer Science Department, Mansoura University, Mansoura, Egypt ABSTRACT This paper presented a proposed model for cloud computing scheduling based on multiple queuing models. This allowed us to improve the quality of service by minimize execution time per jobs, waiting time and the cost of resources to satisfy user’s requirements. By taking advantage of some useful proprieties of queuing theory scheduling algorithm is proposed to improve scheduling process. Experimental results indicate that our model increases utilization of global scheduler and reduce waiting time. Keywords Cloud computing; Queuing models; Scheduling process. 1. INTRODUCTION Cloud Computing (CC) can be defined as a new style of computing in which dynamically scalable and often virtualized resources are provided as a services over the internet [1]. Cloud computing has become a significant technology trend, and many experts expect that cloud computing will reshape Information Technology (IT) processes and the IT marketplace. The goal of CC is to provide end users with a considerable processing power and computing resources that allow them to run the applications and other user’s requirements. In general, CC depends on the power and resources of computer networks. With this architecture, clients have access to the resources provided by the cloud provider as described in their Service Level Agreement (SLA). Clouds using virtualization technology and data centers to allocate distributed resources for clients as they need. Often traditional scheduling techniques [2, 3] and allocation strategies [4] cannot be used in cloud computing, in which the number of end users requests increases and decreases over time in an unpredictable way. This leads to difficulties of analysis and discover of information from incoming requests to distribute the available resources according to user requirements and constraints of cloud provider. Similarly, unpredictable requests due to the increased costs of server load, maximum the total execution time of the task and the difficulty of making an optimal decision in the whole group of tasks. Amazon EC2 [5], introduce cloud services that allow users to acquire and release resources on-demand. Amazon EC2 also allows workflow systems to increase and decrease the pool of available resources when the demands changing and unpredictable needs of users are involved in the allocation process. Several approaches are used for calculating server’s queue waiting time in cloud computing. In these traditional approaches of cloud computing , only a single server ,called broker, serves all the entire end users and so the overload on that single server increases which affects the system performance. Qiang Li and Yike Guo [6] proposed a model for resource scheduling in the art of cloud computing based on linear programming, but none of these papers have been taken into account the concept of server utilization, queue length and the response time of the system. K.Mukherjee and G.Sahoo, [7] presented a mathematical model based on a Bee and Ant colony system for market-oriented cloud computing. Buyya et al. [8] have proposed an optimization algorithm that minimizes the response time of end users request’s and their cost in the context of cloud computing. Shirazi et al. [9] introduce several scheduling algorithms based on distributed systems that assign the requests to the backend servers. Bryhin et al. [10] compare load balancing techniques for scalable web servers. Therefore, various queuing models are introduced to address this problem based on waiting queues models for each broker in the cloud system that increase system performance, reducing the average queue length and waiting time than the traditional approach of having only one server. Also, the incoming request not wait for along period of time and also queue length need not be large. On the other hand, there are different strategies for effective distribution of the load among the available servers. Random, Round Robin and Least-connection are different strategies that balance the load among distributed servers to minimize waiting times and optimize system performance [11]. The most important problem is how to build a model that can maximize server utilization and minimize waiting time in queuing models. Therefore, a mathematical model is proposed to deal with multiple tasks and resources based on the basis of maximizing the benefit of the cloud provider and decrease the response time of the system. The main objective of this paper is to improve the performance of cloud system using queuing models as a tool. Furthermore, proposed model verified experimentally in several models that achieve higher utilization and response times compared to other models. Finally, scheduling algorithm that compute the lower and upper waiting time for all jobs at the waiting queues is introduced. The rest of this paper is structured as follows. Section 2 introduces the preliminaries and notations. Section 3 discusses our proposed model construction. Section 4 describes the experimentation carried out by discrete event simulator and presents the results. Section 5 concludes the paper. 2. PRELIMINARIES AND NOTATIONS 2.1 Cloud Computing Cloud computing allows users to run applications remotely, as shown in Figure 1, the first is the public cloud services which can be sold to anyone on the Internet (e.g., Amazon Elastic Compute Cloud (EC2) [5] and Google App Engine [12] ). The second type of cloud is a private cloud that supplies hosted services to a limited number of customers (end users). In the type of hybrid cloud the infrastructure is a composition of two