BitTorrent 效能卓越的原因 轉)

2021-04-01 01:09:49 字數 2290 閱讀 7844

bittorrent 效能卓越的原因

bittorrent 效能卓越的原因

(原文是incentives build robustness in bittorrent,不知道怎麼翻譯比較好?)

bram cohen

bram@bitconjurer.

2023年5月22日

翻譯:小馬哥

日期:2004-6-1

概要

bittorrent 檔案發布系統採用針鋒相對(tit_for_tat)的方法來達到帕累託有效,與當前已知的協作技術相比,它具有更高的活力。本文將解釋bittorrent 的用途,以及是怎樣用經濟學的方法來達到這個目標的。

1、bittorrent 用來做什麼?

研究人員以前也在尋找一種達到這種效果的可實用的技術[3]。這種技術原來並沒有在大的範圍內運用過,因為邏輯和的問題非常棘手。如果僅僅計算哪些 peers 擁有檔案的哪些片斷以及這些片斷應該被傳送給誰,那麼很難只產生比較小的系統開銷。peers之間的連線很少會超過幾個小時,通常是幾分鐘而已。最後,有乙個普遍的問題,就是公平性。

我們將解釋bittorrent 是如何很好的解決這些問題的。

1.1、bittorrent介面

1.2、部署

2、技術框架

2.1發布內容

譯註:

為了完成一次部署,至少需要乙個 tracker和乙個seed。所謂tracker,是乙個伺服器,負責幫助peers之間相互建立連線。而seed,通常是第乙個向tracker註冊,然後它就開始進入迴圈,等待為別人提供檔案,也就是說,第乙個seed只負責上傳檔案。一旦有乙個peer向tracker註冊後,就可以取得seed的資訊,從而與seed建立連線。從seed處讀取檔案。由於原始的檔案,只有seed擁有,所有說,seed至少要上傳原始檔案的乙份完整拷貝。如果又有乙個peer加入進來,那麼它可以同時和seed和前乙個peer建立連線,然後從這兩者處獲取檔案。

2.2對等發布

儘管tracker是peers之間相互發現的唯一途徑,也是peers之間相互協作的唯一地點,標準的tracker演算法返回乙個隨機的 peers的列表。隨機圖具有非常強大的特性,許多的peer選擇演算法最終產生了乙個冪律圖,冪律圖能以少量的攪拌來獲得分片。注意,peers之間的連線都是雙向傳輸的。

2.3流水作業

構架在tcp之上的應用層協議,例如bt,很重要的一點是應該同時傳送多個請求,以避免在兩個片斷傳送之間的延遲,因為那樣會嚴重影響傳輸速率。為了達到這種目的,bt將每個片斷又進一步分為子片斷,每個子片斷的大小一般是16k,同時,它一直保持幾個請求(通常是5個)被流水的同時傳送。流水作業所選擇的data(應該是指的同時傳送的請求數目,也就是5個request)的依據是能使得大多數連線變得飽和。

譯註:也就是說,每次傳送5個請求,然後過一段時間,又傳送5個請求。流水作業在http 協議1.1版本中被廣泛運用。

2.4片斷選擇

2.4.1嚴格的優先順序

片斷選擇的第乙個策略是:一旦請求了某個片斷的子片斷,那麼該片斷剩下的子片斷優先被請求。這樣,可以盡可能快的獲得乙個完整的片斷

2.4.2最少的優先

譯註:

在bt系統中,充分考慮了經濟學的概念,處處從整個系統的效能出發,參與者越多,系統越優化。

2.4.3隨機的第乙個片斷

2.4.4最後階段模式

3 阻塞(choking)演算法

3.1帕累託有效

帕累託有效是指資源配置已達到這樣一種境地,即任何重新改變資源配置的方式,都不可能使一部分人在沒有其他人受損的情況下受益。這一資源配置的狀態,被稱為「帕累託最優」(pareto optimum)狀態,或稱為「帕累託有效」(pareto efficient)

在計算機領域,尋求帕累託有效是一種本地優化演算法

bittorrent的阻塞演算法,用一種針鋒相對的方式來試圖達到帕累託最優。(原文不太好翻譯,我簡化了)。peers對那些向他提供上傳服務的peers給予同樣的回報,目的是希望在任何時候都有若干個連線正在進行著雙向傳輸。

3.2 bittorrent的阻塞演算法

從技術層面上說,bt的每個peer一直與固定數量的其它 peers 保持疏通(通常是4個),所以問題就變成了哪些peers應該保持疏通?這種方法使得tcp的擁塞控制效能能夠可靠的飽和上傳容量。(也就是說,盡量讓整個系統的上傳能力達到最大)。

為了避免因為頻繁的阻塞和疏通 peers造成的資源浪費,bt每隔10秒計算一次哪個peer需要被阻塞,然後將這種狀態保持到下乙個10秒。10秒已經足夠使得tcp來調整它的傳輸效能到最大。

3.3、optimistic unchoking

3.4、反對歧視

3.5僅僅上傳

4、真實世界的體驗

windows開啟「卓越效能」模式

一般我們的電腦電源選項中只有幾下幾項 其實在一些版本的windows10中微軟新增了一項 卓越效能 模式,開啟此模式可以把電腦的硬體發揮最大的效能 管理員執行 cmd 執行如下命令即可開啟 寫在後面 站長建議普通膝上型電腦沒有必要開啟此模式,此模式是將cpu和顯示卡的效能一直保持在最高效能的狀態,可...

超越精益敏捷 卓越運營,提公升效能

超越精益敏捷 卓越運營,提公升效能 在各敏捷群不時有爭論 什麼是敏捷?有認為敏捷是個框,什麼好什麼往裡裝。有認為自己是敏捷,別人是偽敏捷。有搬出與敏捷領軍人物 的。有號稱mike cohn親傳,jeff sutherland關門 martin fowler坐鎮,ron jeffrey背書,北方第一,...

win10如何開啟卓越效能

1.如圖 2.win q 輸入 power.看見點選 以管理員身份執行 3.在開啟的 管理員 windows powershell 視窗,輸入 powercfg duplicatescheme e9a42b02 d5df 448d aa00 03f14749eb61後回車 4.出現 我們在電源管理就...