• 沒有找到結果。

效能測量結果

EstiNet 網路模擬器進行模擬時,可一邊模擬一邊將所有封包的傳送及接收 記錄至一檔案,稱為 ptr 檔(packet transfer trace file)。使用者可開啟或關閉此記 錄功能。在關閉此功能的狀況下,因為模擬引擎會進行許多模擬計算,較屬於

69

122 115.2 115 109.6 108.6 76.4

70

71

VM 數數 子子子子工作模擬時間增加百分比工作模擬時間增加百分比工作模擬時間增加百分比工作模擬時間增加百分比

2 0.4%

3 1.6%

4 2.7%

5 5.0%

6 4.7%

7 5.8%

8 7.0%

9 8.9%

10 10.1%

表 5-3、效能測量案例二之一:子工作模擬時間增加百分比

我們同時計算各子工作間模擬時間的標準差,由表 5-4 可看到各子工作的模 擬時間差異不大,表示各模擬子工作所需的時間確實在平均值附近。

VM 數數數 子工作執行時間標準差子工作執行時間標準差子工作執行時間標準差子工作執行時間標準差 (sec)

1 2.61

2 1.64

3 0.89

4 1.00

5 0.45

6 1.22

7 0.55

8 0.84

9 0.45

10 0.45

表 5-4、效能測量案例二之一:子工作執行時間標準差

72

266214 216

171 165 160 147 149 145 151 154 168 164 164 179 179 150

0

73

由於這兩台 Node 分別有四個實體核心,透過超執行緒(Hyper-threading)

分別有八個邏輯核心。虛擬機器在 8 台以內時可由實體核心提供運算資源。超過 8 台虛擬機器時則使用到超執行緒所提供的邏輯核心,相較只使用實體核心時有 一些 overhead。17 台以上時,則可能會有多台虛擬機器共用一邏輯核心的情形,

此會造成 overhead 更為加大。

74

VM 數數數 子工作模擬時間增加百分比子工作模擬時間增加百分比子工作模擬時間增加百分比子工作模擬時間增加百分比

2 0.0%

3 0.0%

4 6.1%

5 6.1%

6 8.2%

7 12.2%

8 10.2%

9 20.4%

10 38.8%

11 46.9%

12 49.0%

13 61.2%

14 75.5%

15 95.9%

16 104.1%

17 120.4%

18 149.0%

19 171.4%

20 193.9%

表 5-5、效能測量案例二之二:子工作模擬時間增加百分比

表 5-6 為子工作執行時間的標準差。在虛擬機器數為 1 到 10 台以及 20 台時,

標準差較少,表示子工作執行時間沒有太大差距。而 11 到 19 台時,標準差較大,

表示當一個 Node 開啟約五個虛擬機器時,有些虛擬機器執行得較快、有些較慢。

此是由於一個 Node 開啟五台虛擬機器時,使用到邏輯核心所造成的影響。

75

VM 數數數 子工作執行時間標準差子工作執行時間標準差子工作執行時間標準差子工作執行時間標準差 (sec)

1 1

2 1

3 0

4 1

5 1

6 1

7 2

8 1

9 6

10 5

11 12

12 14

13 14

14 20

15 18

16 24

17 25

18 23

19 20

20 3

表 5-6、效能測量案例二之二:子工作執行時間標準差

76

720 720 747 731 733 758 703 0

77

104 114 107 114 114 121 121 133 160

78

79

500 503 488 511

393 395

CPU-bound (關閉ptr) CPU + IO (開啟ptr)

80

圖 5-8、效能測量案例三之一:子工作平均執行時間

由圖 5-7 跟圖 5-8 可以看到在完成所有子工作時間以及子工作平均執行時間 上,開啟 ptr 的時間是關閉 ptr 的 3 至 4 倍。

48 49 52 52 53 53 54 55 63 68

175 176 186 199 209 215 224 240 257 319

0 50 100 150 200 250 300 350

1 2 3 4 5 6 7 8 9 10

虛擬機器數量 虛擬機器數量 虛擬機器數量 虛擬機器數量

子工作平均執行時間 子工作平均執行時間 子工作平均執行時間

子工作平均執行時間 (sec)

CPU-bound (關閉ptr) CPU + IO (開啟ptr)

81

501347 266 214 216171 165 160 147 149 145 151 154 168 164 164 179 179 150 3838

1932 1426

11259521029830 837

685 723 693 696 726 741 759 736 747 768 778820

0

CPU-bound (關閉ptr) CPU + IO (開啟ptr)

82 176 176 182194 199220 222242 246

287 286308 322

375403

CPU-bound (關閉ptr) CPU + IO (開啟ptr)

83

EstiNet 網路模擬器以 event-driven 的方式進行模擬。在模擬引擎中有一虛擬 時間,表示模擬世界目前進展的時間。各種封包傳送、接收等動作會被當作一個 事件(event),並插入(insert)至事件堆積(event heap)。每個事件會有 expired time,expired time 比目前虛擬時間小的事件會被模擬引擎處理。在模擬引擎中,

推進虛擬時間、取出事件並加以處理的部分稱為排程器(Scheduler)。

「寫入 ptr 檔」在模擬引擎中被視為一個事件、由排程器(Scheduler)處理。

排程器在虛擬時間中每 100 ms 會處理一次 ptr 事件。排程器處理一個 ptr 事件時 會處理所有 expired time 比目前虛擬時間小的 log 事件。