主要參考了《分布環境下的gossip演算法》這篇**,幷包含在網上整理的一些資料。
簡介:gossip 演算法又被稱為反熵(anti-entropy),熵是物理學上的乙個概念,代表雜亂無章,而反熵就是在雜亂無章中尋求一致.
gossip 的特點:在乙個有界網路中,每個節點都隨機地與其他節點通訊,經過一番雜亂無章的通訊,最終所有節點的狀態都會達成一致。每個節點可能知道所有其他節點,也可能僅知道幾個鄰居節點,只要這些節可以通過網路連通,最終他們的狀態都是一致的,當然這也是疫情傳播的特點。簡單的描述下這個協議,首先要傳播謠言就要有種子節點。種子節點每秒都會隨機向其他節點傳送自己所擁有的節點列表,以及需要傳播的訊息。任何新加入的節點,就在這種傳播方式下很快地被全網所知道。這個協議的神奇就在於它從設計開始就沒想到資訊一定要傳遞給所有的節點,但是隨著時間的增長,在最終的某一時刻,全網會得到相同的資訊。當然這個時刻可能僅僅存在於理論,永遠不可達。
gossip應用場景:資料庫複製,故障探測,p2p的拓撲構造及維護,分布環境下的聚合計算等。
概念-1、網路結構模型:類似於圖,每次交流都是圖的一條邊;
-2、時間模型:同步時間模型,非同步時間模型;
衡量標準
-1、效率:完成gossip傳播需要的時間;
-2、通訊開銷:完成gossip傳播所需要付出的通訊開銷,使用節點之間兩輛互動的次數表示。
影響因素
-1、網路結構:節點的連線關係,完全圖,樹形圖;
-2、互動模式:在通訊代價和可靠性取折中,一般採用rumor mongering(只交換新資訊),定時使用anti-entropy,以保證資訊交換的可靠性。
目前節點鍵的資訊交換方法主要有三種:
push: a節點將資料(key,value,version)及對應的版本號推送給b節點,b節點更新a中比自己新的資料
pull:a僅將資料key,version推送給b,b將本地比a新的資料(key,value,version)推送給a,a更新本地
push/pull:與pull類似,只是多了一步,a再將本地比b新的資料推送給b,b更新本地
-3、聯絡節點數目
每個週期聯絡節點個數不同會對演算法執行產生影響。
-1、資料庫複製:
基於gossip實現分布資料管理的一般思路是:在乙個節點實現資料更新,通過演算法將更新傳播到其他節點。
-2、聚焦計算:
在大型分布計算環境中,許多應用需要獲得全域性統計資訊,以提高其服務質量或者均衡網路負載。
-3、基於gossip的overlay構造
overlay網路是構建在已有網路之上的乙個由節點和邏輯鏈路構成的虛擬拓撲結構。以gossip機制為基礎,在資訊交換過程中對overlay中的節點以及節點之間的關係進行管理,從而維護乙個具有某種特性的網路拓撲。
gossip是一種去中心化、容錯而又最終一致性的絕妙演算法,其收斂性不但得到證明還具有指數級的收斂速度。使用gossip的系統可以很容易的把server擴充套件到更多的節點,滿足彈性擴充套件輕而易舉。
演算法 學習筆記
1.輸入輸出演算法至少有乙個或多個輸出 2.有窮性 3.確定性 4.可行性 1.正確性a.演算法程式沒有語法錯誤 b.演算法程式對於合法的輸入資料能夠產生滿足要求的輸出結果 c.演算法程式對於非法的輸入資料能夠得出滿足規格說明的結果 d.演算法對於精心選擇的,甚至刁難的測試資料都有滿足要求的輸出結果...
演算法學習筆記
複雜度分析 1.只關注迴圈次數最多的一行 2.總複雜度等於量級最大 的複雜度 3.巢狀 的複雜度等於巢狀 內外複雜度的乘積 單鏈表結構和順序儲存結構的優缺點 儲存分配方式 時間效能 空間效能 單鏈表結構 用一組任意的儲存單元存放線性表元素 查詢 o n 插入和刪除 找到某位置的指標後,插入和刪除的時...
演算法學習筆記
影象分割是機器視覺後續處理的基礎,通過分割提取影象中的目標區域,方便後續進一步分析處理。分水嶺分割演算法 傳統的分水嶺演算法,是基於數學形態學的分割方法。其基本思想是,將2d影象視為3d地形 其中,畫素的座標 地形的位置,畫素的灰度 地形的高度 每乙個區域性極小值及其周圍區域稱為集水盆地,而集水盆地...