• 沒有找到結果。

Chapter 5. Performance Evaluation

5.3  Discussions

The performance results shown in the previous section indicate that our JQA-based approaches, in general, can reduce the mean service response time significantly in almost all situations. However, the performance results also present several interesting phenomena. For example, in some cases such as Figure 5.1 and Figure 5.2, JQA_RR led to even worse mean service response time than JIQ-based approaches. We made a deep investigation and found out the cause. Table 5.2 is an example to illustrate the phenomenon, which shows the entire process of handling twelve requests with two dispatchers and five VM’s.

In Table 5.2, T represents the time instants of request arrivals, C is the cloudlets in CloudSim representing user requests, D represents dispatchers, and V stands for VM which is the resource for executing requests. Each column of C indicates which cloudlet arrives at which dispatcher at what time. The column of D records the VM’s waiting in a particular dispatcher at different time instants. The columns of V1,V2,V3,V4 and V5 show the cloudlets waiting in a particular VM for execution at different time instants and the number in the parentheses indicates the estimated total execution time of all the cloudlets waiting in that VM. Each row in the table shows the status of every dispatcher and VM when a cloudlet arrives at a specific time instant.

In this illustrative example, we found that when all servers join the dispatchers in a round robin manner, a situation like Table 5.2 might occur, where a majority of servers join the same dispatcher, if most servers process the requests at a similar speed. For example, in the tenth row of Table 5.2, all VMs are registered in dispatcher 1. Therefore, when cloudlet10 arrives at dispatcher 2, there are no available VM’s for it and it is then dispatched randomly to a VM, V2, with the highest load unfortunately, leading to a longer service response time. We also found

39

that this undesirable property of JQA_RR becomes less significant when the inter-arrival time of requests is smaller as shown in Figure 5.3. This is because as the requests come quickly the VM’s on a particular dispatcher have more chance to be assigned requests and then join another dispatcher sooner, greatly reducing the possibility of imbalance in the server distribution among the dispatchers.

The undesirable property of JQA_RR motivated us to develop the JQA_NT, JQA_Random and JQA_LC approaches. According to the experimental results, we found that JQA_NT is relatively stable than JQA_RR and JQA_Random and JQA_LC can perform even better than the previous two approaches.

Table 5.2 Example for JQA_RR

T C D1 D2 V1 V2 V3 V4 V5

0 C1toD2 V1,V2,V3,V4,V5

0 C2toD1 V1,V2,V3,V4,V5 C1,(1)

1 C3toD2 V2,V3,V4,V5 V1 C2,(1) C1,(1) 1 C4toD1 V2,V3,V4,V5,V1 C2,C3,(3) C1,(1) 1 C5toD1 V3,V4,V5,V1 V2 C2,C3,(3) C4,(2) C1,(1) 4 C6toD2 V4,V5,V1 V2,V3 C3,(1)

4 C7toD2 V4,V5,V1,V2 V3 C3,(1) C6,(10)

4 C8toD1 V4,V5,V1,V2,V3 C3,(1) C6,(10) C7,(1) 4 C9toD2 V5,V1,V2,V3 V4 C3,(1) C6,(10) C7,(1) C8,(1) 4 C10toD2 V5,V1,V2,V3,V4 C3,(1) C6,(10) C7,(1) C8,C9,(2) 4 C11toD2 V5,V1,V2,V3,V4 C3,(1) C6,C10,(11) C7,(1) C8,C9,(2) 4 C12toD1 V5,V1,V2,V3,V4 C3,C11,(2) C6,C10,(11) C7,(1) C8,C9,(2)

Another interesting phenomenon is that in some cases JQA_Random outperforms JQA_LC slightly as shown in Figure 5.5. This observation contradicts our original expectation

40

that JQA_LC would achieve the best load-balancing effects since the server chooses the dispatcher with the least number of registered servers to join. We also made a deep investigation into this phenomenon and found that JQA_LC sometimes might run into an undesirable situation. Table 5.3 is an example to illustrate the undesirable situation.

Sometimes it might happen that several consecutive requests are directed to the same dispatcher such as cloudlet1 to cloudlet5 and dispatcher 2 in Table 5.3. These cloudlets would be assigned to VM2 or VM4 which are registered with dispatcher 2. According to the mechanism of JQA_LC, VM2 and VM4 would soon re-join dispatcher 2 and receive more requests as shown in the table since dispatcher 2 has a less amount of servers than dispatcher 1.

