• 沒有找到結果。

合作式快取加沿路快取 合作式快取加沿路快取 合作式快取加沿路快取 合作式快取加沿路快取與傳統快取的比較 與傳統快取的比較 與傳統快取的比較 與傳統快取的比較

4.3.4 4.3.4

4.3.4 合作式快取加沿路快取 合作式快取加沿路快取 合作式快取加沿路快取 合作式快取加沿路快取與傳統快取的比較 與傳統快取的比較 與傳統快取的比較 與傳統快取的比較

依前面的實驗結論得知,在鄰近性加入演算法建構的環狀結構中,LSZO 搜尋 樣式搭配本地端快取並先搜尋左右鄰居能減少遠端繞路的次數,可見地域性與 Zipf 物件選取能讓左右鄰居快取的可利用率提高,而與左右鄰居的溝通成本較低,

因此節點左右相鄰的鄰居是合作式快取成員的最佳選擇,如此一來,快取空間大 小變成原來的三倍,也可減少快取物件的重複率。先搜尋左右鄰居再利用鄰近表 遠端繞路的搜尋方式我們稱之為合作式鄰居搜尋,由前面的實驗我們知道沿路快 取搭配搜尋鄰近表會有最低的總搜尋成本,因此我們想比較合作式鄰居搜尋搭配 合作式快取加沿路快取與原先的鄰近表繞路搭配沿路快取與本地端快取的差異。

快取策略除了與左右鄰居共享快取物件之外,也做沿路快取到遠端繞路走過的節 點,讓受歡迎的物件快速散布到系統之中。

此部分的實驗,我們用了兩個實體網路模型來做實驗,每種模型搭配每種設 定各做 6 個回合,並將地域性區域大小設為 100,Zipf 參數設為 1,快取取代方式 是 LRU、快取空間大小是 15,搜尋方式選用合作式鄰居搜尋,圖 4-17 是比較四種 快取策略的平均搜尋成本,依序是本地端快取、沿路快取、合作式鄰居快取搭配 沿路快取、鄰居推銷搭配沿路快取。我們發現本地端快取的搜尋成本最高,沿路 快取的搜尋成本除了在 PJG1 以外,其餘多群組的設定時皆是最低,而合作式鄰居 快取搭配沿路快取則比沿路快取的總搜尋成本略高;由於合作式鄰居搜尋的搜尋 方式額外多搜尋了合作式快取成員,比只搜尋鄰近表的方式多了兩個搜尋節點,

造成搜尋成本上升;又因鄰近表是每個繞路階層中距離最近的節點,而節點左右 鄰居會因為負載平衡演算法造成在環狀結構中位置的變動,使得鄰近性的特色稍 微被破壞,相鄰節點的距離反而比鄰近表中的節點還長,造成鄰居間的溝通成本 無法保證一定能比鄰近表還低,因此造成搭配合作式快取無法顯現出合作式快取 該有的效能提升。

圖 4-17:Under different cache method with Neighbor&PT search for Topology 1

圖 4-18:Total Cost for Different Cache Method for Topology 1

圖 4-19:Under different cache method with Neighbor&PT search for Topology 1 0

PJG1 PJG2 PJG4 PJG8

Search Cost

Topology 1

local cache

cache by path

Cooperative Neighbor cache&Cache by path

0 50 100 150

PJG1 PJG2 PJG4 PJG8

Total Cost

Topology 1

local cache

cache by path

Cooperative Neighbor cache&Cache by path

0 20 40 60 80

PJG1 PJG2 PJG4 PJG8

Search Cost

Topology 2

local cache

cache by path

Cooperative Neighbor cache&Cache by path

- 64 -

圖 4-19:Total Cost for Different Cache Method for Topology 2

我們比較圖 4-17 與圖 4-19 兩個實體網路模型的搜尋成本,發現在不同的群 組數設定下,皆是合作式鄰居搜尋搭配沿路快取有最低的搜尋成本,若考慮總搜 尋成本則需在加上回傳成本,本地端快取的回傳成本是直接回傳,其餘三種皆研 搜尋路徑回傳,與搜尋成本相同,圖 4-18 與圖 4-20 比較總搜尋成本時,是本地 端快取有最低的總搜尋成本。

4.4 4.4

4.4 4.4 總結 總結 總結 總結

由前一章節的結論我們知道合作式鄰居搜尋搭配沿路快取有最好的搜尋效能,

與遠端繞路搜尋搭配沿路快取和本地端快取比較搜尋成本的高低,是遠端繞路搜 尋搭配本地端快取的搜尋成本最低(如圖 4-21 所示,比較同一實體網路模型下每 種設定各做六個回合);由於多了搜尋左右鄰居就多了兩段與鄰居的溝通成本,儘 管合作式鄰居搜尋使本地端擊中次數增加能減少直接回傳成本,但減少的成本仍 比鄰居溝通成本還高,使得合作式鄰居搜尋策略變得較不經濟,我們分析造成合 作式鄰居搜尋較無效率的原因在於鄰近表的特性-每一階層的指標皆是指向該階 層距離最近的節點,而 Donuts 為了維持物件負載平衡,會定期做負載平衡演算法 -節點重排,使節點離開原本的位置去加入到負載較高的節點旁邊,這樣的做法會 破壞環狀結構原先的鄰近性特色,使相鄰節點的距離不再是原先距離較近的;反 之鄰近表定期更新一次正確性,使它確實指到每階層最近的節點,因此鄰近表的 成員比左右鄰居的溝通成本還低的可能性就更高了。

0 50 100 150

PJG1 PJG2 PJG4 PJG8

Total Cost

Topology 2

local cache

cache by path

Cooperative Neighbor cache&Cache by path

在 LSZO(LS=100,Zipf=1.0)這種最接近實際搜尋樣式的情形下,搭配 Donut 的 Cordal Ring 環狀結構與鄰近性加演算法,無論群組數的設定為何,鄰近表繞 路搜尋搭配本地端快取皆有最低的總搜尋成本。

圖 4-21:All Cache Methods

Strategy 1:鄰近表搜尋搭配本地端快取 Strategy 2:鄰近表搜尋搭配沿路快取 Strategy 3:合作式鄰居搜尋搭配本地端快取 Strategy 4:合作式鄰居搜尋搭配沿路快取 Strategy 5:合作式鄰居搜尋搭配合作式鄰居快取&沿路快取

Strategy 6:合作式鄰居搜尋搭配鄰居推銷&沿路快取 0

20 40 60 80 100 120 140

PJG1 PJG2 PJG4 PJG8

Total Cost

LSZO

Strategy 1 Strategy 2 Strategy 3 Strategy 4 Strategy 5 Strategy 6

- 66 -