999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

P2P系統(tǒng)模擬器的分析與比較

2007-12-31 00:00:00陳志剛
計算機應用研究 2007年11期

摘要:通過分析當前一些主流的P2P系統(tǒng)模擬器并對它們進行比較,說明了不同模擬器在實際應用中的各自側重所在,為P2P系統(tǒng)研究人員和P2P模擬器設計者的研究提供了便利。

關鍵詞:對等網; 模擬器; P2PSim; NeuroGrid; 搜索

中圖分類號:TP31文獻標志碼:A

文章編號:1001-3695(2007)11-0037-03

0引言

目前對P2P的研究主要采用分析、實驗與模擬的方法。分析方法就是根據一定的限制條件和合理假設,對研究對象和系統(tǒng)進行初步描述,抽象出研究對象的數學分析模型,利用數學分析模型對問題進行求解。分析方法的有效性和精確性受假設限制很大,無法詳細描述很復雜的系統(tǒng),尤其對于現(xiàn)實世界的復雜性,使許多情況下分析方法不能適用。實驗方法主要是設計出研究所需的合理硬件和軟件配置環(huán)境,建立實驗室,在現(xiàn)實網絡上實現(xiàn)對網絡協(xié)議、網絡行為和網絡性能的研究。這種方法的局限性主要在于成本高、重新配置和共享資源難、不靈活、規(guī)模不能做大、不能實現(xiàn)多種通信流量和拓撲的融合。模擬方法就是采用模擬器來建立所研究的網絡體系的模擬模型,在計算上運行這個模型,并分析運行的輸出結果。這種方法可以在很大程度上克服前面兩種方法的不足。模擬方法可根據需要設計所需的模型,花較少的時間和成本了解網絡體系在不同條件下的各種特性,獲取網絡研究豐富有效的數據。所以網絡模擬可以提供一個方便、高效的分析和驗證方法。

本文將介紹當前一些有代表性的P2P模擬器,包括GridSim、SimGrid、NS-2、P2PSim和NeuroGrid。對它們的功能、特點以及適用領域進行分析并比較,以方便P2P研究人員對模擬器的選擇與使用。

1GridSim

GridSim[1]是一款主要用于模擬資源調度的模擬器,它是基于離散事件的模擬器。GridSim由澳大利亞墨爾本大學的Rajkumar Buyya領導開發(fā)。其主要目標是在計算經濟的基礎上,通過模擬來研究有效的資源分配技術。它通過模擬大量的資源和大量有不同要求的用戶來研究系統(tǒng)的可擴展性、調度算法、資源分配策略的有效性和用戶的滿意程度等。

GridSim是以工具包(GridSim toolkit)的形式發(fā)布的。GridSim提供了豐富而方便使用的函數庫,用戶可以模擬和創(chuàng)建網絡環(huán)境中不同層次的資源(如時間共享和空間共享)、用戶、應用程序、用戶代理和調度器以進行調度算法的設計和評估。

除了通過手工編程來實現(xiàn)模擬外,GridSim還提供了一套圖形界面工具visual modeler(VM)幫助用戶配置網絡環(huán)境并產生相應的代碼。模擬結束后,用戶可以調用GridSim中的GridStatistics的庫函數來收集各種模擬的統(tǒng)計數據。

總之GridSim能夠模擬網絡多方面的特性。由于采用Java語言開發(fā),使其可以跨平臺運行。

GridSim中另一個比較靈活的地方是它提供了很多的API和用戶接口,可以靈活調用,它也可以很方便地創(chuàng)建各種異構資源的類。

GridSim的一個不足之處是資源類型太少,基本上只是計算資源。更重要的是,GridSim所能仿真的網絡主要是針對之前對網格的定義,它沒有體現(xiàn)對服務網格的仿真,而且其路由器的類僅支持Flood協(xié)議(泛洪協(xié)議)和RIP(router information protocol,路由信息協(xié)議)。此外它沒有提供生成拓撲結構的工具,需要手工編寫,不支持網絡延遲的模擬。

