Sie sind auf Seite 1von 6

2013 IEEE Seventh International Symposium on Service-Oriented System Engineering

An Application-oriented Scheduling Optimization Algorithm for Internet-based Virtual Computing Environment


Chunge Zhu1 , Xinran Liu2, Yixian Yang1, Hong Zhang2, Qianhua Xu2
2

Information Security Center, Beijing University of Posts and Telecommunications, Beijing 100876,China, National Computer network Emergency Response technical Team/Coordination Center, Beijing 100029, China jadove@163.com, lxr@cert.org.cn,yxyang@bupt.edu.cn

Abstract: Scheduling algorithms aim to minimize the completion time and maximize the throughput of multiple tasks. However, traditional scheduling schemes cannot satisfy the requirements of internet-based virtual computing environment which contains massive and heterogeneous computing resources. Furthermore, continuously emerging Internet applications are based on virtual computing, even worsening the situation. In this paper, a scheduling optimization algorithm is proposed to achieve application-oriented resource scheduling. Computing resources are classified by their static properties in advance and ranked according to their performance grade, then tasks are marked according to their requirements, and finally a resource sliding window model is employed to perform resource scheduling according to the properties and requirements of tasks, achieving the goal of proper resources serving proper tasks. Besides, the proposed algorithm suppresses traditional scheduling algorithms in load balancing which is sacrificed by many scheduling algorithms for minimizing completion time. Experimental results demonstrate that the proposed scheduling scheme effectively improve resource utilization and success rate of task execution. Keywords: Internet-based Virtual Computing Environment; Scheduling algorithm; Resource Sliding Window

1 Introduction
Built on the open Internet infrastructure, internetbased Virtual Computing Environment (iVCE) provides friendly, secure, transparent and integrated service environment for end users and applications through proper management of distributed resources[1]. iVCE contains massive and heterogeneous autonomic resources, or autonomic element (AE), which are in general added or deleted dynamically, making traditional scheduling algorithms difficult to meet the performance demands[2-6]. The terms autonomic element, resource and node are used interchangeably in this paper. Recent research on scheduling schemes can be roughly classified into two categories: application level and job level scheduling respectively. Application level scheduling is constrained to parameter sweeping and loosely coupled iterative due to the high-latency and low-bandwidth of Internet[7,8]. Originating from the job scheduling in high performance clusters, job level
978-0-7695-4944-6/12 $26.00 2012 IEEE DOI 10.1109/SOSE.2013.49 347

scheduling focuses on the performance optimization of independent job set. However, the task scheduling for Internet is quite different from that for high performance clusters. Clusters usually consist of a set of homogeneous computing nodes connected with fast networks, and the scheduling of clusters targets to improve the system throughput and resource utilization. Yet in iVCE the computing resources from different management domain are heterogeneous and connected by the Internet, thus the number of resources may scale up or down dynamically. Due to the rapid development of Internet, more and more applications have mushroomed base on the Internet, bringing in different requirements on resources. Traditional scheduling algorithms, focusing on minimizing completion time and maximizing throughputs, can no longer meet the demands of multiple applications in iVCE. Therefore, the specific requirements of applications and characteristics of resources must be taken into consideration in order to raise the accuracy of scheduling and improve the executing efficiency of tasks. In this paper we study the job level scheduling under iVCE, and then present an application-oriented Min-Min (AOMM) scheduling optimization algorithm inspired by the classical MinMin algorithm. Employing the resource sliding window model, AOMM first classifies resources according to their static properties in advance, rank them dynamically based on their performance, and then mark the tasks according to their requirements. Finally the resources are scheduled in accordance with the demands of tasks on different resources and thus proper resources serving proper tasks is achieved. Besides, AOMM suppresses traditional scheduling algorithms in load balancing which is sacrificed by many scheduling algorithms for minimum completion time. Experimental results show that the AOMM can effectively improve the quality of service and increase the efficiency of resources. The remainder of this paper is organized as follows. In Section 2, we discuss the resource sliding window model. In Section 3, the AOMM is introduced. Section 4 presents experimental results and analysis. Section 5 concludes the paper.

2 Resource Sliding Window Model


2.1 Category of Resources