This leads to a situation that VM2 and VM4 are soon overloaded, but the requests arriving at dispatcher 2 are still continuously sent to them. For example, the load of available VMs in dispatcher 2 is higher than the load of available VMs in dispatcher 1 when cloudlet 4 arrives at dispatcher 2, resulting in that cloudlet 4 is sent to a VM, VM4, with higher workload. This deteriorates the load-balancing effects and leads to worse service response time. This situation can be avoided in JQA_Random since V2 and V4 would not always registered with dispatcher 2, allowing dispatcher 2 to have a chance to assign the incoming requests to a lightly loaded VM even through random dispatching.

41

Table 5.3 Example for JQA_LC

T C D1 D2 V1 V2 V3 V4 V5

0 C1toD2 V1,V3, V5 V 2, V 4

0 C2toD2 V1,V3,V5 V4 C1,(1) 1 C3toD2 V1,V3,V5 V2,V4 C2,(2)

2 C4toD2 V1,V3,V5 V4,V2 C3,(6) C2,(1) 2 C5toD2 V1,V3,V5 V2 C3,(6) C2,C4,(4)

7 C6toD1 V1,V3,V5 V4,V2 C3,C5,(2)

7 C7toD2 V3,V5 V4,V2 C6,(20) C3,C5,(2)

7 C8toD1 V3,V5 V2 C6,(20) C3,C5,(2) C7,(1) 7 C9toD1 V5 V2 C6,(20) C3,C5,(2) C8,(1) C7,(1)

7 C10toD1 V2 C6,(20) C3,C5,(2) C8,(1) C7,(1) C9,(1) 7 C11toD1 V2 C6,C10,(21) C3,C5,(2) C8,(1) C7,(1) C9,(1) 8 C12toD2 V1,V3,V5 V2,V4 C6,C10,(20) C11,(2)

9 C13toD2 V1,V3,V5 V4,V2 C6,C10,(19) C12,(4) C11,(2)

9 C14toD2 V1,V3,V5 V2 C6,C10,(19) C12,(4) C11,C13,(6) 11 C15toD2 V1,V3,V5 V4,V2 C6,C10,(17) C12,C14,(6) C13,(4)

Although sometimes JQA_Random might outperform JQA_LC slightly, in general JQA_LC performs better because the performance of JQA_Random varies largely as shown in Figure 5.1 and Figure 5.2. Table 5.4 is an example illustrating when JQA_Random would perform poorly. Dispatcher 2 assigns VM5 to execute cloudlet8 and unfortunately VM5 re-registers to dispatcher 2 again at random. Therefore, when cloudlet 13 arrives at dispatcher 1, it can only be assigned to a VM of higher workload than VM5, in this case V1. This undesirable situation can be avoided if JQA_LC is adopted, since dispatcher 1 has less servers than dispatcher 2 and some lightly loaded servers would join dispatcher 1 instead of dispatcher2.

42

Table 5.4 Example for JQA_Random

T C D1 D2 D3 V1 V2 V3 V4 V5 0 C1toD2 V4, V2,V3,V5 V1,

0 C2toD1 V4,V2, V3,V5 V1, c1,(1)

1 C3toD3 V2, V3,V5,V4 V1, c2,(2)

2 C4toD1 V2, V3,V5,V4,V1 c3,(6)

2 C5toD2 V3,V5,V4,V1 V2, c3,(6) c4,(4) 7 C6toD3 V5,V4,V1,V3 V2,

7 C7toD3 V2, V5,V4,V1,V3 c6,(20) 7 C8toD2 V2, V5,V4,V1,V3 c6,c7,(21)

7 C9toD2 V2, V4,V1,V3,V5 c6,c7,(21) c8,(1) 7 C10toD3 V2, V1,V3,V5,V4 c6,c7,(21) c9,(1) c8,(1) 7 C11toD2 V2, V1,V3,V5,V4 c6,c7,(21) c9,c10,(2) c8,(1) 8 C12toD3 V2,V1, V3,V5,V4 c11,(2) c6,c7,(20) c10,(1) 9 C13toD1 V2,V1, V3,V5,V4 c12,(4) c6,c7,(19)

9 C14toD1 V2, V3,V5,V4,V1 c12,c13,(8) c6,c7,(19) 11 C15toD2 V3,V5,V4,V1,V2, c12,c13,(6) c6,c7,c14,(19)

43

相關文件