• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            gossip協(xié)議

            轉(zhuǎn)載自:http://blog.163.com/liaoxiangui@126/blog/static/795696402012121112831272/

            1.背景

            Gossip算法又被稱為反熵(Anti-Entropy),熵是物理學(xué)上的一個(gè)概念,代表雜亂無章,而反熵就是在雜亂無章中尋求一致,這充分說明了Gossip的特點(diǎn):在一個(gè)有界網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都隨機(jī)地與其他節(jié)點(diǎn)通信,經(jīng)過一番雜亂無章的通信,最終所有節(jié)點(diǎn)的狀態(tài)都會(huì)達(dá)成一致。每個(gè)節(jié)點(diǎn)可能知道所有其他節(jié)點(diǎn),也可能僅知道幾個(gè)鄰居節(jié)點(diǎn),只要這些節(jié)可以通過網(wǎng)絡(luò)連通,最終他們的狀態(tài)都是一致的,當(dāng)然這也是疫情傳播的特點(diǎn)。

            要注意到的一點(diǎn)是,即使有的節(jié)點(diǎn)因宕機(jī)而重啟,有新節(jié)點(diǎn)加入,但經(jīng)過一段時(shí)間后,這些節(jié)點(diǎn)的狀態(tài)也會(huì)與其他節(jié)點(diǎn)達(dá)成一致,也就是說,Gossip天然具有分布式容錯(cuò)的優(yōu)點(diǎn)。

            Gossip是一個(gè)帶冗余的容錯(cuò)算法,更進(jìn)一步,Gossip是一個(gè)最終一致性算法。雖然無法保證在某個(gè)時(shí)刻所有節(jié)點(diǎn)狀態(tài)一致,但可以保證在”最終“所有節(jié)點(diǎn)一致,”最終“是一個(gè)現(xiàn)實(shí)中存在,但理論上無法證明的時(shí)間點(diǎn)。

            因?yàn)镚ossip不要求節(jié)點(diǎn)知道所有其他節(jié)點(diǎn),因此又具有去中心化的特點(diǎn),節(jié)點(diǎn)之間完全對等,不需要任何的中心節(jié)點(diǎn)。實(shí)際上Gossip可以用于眾多能接受“最終一致性”的領(lǐng)域:失敗檢測、路由同步、Pub/Sub、動(dòng)態(tài)負(fù)載均衡。

            但Gossip的缺點(diǎn)也很明顯,冗余通信會(huì)對網(wǎng)路帶寬、CPU資源造成很大的負(fù)載,而這些負(fù)載又受限于通信頻率,該頻率又影響著算法收斂的速度,后面我們會(huì)講在各種場合下的優(yōu)化方法。

            2.基本概念

            gossip分為兩種. 本文只討論anti-entropy

            ■anti-entropy 只要數(shù)據(jù)不同步,就開始同步數(shù)據(jù)

            ■rumor mongering 每隔固定的時(shí)間同步數(shù)據(jù)

            見公式(1). 此公式表示在節(jié)點(diǎn)p上,q節(jié)點(diǎn)的屬性k的值是v,其版本號(hào)是n。

            為了保證一致性,規(guī)定數(shù)據(jù)的value及version只有宿主節(jié)點(diǎn)才能修改,其他節(jié)點(diǎn)只能間接通過Gossip協(xié)議來請求數(shù)據(jù)對應(yīng)的宿主節(jié)點(diǎn)修改,即m (p)只能由有節(jié)點(diǎn)p來修改。

            anti-entropy協(xié)議通過版本號(hào)大小來對數(shù)據(jù)進(jìn)行更新。

            兩個(gè)節(jié)點(diǎn)(A、B)之間存在三種通信方式:

            ■push-gossip: A節(jié)點(diǎn)將數(shù)據(jù)推送給B節(jié)點(diǎn),B節(jié)點(diǎn)更新A中比自己新的數(shù)據(jù)

            ■pull-gossip:A僅將摘要數(shù)據(jù) (node,key,value,version)推送給B,B根據(jù)摘要數(shù)據(jù)來選擇那些版本號(hào)比A高的數(shù)據(jù)推送給A,A更新本地。

            ■push-pull gossip:與pull類似,只是多了一步,A再將本地比B新的數(shù)據(jù)推送給B,B更新本地。

            如果把兩個(gè)節(jié)點(diǎn)數(shù)據(jù)同步一次定義為一個(gè)周期,則在一個(gè)周期內(nèi),push需通信1次,pull需2次,push/pull則需3次。從效果上來講,push/pull最好,理論上一個(gè)周期內(nèi)可以使兩個(gè)節(jié)點(diǎn)完全一致。直觀上也感覺,push/pull的收斂速度是最快的。

            3.數(shù)據(jù)同步(RECONCILIATION)

            3.1精確同步(precise reconciliation)

             精確同步希望在每次通信周期內(nèi)都非常準(zhǔn)確地消除雙方的不一致性,具體表現(xiàn)為相互發(fā)送所有對方需要更新的數(shù)據(jù)。實(shí)現(xiàn)過程中,精確同步很難做到。因?yàn)檎獢?shù)據(jù)過多,但Gossip消息存在大小限制。因此每次選擇發(fā)送哪些數(shù)據(jù)就成了問題。

            3.2整體同步(Scuttlebutt  reconciliation)

            節(jié)點(diǎn)會(huì)維護(hù)一個(gè)唯一的時(shí)間戳生成器, 時(shí)間戳生成器為各個(gè)屬性生成時(shí)間戳,時(shí)間戳的值單調(diào)遞增。節(jié)點(diǎn)在生成摘要數(shù)據(jù)時(shí),每個(gè)節(jié)點(diǎn)只有一份數(shù)據(jù){node,最大時(shí)間戳)。需要傳輸?shù)恼獢?shù)據(jù)和同步的實(shí)體數(shù)據(jù)的量大大的減少了。

            對于敏感的網(wǎng)絡(luò)而言,可能同步的實(shí)體數(shù)據(jù)還是太多,還存在選擇發(fā)送哪些數(shù)據(jù)的問題,如下的原則需要遵守:Scuttlebutt requires that if a certain delta (r; k; v; n) is omitted, then all the deltas with higher version numbers for the same r should be omitted as well.。即低版本號(hào)的實(shí)體數(shù)據(jù)比高版本號(hào)的實(shí)體數(shù)據(jù)的優(yōu)先級(jí)高。

            要實(shí)現(xiàn)上述原則有2種方法。

            ■廣度優(yōu)先(scuttle breadth)

                   出發(fā)點(diǎn)是對每個(gè)節(jié)點(diǎn)都公平。

            It uses a ranking on deltas for the same participant. The delta with the lowest version number has rank 0, the next lowest rank 1, and so on. The deltas are first ordered by rank so that deltas with lower ranks are included before deltas with higher ranks.

            ■深度優(yōu)先(scuttle-depth)

            相比廣度優(yōu)先,此方法對所有節(jié)點(diǎn)不公平。待傳輸?shù)臄?shù)據(jù)(delta data)越多,其優(yōu)先級(jí)越高。這個(gè)方法要好于以上方法,但是作者沒有進(jìn)行解釋。

            4.流控(flow control)

             待研究。。。。。

            posted on 2015-10-01 18:40 楊粼波 閱讀(1059) 評論(0)  編輯 收藏 引用

            亚洲AV无码1区2区久久| 国产精品成人久久久久久久| 国产精品99久久久精品无码 | 人妻丰满AV无码久久不卡| 99精品国产99久久久久久97 | 亚洲av伊人久久综合密臀性色| 亚洲伊人久久大香线蕉综合图片| 国产亚洲综合久久系列| 日本免费久久久久久久网站| 久久精品国产2020| 久久狠狠色狠狠色综合| 97精品伊人久久久大香线蕉| 99久久久久| 久久99精品国产自在现线小黄鸭| 无码人妻少妇久久中文字幕| 国产精品久久久久久久久| 免费久久人人爽人人爽av| 91精品无码久久久久久五月天| 久久精品国产精品亚洲精品 | 成人免费网站久久久| 久久99久久99精品免视看动漫| 久久99国产精品久久99果冻传媒| 狠狠色狠狠色综合久久| 麻豆国内精品久久久久久| 91精品观看91久久久久久| 欧美精品久久久久久久自慰| 亚洲精品成人网久久久久久| 久久99精品九九九久久婷婷| av国内精品久久久久影院| 久久精品国产亚洲av高清漫画| 久久久久国产精品人妻| 国产69精品久久久久APP下载| 久久精品亚洲欧美日韩久久| 精品久久久久久无码中文字幕 | 久久996热精品xxxx| 青青青伊人色综合久久| 久久综合久久综合久久| 久久亚洲欧美日本精品| 伊人色综合久久| 久久天天躁狠狠躁夜夜不卡| 久久久久综合国产欧美一区二区|