Resources in iVCE need to be properly classified according to their characteristics of property and performance in order to take full advantage of the resources. The properties of resources in our iVCE platform can be divided into two categories, namely, static information (SI) and dynamic information (DI). The SI of a certain resource includes the type and number of CPU, memory size, disk capacity, type of operating system, geographical location (in which city for example), the type of ISP and network access (ADSL and fixed line are supported now), the bandwidth of network access, among others. The DI consists of CPU, memory, and disk utilization, the actual bandwidth of network, node stability (the success rate of a node executing tasks), and so on. Therefore, SI refers to the inherent properties of a node while DI reflects the runtime status of that node. Let vector SI denote the parameters of static information, as shown in table 1. Resource nodes are first classified by the components of SI and only those nodes of which the SI satisfies the demand of a task can enter the resource window. For example, a task may impose constraints on the location and ISP of a node, say, Beijing Mobile, then a node can enter the resource window only if both lc = Beijing and it = Mobile are satisfied. In such a way the accuracy of task scheduling can be improved effectively. Similarly, the parameters of dynamic information form another vector denoted by DI, shown in table 2. The dynamic information is continuously changing, representing the current status of a node. Employing the trust model discussed in our previous work[9], each node is assigned a trust value ( tv ) as the stability of the node according to history information. Bandwidth ( bw ) values are normalized to 100Mbps. Therefore, all the parameters of DI fall within the interval [0, 1]. DI indicates the real time performance of a node as pointed out earlier. In order to evaluate the real time performance of a node, denoted by pv, we assign weights to each parameter of DI, thus pv can be calculated by equation (1): pvi= (1-cui)+ (1-mui)+ (1-dui)+ bwi+ tvi , where ++++=1 (1) equation

of different tasks. For example, if stability is crucial for a task, we can increase the weight of tv , i.e. in equation (1). The larger the pv value, the higher the nodes performance is. The performance grade of a node, denoted by pb, can be calculated based on the value of pv. Equation (2) shows a piecewise function for pb:
1, 2, pb = 3, 4, pv [0.8,1]; pv [0.5,0.8); pv [0.3,0.5); pv [0,0.3).

equation

(2)

2.2Resource Sliding Window Model


A resource available for a certain task takes 3 steps before entering the resource sliding window: 1. Satisfy the basic requirement of vector SI. That is, for b1, b1 being a boolean, if the static information shows that the resource is sufficient for running the task, then b1 = 1; otherwise, b1= 0. 2. Satisfy the pb grade. Similarly, for b2, also a boolean, b2=1, when equation (3) holds; Otherwise, b2=0. equation (3) pv[a,b],( a,b, ab), 3. A resource can enter the resource sliding window only when both b1 and b2 are true, i.e. b1 = 1and b2=1,as shown in equation (4): equation (4) w=b1b2 w indicates whether a resource is within the resource sliding window or not. A resource can only be scheduled when w=1 holds. Thus the resource sliding window slides with two features: Firstly, the size of window is adjusted adaptively. The model can adjust the window size dynamically by choosing proper pb values according to the runtime resource requirements of multiple tasks. Thus, the model offers good flexibility to adapt those tasks that have quite different requirements on resources. Secondly, the resources in the window slide dynamically. The pb is obtained through a lot of real time information, and stability tv takes account of previous behavior, thus the performance grade pb assures that good resources be updated promptly and accurately.

In equation (1) pvi denotes the real time performance of the ith node and obviously pv[0,1] holds. The weights of each parameter can be tailored to meet the demands CPU Type ct CPU Number cn Memory Size ms Disk Capacity dc

Table 1. Vector SI for Static Information

SI

OS. Type ot

Location City lc

ISP Type it

Acces Type at

Access Bandwidth ab

Table 2. Vector DI for Dynamic Information

DI

CPU Utilization cu

Memory Utilization mu

Disk Utilization du

BandWidth bw

Stability(Trust Value) tv

348

3 Application-oriented Optimization MinMin algorithm (AOMM)


