• 沒有找到結果。

實驗結果

在文檔中 中 華 大 學 碩 士 論 文 (頁 42-54)

第五章 實驗結果

5.2 實驗結果

33

34

表 5.2 實驗化合物詳細資料

編號 化學式 原子數 原子數(不含氫) 圖形

C00097 C3H7NO2S 14 7

C00497 C4H6O5 15 9

C11109 C4H9NO2 16 7

C14601 C4H8O3 15 7

C15987 C5H11NO2 19 8

每一個化合物皆以單核、雙核、四核等三種不同核心數量的支援度下,以每 一種核心數量的環境中,分別以不同長度的路徑頻率 K 值來進行運算。K 值最小 為 1,最大為 4,每次增長量為 1。

表 5.3、圖 5.1 以及圖 5.2 為化合物 C00097 的實驗結果。在表 5.3 中可以看 到各個核心在不同的路徑頻率限制下所花費的處理時間,當 K=1 時,在單核心

35

處理的情況下,完成運算所花費的總時間為 0.36 秒;而在雙核心的情況下,則 花費了 0.14 秒完成,四核心時為 0.48 秒,而所得到的結果為 23 個可行的化合物。

於 K=1 且由四個核心下去執行時,最短處理時間為 Core 2,花費的時間只有 0.09 秒,其次為 Core 4,為 0.10 秒,Core 1 及 Core 4 分別為 0.16 秒及 0.10 秒。造成 這個結果的原因為,每一個核心所接到的工作起始狀態不同,例如表 5.2 中,

C00097 化合物的圖型,假設 Core 1 的起始狀態為 O-C,Core 3 的起始狀態為 C-S,

而由 O-C 為基礎開始演化出的可能性較多,但由 C-S 作為基礎的可能性較少,

當 Core 3 的工作結束時,其他的 Cores 還在繼續進行演算,因此工作完成時間上 會產生差距。

表 5.3 化合物 C00097 詳細數據 Instances Cores detail CPU time (sec.)

K=1 K=2 K=3 K=4 C00097 1 Core 0.36 0.14 0.19 0.48

2 Cores Core 1 0.14 0.07 0.07 0.19 Core 2 0.20 0.06 0.08 0.23 Max 0.20 0.07 0.08 0.23 4 Cores Core 1 0.16 0.05 0.05 0.09 Core 2 0.09 0.05 0.06 0.15 Core 3 0.18 0.04 0.06 0.13 Core 4 0.10 0.04 0.05 0.08 Max 0.18 0.05 0.06 0.15 Results 22 3 1 1

於下圖 5.1 中,當 K=1 時,平均所花費的時間為最高,原因在於只有單一個核心 在進行處理全部的工作,因此需要花費較多的時間;而 K=4 時,所花費的時間 為次高,原因在於每次新插入新原子後,需要重新去計算化合物的路徑頻率,再

36

去跟目標化合物進行比對,因此需花費更多的時間在重新計算上。

在下圖 5.2 中為 C00097 化合物的效能提升率,我們可以看到當所支援的核 心數量越多時,能夠有更好的效能。

圖 5.1 化合物 C00097 所花費的計算時間

圖 5.2 化合物 C00097 的效能提升率

0 0.1 0.2 0.3 0.4 0.5 0.6

1 Core 2 Cores 4 Cores

Time (sec.)

C00097 computing time

K=1 K=2 K=3 K=4

0 0.5 1 1.5 2 2.5 3 3.5

1 Core 2 Cores 4 Cores

Speedup ratio

C00097 Speedup

K=1 K=2 K=3 K=4

37

下表 5.4、圖 5.3 以及圖 5.4 為化合物 C00497 的實驗結果,當只有單核心的 情況下,K=4 時,花費了 7.01 秒,原因在於所有的工作只能由單一核心慢慢消 化,再加上需要重新計算路徑頻率,因此花費的時間相較於其他的情況下較高。

於多個核心的支援下,部份的核心花費時間相較於其他核心來得小,原因在於每 一個核心所獲得的工作起始狀態不同,進而影響到每一個工作的完成時間。

