Job scheduling algorithm based on Berger model in cloud environment Baomin Xu a, , Chunyan Zhao b , Enzhao Hu a , Bin Hu c,d a School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China b National Meteorological Information Center, China Meteorological Administration, Beijing 100081, China c Department of Computing, Birmingham City University, Galton Building, Perry Barr, Birmingham B42 2SU, UK d School of Information Science and Engineering, Lanzhou University, No. 222 Tianshui South Road, Lanzhou, Gansu 730000, China article info Article history: Received 7 January 2010 Received in revised form 1 August 2010 Accepted 10 March 2011 Available online 22 April 2011 Keywords: Cloud computing Berger model Job scheduling QoS Fairness constrain. Resources allocation Economic abstract Considered the commercialization and the virtualization characteristics of cloud computing, the paper proposed for the first time an algorithm of job scheduling based on Berger model. In the job scheduling process, the algorithm establishes dual fairness constraint. The first constraint is to classify user tasks by QoS preferences, and establish the general expectation function in accordance with the classification of tasks to restrain the fairness of the resources in selection process. The second constraint is to define resource fairness justice function to judge the fairness of the resources allocation. We have expanded simulation platform CloudSim, and have implemented the job scheduling algorithm proposed in this paper. The experimental results show that the algorithm can effectively execute the user tasks and man- ifests better fairness. Ó 2011 Elsevier Ltd. All rights reserved. 1. Introduction Cloud computing is the development of grid computing, parallel computing and distributed computing. It is a new pattern of busi- ness computing. Compared with grid computing, cloud computing has some new features, such as (1) grid computing is in general the integration of fragmented, heterogeneous distribution resources; cloud computing is the large-scale data center resources which are more concentrated. In addition, virtualization technology hides the heterogeneity of the resources in cloud computing, (2) grid is generally used in science computation, and for solving special- purpose domain problem; cloud computing is user-oriented design which provides varied services to meet the needs of different users. It is more commercialized, and (3) the resources in cloud computing are packed into virtual resources by using virtualization technology. This causes its resource allocation process, the interac- tion with user tasks and so on are different with grid computation. The basic mechanism of cloud computing is to dispatch the computing tasks to resource pooling which constitutes by massive computers. It enables a variety of applications to gain computing power, storage and a variety of software services according to their needs [1,8]. The commercialization and the virtualization technol- ogy adopted by cloud computing has poured into new features for cloud architecture. For example, it leaves the job scheduling com- plexity of cloud computing to the virtual machine layer through re- source virtualization. Further, it raised a number of new features for job scheduling, such as cloud computing needs pay more atten- tion to the fairness of resources allocation. The paper, from the fairness point of view, for the first time pro- posed and implemented the algorithm of job scheduling based on Berger model in cloud computing. The paper is organized as follows: Section 2 gives related work. Section 3 gives some background knowledge. Section 4 gives de- tailed description of the algorithm of job scheduling based on Ber- ger model. Section 5 describes the simulation experiment and experimental results. Section 6 gives the conclusions. 2. Related work The relations between resource supply and demand in distrib- uted system are similarities with commodity economy model. The resources provider is equal to the commodity supplier, and it provides a variety of resources for user. The resources users are equivalent to the commodity buyers. Users need to pay a fee in or- der to achieve the demands of their resources. The basic philoso- phy of the job scheduling algorithm based on economic models is to establish market mechanisms between resource providers and resource consumers. It uses price lever to adjust user needs and resource distribution. The research on how to apply economic theory to resource dis- tribution of distributed system can be traced back to an auction 0965-9978/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.advengsoft.2011.03.007 Corresponding author. E-mail address: xubaomin@gmail.com (B. Xu). Advances in Engineering Software 42 (2011) 419–425 Contents lists available at ScienceDirect Advances in Engineering Software journal homepage: www.elsevier.com/locate/advengsoft