3.1 Min-Min Algorithm
The traditional Min-Min algorithm always assigns a task to the resource which uses the smallest time, minimizing the total execution time. To achieve the goal, Min-Min seeks minimum values twice; first calculates the minimal finish time for each task on the corresponding resources, and then selects the minimum one among all the minimal finish times. The obtained resource-task pairs make the optimal combinations[10]. Suppose there are m tasks, denoted as T={ t1, t2, tm} and n autonomic elements, denoted as AE={ae1, ae2,aen}, then the expected time for each task running on every AE can be represented by an mn matrix, denoted by ET(i,j). The element ET(i,j) indicates the expected time of task ti performed on aej. Each line in the matrix specifies the expected time of the corresponding task on all the AEs while each column represents the expected time for an AE executing all the tasks. The following steps are iterated until the set is empty: 1for each t1 in T, calculate MinTime (ti executed on ae1, ae2 , aen) and acquire an array MinTime(j) with n elements; 2if MinTimej is the minimal oneti is assigned to aej; 3delete ti; 4Next ti+1; update matrix ET(i,j). Table 3 lists the expected time for each task dispatched on every AE, where - means that the AE cant meet the requirement of the corresponding task due to the failed match of SI, i.e. b1=0. For example, ae1is capable of performing t1, t2, t4and t5, ae3 and ae4 are suitable for tasks of different types respectively. Obviously, ae2 supports all the tasks. According to the above algorithm, the assigned task-resource pairs are t5(ae2), t4(ae2), t1(ae2), t3(ae2), and t2(ae2), with the total expected time being 2+3+4.5+6+9=24.5ms. ae2 does all the tasks with the other three AEs absolutely idle.
Table 3. The Expected Time for Each Task on AEs

idle according to the traditional Min-Min algorithm, leading to load imbalance. The Min-Min algorithm always prefers smaller task and thus cannot guarantee load balance, which is the main drawback of Min-Min. Some approaches are proposed to improve the algorithm. For the sake of load balance, the authors of the paper [11] divide all the resources into special ones and ordinary ones; and the tasks are also marked. They assign the tasks with high requirements to special resources. Nevertheless, the classification of resources is oversimplified and no criterion is presented. In the paper [12], resources are classified according to their static information and the authors also give their criterion for classification. But no dynamic updates of the information are supported.

3.2 AOMM
In order to improve the overall performance, AOMM employs the resource sliding window model to optimize the traditional Min-Min algorithm, to take full advantage of resources with the consideration of their runtime information. First, for each task ti, calculate b1 using the static information SI of each resource. Then for the resources with b1 = 1 satisfied, compute b2 according to their pb grade values. Only those resources satisfying w=b1b2 are allowed to enter the resource sliding window. Let a variable c be the product of minimum completion time and grade pb for a task on a certain resource, as shown in equation (5): c=MinTimepb equation (5). The tasks-resources combination with minimum c is finally scheduled and in this way both minimum execution time and load balance are guaranteed. Using the same notations as last section, T={ t1, t2,tm}, AE={ae1, ae2,aen}, and ET(i,j), for task set, AE set and expected time matrix, respectively, we now present the optimized scheduling algorithm AOMM, which iterate as follows until the set is empty: 1for each ti in Tcompute b1i to obtain an array b1i (j) with m boolean values; 2calculate another boolean array b2i (j); 3a third boolean array wi(j) is acquired using wi= b1i b2i; 4When wi=1calculate MinTime (ti executed on aek, aep , aeq), acquiring an array MinTime (j); 5Using cij(j)=MinTimepbiwe have an array ci(j); 6sort ci(j), and if cij is minimal, schedule ti to run on aej; 7delete ti; 8Next ti+1; update the matrix ET(i,j). Applying the optimized scheduling algorithm AOMM to the tasks in Table 3 yields the information about tasks and resources as shown in Table 4.

tasks t1 t2 t3 t4 t5

Expected time on ae1/ms 5 11 8 7.5

Expected time on ae2 /ms 4.5 9 6 3 2

Expected time on ae3 /ms 10 15 10.5

Expected time on ae4/ms 5.5 7 15 6.5

Moreover, ET(i,j) is a consistent matrix , meaning that if aej consumes less time than aek for task ti, then aej carries out all the tasks faster than aek. As a result, some resources are always scheduled while some constantly

349

Table 4. The Expected Time for Each Task on AEs and Grades of AEs

tasks

Expected time on ae1/ms 5 11 8 7.5

Grade of ae1 3 3 3 3 3

w1 0 1 0 1 1

Expected time on ae2/ms 4.5 9 6 3 2

Grade of ae2 4 4 4 4 4

w2 0 0 0 0 1

Expected time on ae3 /ms 10 15 10.5

Grade of ae3 1 1 1 1 1

