分布式系統(tǒng)-9-釋放一致性

論文:TreadMarks

本節(jié)我們以 TreadMarks 為模型聊一聊釋放一致性的是使用場景提针。

所謂釋放一致性,是指在對資源操作前曹傀,先進行 acquire 操作即獲取鎖辐脖,其實是對某個標示位的值進行讀取,若該資源正在被其他進程操作皆愉,該標示位為 0嗜价,當資源操作完成時會向所有副本發(fā)出更新通知艇抠,所有副本更新成功后將改標示位改成1,即釋放鎖(release)久锥,而在此之前家淤,后面的進程只能輪詢該標示位以獲取鎖狀態(tài)∩桑可見這種一致性模型每次只將修改的部分通知大家更新一下絮重,分散了一致性的壓力,數(shù)據(jù)競爭較小的地方會有比較理想的性能提升歹苦。

但是青伤,每次通知大家更新的時候是需要等所有人都回復(fù)OK后才能釋放鎖。如果 A 修改后不通知 B 和 C暂氯,BC 在每次 acquire 之前先把自己的數(shù)據(jù)更新一下潮模,這樣可以將 A 修改同步的負載延遲到各個副本上,這種策略叫 Lazy Release Consistency(LRC)痴施。

TreadMarks 為分布式共享式內(nèi)存而設(shè)計擎厢,采用 LRC 策略保證一致性,比 RC 提高了性能辣吃,但需要將資源的操作分成一個個 interval:acquire 和 release 之間动遭,可理解為邏輯上的時鐘,稱為 vector clock神得,它維護了各個進程的資源競爭的因果關(guān)系厘惦,通過合并操作可以得出每個 interval 結(jié)束時的資源狀態(tài),保證數(shù)據(jù)的一致性哩簿。

在分布式共享內(nèi)存中還有一個性能殺手宵蕉,F(xiàn)alse Sharing。由于內(nèi)存的管理單位是頁节榜,進程 A 修改的頁1的部分1羡玛,而進程 B 讀取頁1的部分2,傳統(tǒng)的方式會先把進程B頁1副本更新后再進行讀取宗苍,而進程 A 的修改對進程 B 的讀取沒有影響稼稿,這顯然是可以優(yōu)化的。TreadMarks 的優(yōu)化策略是在每個 interval 中創(chuàng)建 diff讳窟,也就是說让歼,進程 A 寫入頁1部分1之前先創(chuàng)建頁1的復(fù)制 twin,然后再去頁1中修改丽啡,當進程B讀取頁1時谋右,比較要讀的部分在頁1和twin有沒有區(qū)別,若沒有則直接讀本地頁1副本补箍,如有區(qū)別則創(chuàng)建創(chuàng)建 diff倚评。根據(jù) vector clock 在時間上因果關(guān)系推算出當前進程應(yīng)該讀到那個版本的diff浦徊,如此一來,將單一的數(shù)據(jù)頁同步轉(zhuǎn)化成狀態(tài)的疊加天梧,可以有效降低 False Sharing 的性能損耗,當然需要更多的空間存 diff霞丧,用空間換時間呢岗。

沒有十全十美的解決方案,只有適合不同場景的平衡取舍蛹尝,由于分布式內(nèi)存資源競爭概率遠小于非競爭的情況后豫,所以在在競爭同步,創(chuàng)建 diff 的策略上采取 lazy 的方式突那。反過來說挫酿,如果內(nèi)存競爭的情況高于非競爭的情況,這種處理方式反而會使內(nèi)存的使用效率降低愕难,比如單機早龟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市猫缭,隨后出現(xiàn)的幾起案子葱弟,更是在濱河造成了極大的恐慌,老刑警劉巖猜丹,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芝加,死亡現(xiàn)場離奇詭異,居然都是意外死亡射窒,警方通過查閱死者的電腦和手機藏杖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脉顿,“玉大人蝌麸,你說我怎么就攤上這事”子瑁” “怎么了祥楣?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長汉柒。 經(jīng)常有香客問我误褪,道長,這世上最難降的妖魔是什么碾褂? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任兽间,我火速辦了婚禮,結(jié)果婚禮上正塌,老公的妹妹穿的比我還像新娘嘀略。我一直安慰自己恤溶,他們只是感情好,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布帜羊。 她就那樣靜靜地躺著咒程,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讼育。 梳的紋絲不亂的頭發(fā)上帐姻,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音奶段,去河邊找鬼饥瓷。 笑死,一個胖子當著我的面吹牛痹籍,可吹牛的內(nèi)容都是我干的呢铆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼蹲缠,長吁一口氣:“原來是場噩夢啊……” “哼棺克!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吼砂,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤逆航,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后渔肩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體因俐,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年周偎,在試婚紗的時候發(fā)現(xiàn)自己被綠了抹剩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蓉坎,死狀恐怖澳眷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛉艾,我是刑警寧澤钳踊,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站勿侯,受9級特大地震影響拓瞪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜助琐,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一祭埂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兵钮,春花似錦蛆橡、人聲如沸舌界。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呻拌。三九已至,卻和暖如春睦焕,著一層夾襖步出監(jiān)牢的瞬間柏锄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工复亏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缭嫡。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓缔御,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妇蛀。 傳聞我的和親對象是個殘疾皇子耕突,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容