• 沒有找到結果。

5 Dynamic Resource Provisioning

5.1 REM_DRP Algorithm

REM_DRP is assumed to work on a homogeneous cloud platform which contains all resources at the same speed. To maintain acceptable response time, in REM_DRP, each resource is configured with a workload limit Rw and a threshold value for the entire system is Rw*|R|, where |R| is the number of running resources.

The workload limit on each resource is based on the load metric of remaining tasks described in Chapter 4. When the total system workload exceeds the threshold value, the system would deploy additional resources to share the workload. On the other hand, if the system workload is below the threshold value the system would remove

33

some resources to reduce the costs of resource usage. We also define equation 5.1 and 5.2 to compute the number of resource(s) to be added or removed in each decision respectively, where T is the workload limit on each resource represented by the number of tasks.

( ) /

Rmore =⎡⎢ RemainingTasks ThresholdT ⎤⎥ (5.1)

( ) /

Rless =⎢⎣ ThresholdRemainingTasks T⎥⎦ (5.2)

Figure 5.1 illustration of dynamic workloads

Figure 5.1 is an example to describe how REM_DRP work. We mark three different conditions of workload in Figure 5.1. Zones A and B are examples whose number of remaining tasks of the running resources exceed the implicit threshold, while zone C is the contrary. In REM_DRP, the system is asked to add resources in Zone A if the arrivals exceed the completions but not in zone B since the workload is declining. Zone C characterizes that the running resources are underutilized and the unnecessary resources are removed regardless of the number of arrivals or

completions. A decision making algorithm in REM_DRP is defined as follows to dynamically adjust the number of resources used.

34

Decision Making Algorithm

Input: |R|=current number of running resources;

|rem|: remaining tasks of all running resources;

|ari| = the number of task arrivals for all resources in the previous measurement interval;

|done| = the number of completed tasks for all resources in the previous measurement interval;

T = workload limit on each resource (number of tasks).

Output : |R’|: the required number of resources for the next interval

1 if |rem| > ( |R| * T)

The QuID algorithm is introduced in Chapter 2. Before comparing their performance, we illustrate the simulation setup.

5.2 Simulation Setup

35

To compare the effectiveness for REM_DRP and QuID, there were two experiments conducted. There are at most 16 resources available in the first experiment and 50 resources in the second. In both experiments, three workloads of different arrival rates are run. Remaining tasks metric is used for dispatching.

Moreover, the warm-up time of idling resources is 20 seconds and 4 resources are assumed to be ready for accepting requests at the beginning of experiments.

Simulation parameters are summarized in Table 5.1.

Simulation parameters  Experiment 1 Experiment 2 

Total resources      16  50 

3 rounds (workflows)  { 300,    400,    200 }    Request arrival interval  { 3.5,    2.5,    4.5 }  Initial/minimum running 

resources 

Warm‐up time    20 sec. 

    Load metric for dispatching        Remaining tasks metric  Table 5.1 Simulation parameters

Parameters of REM_DRP and QuID are listed in Table 5.2. Parameters of QuID are chosen based on a series of simulations as shown in Table 5.3, 5.4.

   REM_DRP  QuID 

Measurement interval 3 sec.  60 sec. 

Utilization rate       75% 

Table 5.2 Parameters of REM_DRP and QuID

36

(Utilization rate = 75%)

Interval (sec.) 30 45 60 75 90 120

response time 19.2 21.52 13.31 21.42 18.63 52.29 resources 10 11.79 12.63 12.91 12.09 12.69 Table 5.3 Performance of different utilization rate measurement intervals.

(measurement interval = 60)

Utilization (%) 50 65 75 85 90

response time 18.65 15.85 13.31 29.37 30.82 resources 14.61 12.71 12.63 11.44 11.15

Table 5.4 Performance of different utilizations.

In the experimental results, the average resource usage Ravg is computed by the following equation:

avg ( )i

R =avg r , i = 1,2,3,4 … end of simulation.

r

i denotes the number of running resources at time i. The unit of time is second.

5.3 Performance Evaluation

Experimental results are summarized in Table 5.5. Figure 5.2 -5.5 show the details of variations on response time and resource usage during the experiments. For REM_DRP, the workload limit on each resource is set to 9 tasks in the very beginning.

The value 9 was determined by simulation studies on the performance of various values for the workload limit. The results indicate that REM_DRP can outperform the

37

others when there is a wider range for resource amount determination as in experiment 2. For comparison with QuID, in experiment 1, where at most 16 resources are available, REM_DRP has shorter response time than QuID by 31%, but 0.63 resource more in resource usage. In experiment 2, REM_DRP outperforms QuID in both response time and resource usage. Comparing with the static provisioning approach, let the target response time be 8.2 seconds, REM_DRP requires roughly 11.96 resources in average while static provisioning requires 16 resources. From another aspect, let the resources usage be 12 for economic reasons, REM_DRP provides an average response time of 8.3 seconds and static provisioning provides 22.36 seconds. REM_DRP is two times quicker. However, since REM_DRP set resources dynamically, it may use more than 12 resources sometimes.

Utilization rate is used in QuID for measuring the workload on each resource.

One potential drawback of utilization rate for DRP is that when utilization rate reaches 100%, it cannot effectively calculate the amount of resources to increase.

Moreover, utilization rate is a time-interval based measurement, such as arrival rate and average response time. Therefore, it is a crucial issue to determine an appropriate measurement interval. However, this is difficult. As shown in Table 5.3, response time and resource usage are not monotonically increasing or decreasing with the measurement intervals.

38

Static provisioning Dynamic resource provisioning Experiment 1 :

4 ~ 16 resources

Experiment 2 : 4 ~ 50 resources Fixed 16

Resources

Fixed 12

Resources REM_DRP QuID REM_DRP QuID

Avg.

response time (sec.)

8.2 22.36 9.03 13.1 8.3 13.31

Avg.

resource usage

16 12 12.2 11.57 11.96 12.63

Table 5.5. Simulation results.

39

Figure 5.2. REM_DRP in experiment 1, 16 resources available.

Figure 5.3. QuID in experiment 1, 16 resources available.

40

Figure 5.4. REM_DRP in experiment 2, 50 resources available.

Figure 5.5. QuID in experiment 2, 50 resources available.

41

相關文件