表 5.4 化合物 C00497 詳細數據 Instances Cores detail CPU time (sec.)

K=1 K=2 K=3 K=4 C00497 1 Core 6.37 1.72 2.08 7.01

2 Cores Core 1 4.29 0.97 1.27 4.56 Core 2 2.65 0.94 0.71 2.13 Max 4.29 0.97 1.27 4.56 4 Cores Core 1 0.36 0.66 0.20 0.57 Core 2 2.44 0.93 0.47 4.19 Core 3 4.00 0.22 1.18 1.39 Core 4 0.16 0.41 0.28 0.48 Max 4.00 0.93 1.18 4.19 Results 5 2 1 1

由下圖 5.3 可以看到,如上述 K=4、單核心的情況下,花費的時間為最多,

當核心支援的數量越多時,可以明顯的看到花費時間大幅減少,於圖 5.4 中可見,

其效能提升率約為 1.8 倍。

38

圖 5.3 化合物 C00497 所花費的計算時間

圖 5.4 化合物 C00497 的效能提升率

表 5.5、圖 5.5 以及圖 5.6 為化合物 C11109 的實驗結果,於下表 5.4 可明顯 看到單核心且 K=4 時,花費的時間最長,其他情況下所花費的計算時間都較小。

處理完化合物 C11109 後分別得到的結果為 3、1、1、1。於不同核心數量的支援 下,可看到部份核心的處理時間相較於其他核心較為短,原因在於該核心所取得

0 1 2 3 4 5 6 7 8

1 Core 2 Cores 4 Cores

Time (sec.)

C00497 computing time

K=1 K=2 K=3 K=4

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

1 Core 2 Cores 4 Cores

Speedup ratio

C00497 Speedup

K=1 K=2 K=3 K=4

39

的工作皆無演化的可能性,因此運算速度較短。

表 5.5 化合物 C11109 詳細數據 Instances Cores detail CPU time (sec.)

K=1 K=2 K=3 K=4 C11109 1 Core 0.45 0.36 0.43 1.18

2 Cores Core 1 0.23 0.20 0.16 0.45 Core 2 0.22 0.23 0.23 0.66 Max 0.23 0.23 0.23 0.66 4 Cores Core 1 0.14 0.11 0.12 0.26 Core 2 0.17 0.15 0.10 0.26 Core 3 0.11 0.19 0.18 0.20 Core 4 0.20 0.11 0.12 0.45 Max 0.20 0.19 0.18 0.45 Results 3 1 1 1

於下圖 5.5 以及圖 5.6 分別可以看出核心的支援數量越多時,所花費的時間 也越少,效能也有更明顯的提升,如圖 5.6 中所示,K=4 且核心支援數量為 4 時,

效能提升超過 2.5 倍。

圖 5.5 化合物 C11109 所花費的計算時間

0 0.2 0.4 0.6 0.8 1 1.2 1.4

1 Core 2 Cores 4 Cores

Time (sec.)

C11109 computing time

K=1 K=2 K=3 K=4

40

圖 5.6 化合物 C11109 的效能提升率

表 5.6、圖 5.7 以及圖 5.8 為化合物 C14601 的實驗結果。在下表 5.6 中,化 合物 C14601 於單核心支援情況下,K=3 以及 K=4 所花費的處理時間分別是 0.10 以及 0.23 秒,而在四核心支援的情況下,則平均低於 0.5 秒,而所得到的結果分 別為 4、1、1、1 個。

表 5.6 化合物 C14601 詳細數據 Instances Cores detail CPU time (sec.)

K=1 K=2 K=3 K=4 C14601 1 Core 0.07 0.07 0.10 0.23

2 Cores Core 1 0.02 0.03 0.03 0.12 Core 2 0.02 0.03 0.04 0.05 Max 0.02 0.03 0.04 0.12 4 Cores Core 1 0.02 0.02 0.02 0.03 Core 2 0.02 0.02 0.02 0.03 Core 3 0.02 0.02 0.03 0.03 Core 4 0.02 0.02 0.02 0.10 Max 0.02 0.02 0.03 0.10 Results 4 1 1 1

0 0.5 1 1.5 2 2.5 3

