于莉
【摘要】本文介紹了Pastry協(xié)議模擬插件的運(yùn)行環(huán)境以及實(shí)驗(yàn)配置文件的格式與參數(shù)的定義。并根據(jù)實(shí)驗(yàn)數(shù)據(jù)的分析,對Pastry協(xié)議的路由性能、容錯(cuò)性、自適應(yīng)性這三個(gè)重要指標(biāo)進(jìn)行評估。
【關(guān)鍵詞】Pastry協(xié)議數(shù)據(jù)分析
【中圖分類號】G40 【文獻(xiàn)標(biāo)識碼】B 【文章編號】2095-3089(2014)4-0212-02
一、實(shí)驗(yàn)準(zhǔn)備
本文將介紹Pastry協(xié)議模擬插件在Peersim上的仿真實(shí)驗(yàn)結(jié)果。在涉及的所有實(shí)驗(yàn)中,Pastry協(xié)議使用的參數(shù)為:BITS= 128、b= 4、L=32、R=32×16。實(shí)驗(yàn)中沒有實(shí)際調(diào)用上層應(yīng)用程序,這樣能更好的測試Pastry協(xié)議的性能而不受到應(yīng)用層的干擾。所有的實(shí)驗(yàn)都運(yùn)行在三星X11-CV0G筆記本電腦上: Microsoft Windows XP Professional (SP2) 操作系統(tǒng)、1.5G內(nèi)存、Intel Core(TM)2 Duo Processor處理器、jdk-1.5.0.14。
首先介紹一下實(shí)驗(yàn)的配置文件,這個(gè)配置文件可被Peersim模擬器讀取,用來定義各種網(wǎng)絡(luò)初始化參數(shù)及設(shè)定實(shí)驗(yàn)的控制類。
其次,總共測試了Pastry協(xié)議的三個(gè)方面的性能:(1)Pastry協(xié)議路由性能;(2) Pastry的協(xié)議容錯(cuò)性;(3) Pastry協(xié)議自適應(yīng)性。
二、Pastry協(xié)議模擬插件路由性能
Pastry協(xié)議是容錯(cuò)和高效的,根據(jù)協(xié)議的設(shè)計(jì)思想,一個(gè)查找消息在網(wǎng)絡(luò)中經(jīng)過
log步的路由后應(yīng)該能到達(dá)目標(biāo)結(jié)點(diǎn)。我們接下來將用實(shí)驗(yàn)來測試Pastry協(xié)議的路由性能。
第一個(gè)實(shí)驗(yàn)描述了Pastry網(wǎng)絡(luò)平均路由跳步數(shù)與結(jié)點(diǎn)數(shù)的關(guān)系,并與
log曲線進(jìn)行了比較。我們測試了從50個(gè)結(jié)點(diǎn)到10000個(gè)結(jié)點(diǎn)情況下的實(shí)際跳步數(shù)。每個(gè)路由查找消息的兩端都是隨機(jī)在網(wǎng)絡(luò)中選取的2個(gè)結(jié)點(diǎn)。從實(shí)驗(yàn)結(jié)果的數(shù)據(jù)我們可以看到實(shí)際測試得到的數(shù)據(jù)比理論曲線稍低,數(shù)據(jù)的分析結(jié)果和Pastry經(jīng)典論文中的實(shí)驗(yàn)結(jié)果是一致的,由此可以看出Pastry協(xié)議的路由性能確實(shí)是優(yōu)秀的,同時(shí)也說明模擬插件的設(shè)計(jì)是成功的。
而在10000個(gè)結(jié)點(diǎn)、8500條路由信息的模擬實(shí)驗(yàn)中,通過觀察和分析成功到達(dá)目標(biāo)結(jié)點(diǎn)的路由信息的跳步數(shù)分布情況,我們可以看出,大多數(shù)的路由信息經(jīng)過4步后到達(dá)目標(biāo)結(jié)點(diǎn),這符合Pastry的設(shè)計(jì)規(guī)范(
log=4)。但是從分布情況中,我們可以看到仍然有16%的消息用了5步才到達(dá)目標(biāo)結(jié)點(diǎn)。在Pastry的經(jīng)典論文中,10萬個(gè)結(jié)點(diǎn)的模擬實(shí)驗(yàn)下,概率分布仍然如此,由此可以推斷Pastry協(xié)議在越是龐大的網(wǎng)絡(luò)中,路由性能越接近設(shè)計(jì)思想。
三、Pastry協(xié)議容錯(cuò)性
Pastry的容錯(cuò)特性,保證了協(xié)議在網(wǎng)絡(luò)中結(jié)點(diǎn)突然離開的情況下,同樣能進(jìn)行可靠的路由。通過實(shí)驗(yàn),我們觀察到了在500個(gè)結(jié)點(diǎn)的網(wǎng)絡(luò)中,10%結(jié)點(diǎn)失效對不同情況的Pastry網(wǎng)絡(luò)的路由性能產(chǎn)生的影響。
從實(shí)驗(yàn)的結(jié)果可以看到,當(dāng)網(wǎng)絡(luò)中沒有結(jié)點(diǎn)失效時(shí),消息能夠100%的到達(dá)目標(biāo)結(jié)點(diǎn)。當(dāng)網(wǎng)絡(luò)中有10%的結(jié)點(diǎn)失效后,如果不對結(jié)點(diǎn)的葉結(jié)點(diǎn)表和路由表進(jìn)行清理、維護(hù),則差不多有8%的消息會丟失。而如果對結(jié)點(diǎn)記錄的兩個(gè)表進(jìn)行清理,則只有6.5%的消息不能最終到達(dá)目標(biāo)結(jié)點(diǎn)。假如縮短清理、維護(hù)兩個(gè)表的時(shí)間間隔,這個(gè)概率能再次降到3.5%??墒蔷S護(hù)的間隔過短的話,勢必增加網(wǎng)絡(luò)的負(fù)擔(dān)。
在Pastry的經(jīng)典論文中并沒有進(jìn)行相應(yīng)的實(shí)驗(yàn),通過對實(shí)驗(yàn)的分析,當(dāng)一條路由消息傳遞到一個(gè)失效結(jié)點(diǎn)時(shí),則路由過程終止。雖然我們對結(jié)點(diǎn)的路由表和葉結(jié)點(diǎn)表周期性的進(jìn)行清理,但是效果仍然不是很好,怎樣改進(jìn)協(xié)議對兩表的清理方法,進(jìn)一步提高路由的容錯(cuò)性是我們下一步工作需要解決的。
四、Pastry協(xié)議自適應(yīng)性
接下來看看在有新結(jié)點(diǎn)加入網(wǎng)絡(luò)的情況下,Pastry協(xié)議的自適應(yīng)性。實(shí)驗(yàn)展示了在網(wǎng)絡(luò)中有新結(jié)點(diǎn)不斷加入的情況下,路由平均跳步數(shù)與理論
log的比較。
這一實(shí)驗(yàn)在Pastry經(jīng)典論文中沒有被設(shè)計(jì)出來,通過對新結(jié)點(diǎn)加入前后路由平均跳步數(shù)與理論值的比較,判斷新加入結(jié)點(diǎn)對網(wǎng)絡(luò)路由性能的影響,測試Pastry協(xié)議新結(jié)點(diǎn)加入算法的性能。從實(shí)驗(yàn)結(jié)果的數(shù)據(jù)可以看到,當(dāng)2000個(gè)結(jié)點(diǎn)的網(wǎng)絡(luò)新加入1000個(gè)結(jié)點(diǎn)后,平均跳步數(shù)雖然有一定的增長,但是仍然比對應(yīng)結(jié)點(diǎn)數(shù)下的理論值要小,由此看出Pastry協(xié)議對于新加入結(jié)點(diǎn)的適應(yīng)性是很出色的。
我們知道,在有結(jié)點(diǎn)的加入或退出時(shí),Pastry網(wǎng)絡(luò)會不斷調(diào)整、更新來維護(hù)網(wǎng)絡(luò)的整體性能,這包括通知已存在結(jié)點(diǎn)新結(jié)點(diǎn)的到來、對結(jié)點(diǎn)路由表和葉結(jié)點(diǎn)表的更新和維護(hù),這些都會占用網(wǎng)絡(luò)資源,延長路由信息的耗時(shí)。通過對靜態(tài)網(wǎng)絡(luò)和動態(tài)網(wǎng)絡(luò)路由平均時(shí)間的比較,可以讓我們了解網(wǎng)絡(luò)的動蕩對Pastry網(wǎng)絡(luò)路由性能的影響,從側(cè)面反應(yīng)出Pastry自適用性的好壞。
五、結(jié)束語
通過對以上實(shí)驗(yàn)數(shù)據(jù)的分析,Pastry協(xié)議在路由性能和自適應(yīng)性方面表現(xiàn)良好。但是在容錯(cuò)性方面還需要進(jìn)行優(yōu)化,以保證在對結(jié)點(diǎn)路由表和葉結(jié)點(diǎn)表維護(hù)時(shí)間盡量增長的情況下,保證高效、可靠的路由傳遞。