Peer-to-peer searches: An overview

 

Seminar心得報告
系級 資科四
姓名 汪明暉
學號 89703043

 

 

 

 

 

 

    本週(10/28)的演講主題是 peer-to-peer,在近年來廣為大家所知,甚至所使用的電腦技術。在最早期,沒有網路的年代,電腦的演算能力即使很強,但也只能限於單機運作,評價一台電腦的performance,就相當於是評價該電腦自身的CPU,Hard Disk,Memory…等零件的等級;等到網路技術發展之後,世界上的電腦可以透過網路連結了,開始發揮了大於之前單機所可以發揮的功能,因為許多台電腦間的硬體資源,或是軟體資源,能夠透過網路這項技術達到“共享”的目的,發揮”1+1>2”的效用;而近年來所興起的P2P技術,則是架構在網路之上,又一項新的電腦科技。

 

    P2P的技術,現在最為一般人所知道的,應該是網路上的檔案分享,所以今天的演講者一開始便是以這個為主題,提到前陣子知名軟體Napster,就是一個P2P的軟體,大家可以在上面分享自己的檔案及徵求想要的檔案。不過它的作法是centralize的,所以必須有一台中央的主機來負責維護一個檔案列表,也由於它是centralize的關係,當其上的分享物萬一是違法時,很容易就會被抓到,這也是Napster無法繼續運作的原因。而比較好的作法也許是non-centralize的作法,不需要有中央的主機來maintain一個檔案列表。

 

    演講者也提到現今的P2P技術大約可分成兩種,Structured及Unstructured,它們各有其特色,例如,unstructured採用的是flooding的方式,會發送給它所有的neighbors搜尋的訊息,相形之下會顯的比較沒有效率,而且可能會有”檔案雖在,卻找不到”的情況生,因為距離(中間相隔的節點數,非實質的距離遠近),太長,像演講中提到的7個hops。而structured的方法則是會記錄搜尋的”趨向”,久而久之便會讓特定的主機管理特定類型的檔案,以增加搜尋的效率,但有可能發生的問題是,同個檔案只會有一份copy,萬一這份copy有損毀,也找不到其他copy的同一個檔案來替代,這是一個盲點。之後演講者也介紹了這些P2P的技術,大概是透過什麼方法來實做的,大略地提了一下演算法,也提到也許有可能會有hybrid的技術,讓structured與unstructured的技術一起使用,取兩者的優點來運作。

 


 

    聽完這次演講,我想我對P2P的技術會有了更深一點的了解,不只是停留在”P2P就是個可以分享檔案,抓檔案的東西”而已。除了技術面的東西之外,我覺得另一個可以討論的議題是P2P上檔案的合法性,或是說對這項技術的管理。因為P2P對檔案的分享來說只是一項技術,然而在其上流傳的檔案內容卻可能涉及法律,或智慧財產權的問題。像台灣現在也有類似的軟體,EzPeer,eDonkey,eMule…等,都很流行,在其上也有無數的檔案在流動著。什麼東西可以放,什麼東西不可以放…這些東西都等待著法律,或是一些規定來管理,才不會讓網路資源被濫用。

 

    另外我也想到一點,記得在演講者剛開始時本來說好像會提到,最後卻因為沒時間而略過的議題,就是grid computing。這也是P2P技術的一種,不過它不是拿來作檔案的分享,而是利用P2P的技術來做大量的運算,集合全世界的電腦剩餘的CPU來做有意義的事。像是有些很龐大的問題,例如尋找質數,計算π,分析基因,計算天文科學的訊號…等,需要非常龐大的CPU運算。超級電腦可以做,可是超級電腦數量很少,而且昂貴;而grid computing這項P2P的技術卻可以把這些東西,分成許多許多的小task,再傳下去給願意幫忙的許多PC去處理運算,而這些PC所需要花的只是他們的多餘CPU,對他們本身並沒有什麼吃虧,又可以做有意義的事,我覺得這是一項很值得推廣的技術。這項技術現在有在運作,其中又以數學,科學和醫學上比較多,因為我本身也用我的電腦參與過幾項:一個是SETI@Home(尋找外星智慧),另一個是UD(計算癌症分子結構)。不過我覺得這個技術現在還並不是很多人知道,尤其是學資訊科學以外的可能就更少了,因此我希望大家能對這項技術多一些了解,多一些貢獻,這樣也許有些現在看起來是難題,例如:癌症的藥,基因的解碼,就能夠早日的被發明或發現。