1 Core 2 Cores 4 Cores

Speedup ratio

C11109 Speedup

K=1 K=2 K=3 K=4

41

如下圖 5.7 以及圖 5.8 所示,核心支援數量的提升,對於處理時間上有顯著 的降低。於圖 5.8 中,K=4 且核心支援數量達四個時,效能明顯提升約 3.5 倍。

圖 5.7 化合物 C14601 所花費的計算時間

圖 5.8 化合物 C14601 的效能提升率

表 5.7、圖 5.9 以及圖 5.10 為化合物 C15987 的實驗結果。於下表 5.7 所示,

0 0.05 0.1 0.15 0.2 0.25

1 Core 2 Cores 4 Cores

Time (sec.)

C14601 computing time

K=1 K=2 K=3 K=4

0 0.5 1 1.5 2 2.5 3 3.5 4

1 Core 2 Cores 4 Cores

Speedup ratio

C14601 Speedup

K=1 K=2 K=3 K=4

42

平均 K=1 時所花費的時間最長,而主要的原因在於化合物種類多,複雜程度也 較難以掌控,但提升 K 值可以有效地減少更多的計算時間。化合物當 K=1 且以 四核心進行平行處理的情況下, Core 3 所花費的時間最高,可見其分配到的工 作起始狀態較具演化的可能性,因此花費時間會多於其他核心。C15987 所得到 的結果數量分別為 6、1、1、1。

表 5.7 化合物 C15987 詳細數據 Instances Cores detail CPU time (sec.)

K=1 K=2 K=3 K=4 C15987 1 Core 0.30 0.08 0.10 0.17

2 Cores Core 1 0.02 0.02 0.05 0.10 Core 2 0.24 0.03 0.02 0.03 Max 0.24 0.03 0.05 0.10 4 Cores Core 1 0.01 0.01 0.04 0.03 Core 2 0.01 0.01 0.00 0.01 Core 3 0.24 0.02 0.02 0.08 Core 4 0.02 0.00 0.02 0.03 Max 0.24 0.02 0.04 0.08 Results 6 1 1 1

如下圖 5.9 以及圖 5.10 所示,核心支援數量的提升,可以有效的減少計算時 間,且效能提升率最高則超過 3 倍。

43

圖 5.9 化合物 C15987 所花費的計算時間

圖 5.10 化合物 C15987 的效能提升率

從上述的實驗數據中可以得知,隨著路徑頻率的長度越長時,所得到的結果 也會越少,且花費的時間可能會越來越長,原因在於路徑頻率越短時,也代表著 化合物的限制也越少,因此可能性的組合也就越多,相對的需要花費更多的時間

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

1 Core 2 Cores 4 Cores

Time (sec.)

C15987 computing time

K=1 K=2 K=3 K=4

0 0.5 1 1.5 2 2.5 3 3.5

1 Core 2 Cores 4 Cores

Speedup ratio

C15987 Speedup

K=1 K=2 K=3 K=4

44

來找出所有的可行化合物,且所得到的結果,會與原化合物的相近程度較低;而 路徑頻率越長時,代表限制越多,相對的能夠符合全部限制的化合物也就越少,

且得到的結果也會越趨近於目標化合物。因此,在每次在插入一個新的原子之後,

處理器得花費更多的時間在重新分析該化合物的路徑頻率,所以 K 越長,也會 花費更多的時間在重新計算上。而在不同核心所花費的時間不趨於平均的情況,

原因在於每一項切割後的工作起始狀態不同,演化的可能性也有所不同,且運算 過程中,因考量到資源的分配,避免各核心之間相互搶奪資源,造成過多的重複 運算或不可預期的結果,所以將運算過程中產生的候選化合物存放在一個共用的 佇列中,並且限定同一時間只有一個核心可以進行存取。若當佇列中僅剩一個工 作時,最後取得該工作的核心會繼續進行運算,但其他核心會因為沒有工作可以 運算而呈現閒置狀態,因此會有部分核心總運算時數較少的情形發生。

45

在文檔中 中 華 大 學 碩 士 論 文 (頁 42-54)

相關文件