2SimGrid

SimGrid[2]是由美國加州大學圣地亞哥分校網格研究和創(chuàng)新實驗室主導開發(fā)的。其目標是為在分布計算網格環(huán)境下進行分布并行應用調度研究,提供一個合適的模型和抽象并生成準確的模擬結果。

SimGrid是運行在Linux下用C++開發(fā)的模擬器,它使用基于trace-driven的模擬,按照真實網格資源中的訪問trace記錄來模擬網格資源,從而達到更真實的網格模擬。該模擬器已經成功應用在可分布負載調度應用的領域。SimGrid 正在驗證的領域有在環(huán)形組織中重新分配負載的實驗。

SimGrid提供了一系列核心函數,用于建立異構分布環(huán)境下分布應用的仿真環(huán)境。目前SimGrid 有兩個版本:

a)SG。比較底層的工具,只提供了建立仿真環(huán)境的一些核心函數。但正因為它提供一些底層的核心函數,所以它可以用來構建各種面向領域的仿真器,比較靈活、通用。SG適合于基于DAG的集中式調度的仿真。

b)MSG。建立在SG之上,比SG更面向應用,是一個應用層仿真器。MSG適合于調度中存在多個獨立調度行為(schedu ̄ling actions)的情況。

利用SimGrid可以研究算法在非常差的環(huán)境中的魯棒性,也可以比較兩個算法的效果,在真正實現(xiàn)前測試和調試算法。但SimGrid不能夠精確地對一個計算機平臺進行模擬,也不能勝任調試已經存在的代碼。

SimGrid另一顯著的特點是可以使用復雜的與實際情況相符的平臺,可以進行快速仿真。但SimGrid可視化不是很好,它的資源類型只是計算資源,沒有專門生成網絡拓撲結構的工具。

3NS-2

NS-2 [3,4] 是采用面向對象的、基于離散事件驅動的模擬器,易于對實際網絡建模,系統(tǒng)易于擴展。它致力于網絡的研究,支持TCP、UDP、IP、RTP/RTCP、SRM、802.3 MAC、802.11 MAC等協(xié)議;支持算法路由、分級路由、廣播路由、多播路由、靜態(tài)路由、動態(tài)路由協(xié)議;支持drop tail、RED、CBQ、WRR、DRR和SFQ等隊列管理和包調度機制;支持鏈路失效、鏈路出錯處理。

NS-2使用了OTcl和C++兩種建模語言,兼顧到了模擬效率和系統(tǒng)建模的靈活性。編程者可以使用面向對象、解釋執(zhí)行的腳本程序設計語言OTcl進行模擬配置,并通過編寫C++構件擴充系統(tǒng)的模擬能力。

相對于一般的離散事件模擬器來說,NS-2的一個優(yōu)勢特點就是提供了豐富的構件庫。針對網格模擬,NS-2已經預先做了大量的模型化工作。NS-2對網絡中一些常用的實體已經進行了建模,如鏈路、隊列、分組、節(jié)點等,并用對象來實現(xiàn)這些實體的特性和功能。這些對象比較易于組合和擴展。用戶可以充分利用這些已有的對象,進行少量的擴展,組合出要研究的網絡體系模型,然后進行模擬。這樣就大大地減輕了進行網絡研究的工作量。

NS-2的構件庫所支持的網絡類型包括廣域網、局域網、移動通信網、衛(wèi)星通信網等,所支持路由方式包括層次路由、動態(tài)路由、多播路由等。NS-2還提供了跟蹤和監(jiān)視的對象,可以把網絡系統(tǒng)中的狀態(tài)和事件記錄下來以便分析。另外,NS-2還提供了大量的數學方面的支持,包括隨機數的產生、隨機變量、積分等。