w3 0 1 1 1 0

Expected time on ae4/ms 5.5 7 15 6.5

Grade of ae4 2 2 2 2 2

w4 1 0 1 1 1

t1 t2 t3 t4 t5

Task t1 requires that the performance grade of resources be 1 and 2 while t2, t3and t4 require resources of higher than 3. Task t5 imposes no constraints on grade and can be executed on any resource. Use AOMM to calculate the values of ci(j) as follows: c1=5.5(ae4)2=11,c2=10(ae3)1=10, c3=7(ae4)2=14, c4=3(ae2)4=12, and c5=2(ae2)4=8. Therefore, the final solution of scheduling will be t5(ae2), t2(ae3), t1(ae4), t4(ae2), and t3(ae4), yielding a total execution time of 2+3+10+5.5+7=27.5ms. Although it takes 3ms more than the traditional Min-Min algorithm, we get better service because the specific requirements of applications are taken into consideration. Besides, the load is more balanced and thus higher utilization of resources is consequently achieved.

accordance with their historical behaviors. Under the proposed framework, an iVCE user submits and runs a task as follows: (1) commit the task to the task queue, (2) the task scheduler picks up each task in the queue and interacts with the task scheduling strategy module, (3) the trusted service manager calculates trust information by analyzing the transaction record and transfers it to the resource sliding window model, (4) The task scheduling strategy module obtains a list of available resources via proper interaction with the resource sliding window model, (5) The task scheduling strategy module passes the information of resources that are most suitable for the task to the task scheduler which sends the task to the chosen resources.

3.3 iVCE Framework Based on AOMM


The AOMM algorithm is designed to work in iVCE in the form of middleware and is invoked appropriately to assign tasks to suitable AEs. This section covers the general framework of iVCE based on AOMM, as depicted in Fig 1.

4 Experiments and Analysis


4.1 Experimental Setups
In order to analyze the distinction on system reliability and resource utilization between AOMM and traditional Min-Min scheduling algorithm, we made some experimental simulations using CloudSim, a software for cloud computing simulation. To simplify the model and indicate intuitively the distinction caused by multiple applications, only the two properties of static information, namely location and ISP type, are constrained by different applications. We designed several scenarios for executing 10000 tasks on 1000 nodes and each scenario was repeated 20 times. Scenario 1. Set the number of locations to 2 and the number of ISP types to 2, denoted by (2, 2). In this case, the 1000 nodes are divided into 4 groups with each group containing 250 nodes. Each group corresponds to one combination of the location and ISP type constraints. We randomly generate CPU performance parameters and trust value tv for each node. Scenario 2. Set the number of locations to 10 and ISP types to 4, denoted by (10, 4). In this case, the 1000 nodes are divided into 40 groups with each group containing 25 nodes and each group corresponds to one combination of the location and ISP type constraints. Also, the CPU parameters and trust value tv are generated randomly. Scenario 3. The two numbers are set to 20 and 5 respectively, designated by (20, 5). In this case, the 1000 nodes are divided into 200 groups with each group

Fig 1. General framework of iVCE based on AOMM

In Fig 1, the framework consists of three layers from the bottom up, namely the virtual resource layer, the task and resource management layers, and application layer. The task scheduling strategy module of task layer uses the proposed AOMM scheduling algorithm. For resource management layer, a resource recommendation list is obtained according to the resource sliding window model and the trusted service manager is referred to our earlier work (Credit Evaluating Model based on Bayesian statistics model) which takes responsibility to carry out the stability of AE in

350

containing 10 nodes and each group also corresponds to one combination of the location and ISP type constraints. As with the previous two scenarios, the CPU parameters and trust value tv are generated randomly.

4.3 Experiment 2: Comparison of Resource Utilization


Fig 3 shows a comparison on resource utilization between the AOMM and traditional Min-Min algorithm for the three constrains (2, 2), (10, 4), (20, 5). As discussed in section 3.1, some resources are always busy while some keep idle when they are scheduled by traditional Min-Min algorithm, leading to severe load imbalance. Conversely, AOMM improves the utilization of resources effectively (as shown in Fig. 3). The superiority becomes more evident as the number of required location and ISP type grows.

4.2 Experiment 1: Comparison of Success Rate


