Gossip協議-推導運算分析
簡介
Gossip協議又稱傳染病協議,因為gossip(流言)以類似於病毒的方式在計算機之間傳播資訊。
Gossip協議滿足的條件
- 協議的核心包括週期性,成對性,內部程式互動
- 互動期間的資訊量大小固定
- 節點互動後,至少一個agent獲知另一個agent的狀態
- 通訊不可靠
- 交流的頻率遠遠低於訊息的傳輸延遲
- 對端選擇的隨機性,或者從全集,或者從部分集合
- 由於副本的存在,傳輸的資訊具有隱式冗餘
Gossip協議舉例
假設我們在一個網路中尋找一個pattern的最優匹配,機器上執行著agent 程式,這些agents實現了gossip協議
- 使用者首先要求local agent傳播pattern
- 每一個agent定期並以一定的速率(0.1秒一次)隨機選擇一個其他的節點傳播此pattern。例如節點A和B,如果A知道了pattern,那麼B也會知道,隨後A和B隨機選擇了C和D繼續傳播此訊息。因此即使發生節點故障或者訊息丟失,此訊息依然會在全網範圍內傳播。
- 如果agent第一次收到此pattern,則開啟本地查詢,尋找本地的最優匹配
- agents也傳播其最優匹配。因此,如果A和B進行互動後,A和B都會知道最優匹配。最優匹配也會通過全網範圍進行傳播。
- Log時間的複雜度,例如25000個節點,那麼30輪就會結束,15輪進行pattern的傳播,15輪詢問最優匹配。
有偏Gossip協議
不是從全部節點中隨機選擇一個,考慮到網路延遲,從相鄰的節點中隨機選擇,更高效。
為何是log時間
變數定義
初始個人,全部個人,一個人每次感染個人,則感染率為
令第輪有個人被感染,未感染
則第被感染的新的人數為
即,且
證明
這個人中每一個人能夠感染的新人為:
則一共個人貢獻的感染人數為:
##推導
一種方案是解通項公式,對進行轉換
令代入到上式中,則
於是現在的問題轉換為如何解出,然而我並沒有想到很好的解法,不知道能否通過展開求級數?
另一種方案是採用微分方程的方式,然而並不完全可靠
一些簡單的分析:
分析1: 由,可推匯出,即,從而可以解出,即。
分析2: 由,可推匯出,
即,從而可以解出,即,然而實際上我們可以手動計算此通項,即,這兩個是不一樣的,然而我們可以看出它們的指數是一樣的,僅僅是底數不同而已,同理,可使用其他類似的式子進行測試,它的總體指數趨勢是不變的,變的僅僅是底數而已,於是我想當然的利用這一特性(個人感覺應該可行)!
由,得,故而
對上次進行積分過程如下:
當非常大的時候,可令,且,則
,即,故而得出經過輪,有個人被感染,也可認為全部被感染。
考慮到上面在轉化為積分過程中,會有底數的不一致性,因此也就是時間複雜度為級別。
相關文章
- Gossip 協議詳解Go協議
- 啥是Gossip協議?Go協議
- Gossip協議也叫Epidemic協議(流行病協議)Go協議IDE
- Gossip協議和Grpc協議的區別Go協議RPC
- Cassandra Gossip協議的二三事兒Go協議
- 一萬字詳解 Redis Cluster Gossip 協議RedisGo協議
- 10.redis cluster介紹與gossip協議RedisGo協議
- http協議分析HTTP協議
- FastCGI協議分析AST協議
- WireShark——IP協議包分析(Ping分析IP協議包)協議
- 運輸層協議概述協議
- 「分散式技術專題」基於Gossip協議的去中心服務分散式Go協議
- rem計算推導REM
- wireshark 分析TCP協議TCP協議
- 計算網路之MSTP協議與VRRP協議協議VR
- 協方差矩陣推導1矩陣
- 【協議】AAA Radius協議的常用報文分析協議
- 透視RPC協議:SOFA-BOLT協議原始碼分析RPC協議原始碼
- [計算機網路]協議棧計算機網路協議
- 主成分分析推導
- 協議有哪些相關面試簡答題?Linux雲端計算運維協議面試Linux運維
- HTTP協議分析及攻防方法HTTP協議
- Java安全之RMI協議分析Java協議
- DHCP協議工作流程分析協議
- UDP協議抓包分析 -- wiresharkUDP協議
- fastcgi協議分析與例項AST協議
- perl協程運算元據庫
- Fabric 1.0原始碼分析(16)gossip(流言演算法) #GossipServer(Gossip服務端)原始碼Go演算法Server服務端
- 【網路協議】IP協議、ARP協議、RARP協議協議
- 計算機網路七層協議計算機網路協議
- 計算機常見介面與協議計算機協議
- ffmpeg 推流檔案,採用rtmp協議協議
- Asyncdb(四):MySQL網路協議分析MySql協議
- 看大牛如何分析Zookeeper ZAB 協議協議
- 使用WireShark抓包分析TCP協議TCP協議
- Wireshark中的TCP協議包分析TCP協議
- 微信登入協議分析記錄協議
- DHCP協議和dhcpcd原始碼分析協議原始碼