NS-2可以運行在Linux、UNIX、Windows等多種操作系統(tǒng)平臺上。由于采用C++開發(fā),在Windows下需要用cygwin來提供Linux下的環(huán)境。NS-2能很好地支持可視化,利用NAM (network animator) 和Xgraph軟件,可以將仿真結果文件以NAM和Xgraph 兩種方式進行動態(tài)顯示。

NS-2的不足之一就是它所針對的協(xié)議都是比較底層的協(xié)議,不適合用來作網絡覆蓋層方面的模擬。同時它也很難模擬網絡中大規(guī)模高度動態(tài)的情況。此外,其仿真效果也不理想。NS-2除了模擬功能外,還具仿真功能,NS-2中的對象可以把真實網絡中的分組引入到模擬器,并將模擬器中產生的分組輸出到真實的網絡中去。但NS-2的這種仿真功能一直并不完善,而且平臺的可移植性較差,所以NS-2的這種仿真功能很少被使用。

4P2PSim

P2PSim[5]是一個免費的、多線程的、基于離散事件的模擬器,是由T. M. Gil等人開發(fā),屬于IRIS工程的一部分。IRIS工程正在發(fā)展一個新穎的、基于分布式哈希表(DHT)的分布式構造組織。

P2PSim的主要目標是使理解P2P協(xié)議的源代碼變得更容易,方便比較不同的協(xié)議,擁有較好的性能。P2PSim可用于評估、研究和開發(fā) P2P協(xié)議。它采用C++編寫,可運行在類似UNIX 環(huán)境下的操作系統(tǒng)中(要求有GCC)。在進行模擬前,P2PSim必須要先建立三個文件,即拓撲結構文件(topology file)、協(xié)議文件(protocol file)和事件文件(events file)。

P2PSim官方網站提供了一個叫做“king”數據集的拓撲結構文件,用戶可以從中選擇自己感興趣的拓撲結構文件。P2PSim本身也提供了生成拓撲結構的多個類。

到目前為止,P2PSim已經支持了Chord、Accordion、Koorde、Keklips、Tapestry和Kademlia協(xié)議。其中Chord 又包括多個不同的類,即chord、chordFinger和chordFingerPNS。除了可以使用本身已經支持的P2P協(xié)議外,P2PSim也允許用戶添加自己編寫的協(xié)議。在P2PSim中,能夠模擬的節(jié)點數與所采用協(xié)議的復雜程度有關,如采用Chord協(xié)議的合理節(jié)點數是3 000。

P2PSim可把結果可視化,提供根據記錄文件(logfiles)生成統(tǒng)計圖的標準工具。例如可以生成以平均查找延遲為y軸,存活節(jié)點平均帶寬消耗為x軸的統(tǒng)計圖。

P2PSim的優(yōu)點在于它支持多種協(xié)議,這些支持的協(xié)議可以直接使用。這樣就可以很方便地比較這些協(xié)議的異同。P2PSim的擴展性比較好,用戶可以添加自己編寫的協(xié)議;此外,它也提供多種網絡拓撲結構的模擬。

P2PSim的欠缺在于它所支持的協(xié)議大都是結構化的協(xié)議,也就是說目前P2PSim還不支持模擬非結構化的P2P系統(tǒng)。由于采用C++設計,需在Linux下運行,其移植性相對于那些用Java開發(fā)的模擬器而言稍弱。另外它提供的documen ̄tation太少,造成用戶認識和使用P2PSim沒那么方便。

5NeuroGrid

NeuroGrid[6,7]模擬器是一個用Java語言開發(fā)的屬于開源工程的P2P模擬器,由東京大學的Sam Joseph領導開發(fā)。NeuroGrid模擬器起初是為了支持比較Freenet、Gnutella和 NeuroGrid系統(tǒng)的模擬而設計的。不像某些針對某一個具體的P2P系統(tǒng)而設計的模擬器,NeuroGrid是明確地考慮到可擴展性而設計的。