Fig 2 shows the rate of tasks being successfully executed using the AOMM and traditional Min-Min algorithm for scheduling. The three diagrams correspond to constraints (2, 2), (10, 4) and (20, 5), respectively.

Fig 3. Comparison of system resource utilization Fig 2. Comparison of success rate of executing tasks

It is observed that the traditional Min-Min algorithm exhibits a severe fluctuation in success rate which reaches up to 70% at most in only a few cases. The success rate converges to 50% as the number of applications increases. In contrast, the improved AOMM exceeds the Min-Min with a much higher success rate in all cases and wins more advantages as the number of required location and ISP type grows.

4.4 Experiment 3: Comparison of Completion time


Fig 4 compares completion time between the AOMM and traditional Min-Min algorithm for the three constrains (2, 2), (10, 4), (20, 5). There is little difference on completion time between traditional Min-Min algorithm and our AOMM. However, as the number of required location and ISP type increases, the time consumed by AOMM

351

grows slower than that consumed by traditional MinMin algorithm.

improve the accuracy of resource properties, providing better support for more accurate scheduling of tasks.

Acknowledgements
This project is supported by the Major Project of Chinese National Programs for Fundamental Research and Development (973 Program) (No. 2011CB302605).

References
Lu Xi-cheng, Wang Huai-min, Wang Ji Internet-based virtual computing environment ivce:Concepts and architecture, Science in China Ser.E Information Sciences, vol. 36, no. 10, pp.1081-1099, 2006 [2] Ahson S, Ilyas M. Cloud computing and software services[M].Florida, USA; CRC Press,2009 [3] Tang Xiaochun Liu Jian, Better allocation of meta-zone in cloud computing environment [J]. Computer Engineering and Applications,2010,46(34):237-241. [4] Foster I , Zhao Yong, Raicu I, et al, Cloud computing and grid computing360 degree compared [C], Proceedings of the Grid Computing Environments Workshop. Washington, DC: IEEE Computing Society,2008:1-10 [5] Caron E, Desprez F, Loureiro D, et al. Cloud computing resource management through a grid middleware; A case study with DIET and eucalyptus [C]. Bangalore, India: IEEE International Conference on Cloud Computing, 2009 [6] Li Jianfeng, Peng Jian, Task scheduling algorithm based on improved genetic algorithm in cloud computing environment [J].Journal of Computer Applications, 2011,31(1):184-186. [7] Buyya R, Abramson D, Giddy J, Stockinger H. Economic models for resource management and scheduling in grid computing. Special Issue on Grid computing Environments, Journal of Concurrency and Computation: Practice and Experience (CCPE), 2002, 14(13-15):1507-1542. [8] Dail H, Berman F, Casanova H, A decoupled scheduling approach for grid application development environments. Journal of Parallel and Distributed Computing, 2003, 63(5):505-524 [9] Zhu Chunge, Liu Xinran, Yang Yixian, Zhang Hong, Xu Qianhua, A Redundant Scheduling Algorithm based on Trust Model for Internet-based Virtual Computing Environment[J] AISS. 2012,46(24):107-109 [10] Du Yuxia, Liu Fangai, Guo Lei. Research and improvement of Min-Min scheduling algorithm [J]. Computer Engineering and Applications, 2010,46(24):107-109 [11] Wu Gaofeng, Cai Yuming, Yang Lin, et al. Scheduling algorithm of modified Min-Min based on QoS in grid [J]. Micro Computer Information, 2009, 26(9):110-112 [12] Zuo Liyun, Zuo Lifeng, Cloud computing scheduling optimization algorithm based on reservation category [J]. Computer Engineering and Design, Apr.2012, Vol(33) No.4:1357-1361. [1]

Fig 4. Comparison of completion time

5 Conclusions
In this paper we analyzed the characteristics of virtual computing environment with massive internet applications running on it, and proposed an applicationoriented scheduling optimization approach (AOMM) to optimize the traditional Min-Min algorithm. By introducing a new resource sliding window model, AOMM accomplishes the goal of proper resources serving proper tasks. Experimental simulations demonstrate that the scheduling algorithm proposed in this paper can effectively improve success rate of task execution at the cost of trivial completion time. Besides, AOMM obtains a better load balance, thus improving the resource utilization of the whole system. Further research will be focused on the strategy of resource classification and dynamic performance grading to

352

Das könnte Ihnen auch gefallen