NeuroGrid模擬器主要包含配置文件參數的設置、網絡的創(chuàng)建、消息的產生、消息的傳播處理過程、統(tǒng)計數據收集和綜合分析五個模塊。其主要工作過程如下:用戶對配置文件進行參數設置;然后該模擬器根據相關的參數創(chuàng)建相應的網絡;網絡創(chuàng)建好后再產生一定類型的消息;接著將消息由某個節(jié)點發(fā)送到網絡中,然后對該消息進行傳播和處理;最后將收集到的數據進行綜合分析。

NeuroGrid模擬器使用戶可以通過配置文件來設置要模擬的網絡類型、創(chuàng)建拓撲圖的種類、節(jié)點的數目、為每個節(jié)點分配的文件個數、為每個文件分配關鍵字的個數、消息的類型、消息的初始TTL值等。NeuroGrid默認的拓撲選項包括隨機的、環(huán)形的以及符合冪規(guī)律的拓撲。

網絡的創(chuàng)建包括網絡節(jié)點的創(chuàng)建、關鍵字的創(chuàng)建、文件的創(chuàng)建、文件分配給節(jié)點以及節(jié)點之間的拓撲結構的創(chuàng)建等。網絡創(chuàng)建好后就可以進行相關查找文件的模擬了,進行文件查找之前首先要產生一個查詢消息。NeuroGrid模擬器可以從message這個抽象的類中擴展出不同類型的消息,simpleContentMessage、fuzzyContentMessage、probabilisticFuzzyContentMessage。對于不同類型的網絡,消息的傳播方式是不一樣的。NeuroGrid模擬器在進行消息查找時收集了相關的統(tǒng)計數據。這些數據有匹配查詢的文件數、第一個匹配查詢的文件找到時消息的TTL值、消息傳播量、網絡中所有節(jié)點中存在的匹配查詢的文件個數、消息所到達節(jié)點的數目等。每完成一次模擬查詢,就將上述數據添加到收集數據的statisticsCollection類中。最后由這個類收集到的數據產生相關統(tǒng)計圖。通過以上介紹,可以知道NeuroGrid模擬器支持可視化、使用方便、可擴展性好。由于采用Java編寫,它的跨平臺性也較好。NeuroGrid的不足在于它只能用自身提供或產生的拓撲網絡,而不能導入由其他拓撲產生器產生的拓撲。這樣,每次模擬過程必須從網絡初始構建開始,因此模擬速度較慢。它也不支持帶寬節(jié)點的實際性能模擬,僅僅把帶寬看成是一個相同的值,這樣的模擬假設是比較粗糙的。NeuroGrid在模擬網絡的動態(tài)變化方面也有不足,如在模擬過程中只能模擬節(jié)點的動態(tài)增加而不能方便地模擬節(jié)點的動態(tài)退出。此外NeuroGrid目前版本尚不支持DHT協(xié)議,要在其上面實現(xiàn)DHT還需要進行適當的擴展。

6綜合比較

通過對五個模擬器的分析與比較可以看到,SimGrid和GridSim都是用于任務調度的模擬器,一般來說這類模擬器均側重在對資源調度的模擬,而不是側重資源的搜索查找。NS-2主要是針對比較底層的協(xié)議(如TCP/IP協(xié)議),而目前P2P系統(tǒng)的搜索算法大多是建立在TCP/IP協(xié)議基礎之上的應用層協(xié)議,所以NS-2也不太適合用來作P2P搜索算法方面的模擬,同時不能適應巨大規(guī)模、高度動態(tài)的模擬。P2PSim和NeuroGrid都是針對應用層協(xié)議的模擬,較適合作P2P系統(tǒng)搜索方面的模擬。但是P2PSim主要是對Chord等結構化搜索協(xié)議進行的模擬,目前不支持非結構化搜索協(xié)議。NeuroGrid則是針對非結構化協(xié)議的模擬,對于結構化方面的搜索協(xié)議需要進行適當的擴充。各種模擬器的比較如表1所示。

7結束語

本文首先介紹了當前一些主要的P2P系統(tǒng)模擬器,對它們的功能、特點、適用領域等方面進行了初步的分析與比較。通過研究這些模擬器,筆者更加相信P2P系統(tǒng)模擬器在P2P研究中的輔助作用。除此之外,筆者希望能借鑒這些模擬器的優(yōu)點,設計一個通用的P2P系統(tǒng)模擬器。

參考文獻:

[1]BUYYA R. GridSim [EB/OL]. (2003).http://www.buyya.com/gridsim.

[2]INRIA. SimGrid [EB/OL]. (2005).http://simgrid.gforge.inria.fr.

[3]UC Berkeley. NS-2 [EB/OL]. (2005.)http://www.isi.edu/nsnam/ns/.

[4]徐雷鳴,龐博,趙耀.NS與網格模擬[M].北京:人民郵電出版社,2003:13-20.

[5]GIL T M. P2PSim [EB/OL]. (2004).http://pdos.csail.mit.edu/P2PSim/index.html.

[6]JOSEPH S. NeuroGrid [EB/OL]. (2003).http://www.neurogrid.net/php/index.php.

[7]JOSEPH S. An extendible open source P2P simulator [J]. P2P Journal, 2003,3:1-15.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产精品一区不卡| 欧美成人综合视频| 亚洲国产精品成人久久综合影院| 亚洲国产成人久久精品软件| 26uuu国产精品视频| 中文毛片无遮挡播放免费| 中文字幕人妻无码系列第三区| 色成人综合| 91亚洲精品国产自在现线| 好吊妞欧美视频免费| 国产黑丝一区| 日本三区视频| 日本三级精品| 丁香婷婷激情网| www.91在线播放| 国产美女在线免费观看| 日韩毛片基地| 久久成人国产精品免费软件 | 欧美性爱精品一区二区三区| 51国产偷自视频区视频手机观看| 成色7777精品在线| 熟妇无码人妻| 中文一区二区视频| 国产女人18毛片水真多1| 精品国产一区91在线| 欧美成人综合视频| 日本人又色又爽的视频| 亚洲AV无码乱码在线观看代蜜桃 | 无码免费视频| 中文天堂在线视频| 欧美黄网站免费观看| 久久精品丝袜高跟鞋| 欧美a级在线| 日本免费福利视频| 东京热高清无码精品| 亚洲最大在线观看| 国产无遮挡猛进猛出免费软件| 在线国产毛片| 蜜臀AV在线播放| 国产日韩欧美视频| 国产精品无码作爱| 三级国产在线观看| 午夜高清国产拍精品| 色哟哟精品无码网站在线播放视频| 亚洲国产一区在线观看| 四虎永久在线精品影院| 亚洲va视频| 一本久道久久综合多人| 国产女同自拍视频| 91毛片网| 97在线碰| 亚洲狠狠婷婷综合久久久久| 中文字幕 欧美日韩| P尤物久久99国产综合精品| 青青草原国产免费av观看| 日韩精品一区二区深田咏美| 国产麻豆精品久久一二三| 国产色婷婷| 四虎精品黑人视频| 久久久久夜色精品波多野结衣| 爆乳熟妇一区二区三区| 中文无码伦av中文字幕| 日韩毛片免费| 国产精品一区在线麻豆| 欧美有码在线观看| 国产精品成| 国产成人高清在线精品| 亚洲成a人在线播放www| 亚洲视频a| 在线免费无码视频| 九月婷婷亚洲综合在线| 国产欧美日韩精品第二区| 伊人久久精品无码麻豆精品 | 日本不卡在线视频| 精品99在线观看| 26uuu国产精品视频| 欧美一区二区三区欧美日韩亚洲 | 免费A∨中文乱码专区| 一区二区三区成人| 在线国产资源| 五月婷婷亚洲综合| 91精品综合|