試著翻譯 PALM Tree 論文


原文

關(guān)鍵詞

Latch-free: 無鎖(且無自旋鎖)
scalable: 可擴(kuò)展的
Transitions: 轉(zhuǎn)換 過度
state-of-the art: 最新,最先進(jìn)

40M: 
The suffix ‘K’ indicates ‘thousand’, the suffix ‘M’ indicates ‘million’, and the suffix
‘B’ indicates ‘billion.

locks and latches
按照Graefe [11],我們對(duì)鎖和閂鎖進(jìn)行了區(qū)分。 前者是與數(shù)據(jù)庫事務(wù)的語義有關(guān)的概念,
而使用后者在線程級(jí)別控制對(duì)內(nèi)存中數(shù)據(jù)的更新-這些是指的“鎖”到數(shù)據(jù)庫社區(qū)之外

本文沒有特殊標(biāo)注locks 的鎖, 都指latches.

PALM: 一個(gè)并行友好架構(gòu),在多核處理器上可無鎖修改的B+樹

作者

Jason Sewall Jatin Chhugani Changkyu Kim Nadathur Satish Pradeep Dubey
Parallel Computing Lab
Intel Corporation
Contact: jason.sewall@intel.com

ABSTRACT 摘要

B +樹上的并發(fā)控制主要是通過閂鎖實(shí)現(xiàn)的,但是序列化和競(jìng)爭(zhēng)會(huì)阻礙可擴(kuò)展性。 如今,隨著處理器的數(shù)量在增加,必須發(fā)展可擴(kuò)展的無閂鎖技術(shù),用于并發(fā)控制。
我們提出PALM,這是一種新穎的內(nèi)存B +樹,為了實(shí)現(xiàn)多并發(fā)查詢操作,PALM基于批量同步并行模型,可確保沒有死鎖和競(jìng)爭(zhēng)。輸入查詢會(huì)被分組,并按原子批次( atomic batches)進(jìn)行處理,然后分階段進(jìn)行工作,排除競(jìng)爭(zhēng)。 階段之間過度的實(shí)現(xiàn),具有可擴(kuò)展的點(diǎn)對(duì)點(diǎn)通信。PALM利用現(xiàn)代多核體系結(jié)構(gòu)上,的數(shù)據(jù)和線程級(jí)并行性,實(shí)現(xiàn)40M updates/second on tree with 128M keys, 128M updates/second on trees with 512K keys 在最新的CPU 架構(gòu)上。我們的吞吐量是內(nèi)存B +樹上最新并發(fā)修改算法的2.3倍至19倍。
372/5000
PALM在非常低的響應(yīng)時(shí)間下(小于350μs)可獲得接近峰值的吞吐量,即使對(duì)于大樹也是如此。
我們還在以下方面評(píng)估PALM:英特爾多核集成(Intel MIC)架構(gòu),并在Intel Knights Ferry上展示了 out-of-cache tree sizes的1.5–2.1倍加速, 超過了一對(duì) dual-socket配置的,Intel Xeon 處理器 DP X5680(Westmere-EP) 。

1. INTRODUCTION 介紹

B +樹是中使用最廣泛的數(shù)據(jù)結(jié)構(gòu)之一,在數(shù)據(jù)庫中[12],并且曾經(jīng)很多工作是通過他們實(shí)現(xiàn)最佳性能。其中 很大一部分工作涉及并發(fā)控制,以實(shí)現(xiàn)并行計(jì)算[3、4、23、33、18、24、11]。
該領(lǐng)域的許多工作集中在基于磁盤的數(shù)據(jù)庫上。 這些系統(tǒng)的性能通常受磁盤I / O帶寬的限制。 但是,隨著內(nèi)存容量的急劇增加,現(xiàn)在許多數(shù)據(jù)庫表及其對(duì)應(yīng)的索引結(jié)構(gòu),完全駐留在主內(nèi)存中-消除了磁盤I / O操作。 現(xiàn)在已有的系統(tǒng)具有超過1TB的內(nèi)存; 這預(yù)示下一代系統(tǒng)的未來。
此外,現(xiàn)代處理器提高了計(jì)算能力,通過在單個(gè)芯片上集成多個(gè)內(nèi)核,極大地提高了每個(gè)中擴(kuò)展單指令多數(shù)據(jù)(SIMD)單元核心。 在可預(yù)見的未來,計(jì)算能力的最大增長,將來自不斷增加的并行性; 可擴(kuò)展并行算法至關(guān)重要。

2. RELATED WORK 相關(guān)工作

B樹[2]旨在加速對(duì)基于磁盤的數(shù)據(jù)庫的搜索查詢,同時(shí)支持修改。 早期就意識(shí)到,查詢同時(shí)并發(fā)執(zhí)行更新的重要性,很大的工作量在B樹上的并發(fā)的控制。 許多早期的論文專注于閂鎖耦合,使用讀取閂鎖和更新閂鎖來支持并發(fā)和擺脫死鎖。 Bayer 和McCreight [3]]提出了很多依靠預(yù)測(cè)分裂的鎖方案; Bernstein等 [4]涵蓋了許多用于B樹的鎖的協(xié)議。
Lehman和 Yao 提出的B-link樹[23],放寬了B-樹的結(jié)構(gòu),以允許節(jié)點(diǎn)使用高隔離的鍵和指針分別指向后繼節(jié)點(diǎn)

3. PARALLEL BATCHED TREE QUERIES 并行批處理樹的查詢

3.1 Motivation 動(dòng)機(jī)

PALM 在內(nèi)存中操作B+樹, 該樹索引了數(shù)據(jù)庫D的某一列的鍵的自全序集合K,該樹存儲(chǔ)鍵值對(duì)pairs(K, r*k)
指針r r?k 指向了第二個(gè)結(jié)構(gòu)rk, rk枚舉了D數(shù)據(jù)庫中 所有鍵值為K的元組的id。
此間接尋址為典型數(shù)據(jù)庫,支持多個(gè)元組的有相同鍵值。對(duì)于樹 TD索引了數(shù)據(jù)庫D,
PALM支持三個(gè)具有以下語義的查詢:

取 
RETRIEVE (TD, k): Return rk, or ? if k /∈ TD.
插入 
INSERT (TD,(k, e)): 
If k ∈ TD, append e to rk; 
otherwise, add anew rk = {e}, and add the new pair (k, r?k) to TD.
刪除 
DELETE (TD,(k, e)): If k ∈ TD, remove e from rk, 
then if |rk| = 0, remove (k, r?k) from TD. If k /∈ TD, do nothing.

取操作是嚴(yán)格 read query and returns results, 然而插入和刪除是 read/write (modify) queries returning nothing。
此外,取操作之間互相沒有影響,插入和刪除會(huì)影響其他操作的結(jié)果,僅當(dāng)他們使用相同鍵時(shí)
這些特性 These properties allow O to reordered (see Sec. 3.2.5).

3.1.1 Asynchronous tree queries 異步

3.1.2 Synchronous tree queries 同步

3.2 Algorithm 算法


3.2.1 Cooperation in REDISTRIBUTE-WORK

3.2.2 Ensuring correctness with RESOLVE-HAZARDS

3.2.3 Bulk node modification with MODIFY-NODE

3.3 Load balancing

4. IMPLEMENTATION

5. RESULTS

6. DISCUSSION AND CONCLUSION

7. REFERENCES

APPENDIX 附錄

A. POINT-TO-POINT SYNCHRONIZATION
B. NODE REPRESENTATION
C. PERFORMANCE MODELING

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,143評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評(píng)論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,416評(píng)論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,940評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,170評(píng)論 0 287
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,709評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,597評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,784評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評(píng)論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,029評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評(píng)論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,403評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,746評(píng)論 2 370

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

  • --- layout: post title: "如果有人問你關(guān)系型數(shù)據(jù)庫的原理,叫他看這篇文章(轉(zhuǎn))" date...
    藍(lán)墜星閱讀 799評(píng)論 0 3
  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 9,039評(píng)論 0 13
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,375評(píng)論 0 9
  • 數(shù)據(jù)庫的基本是概念名詞解釋: 數(shù)據(jù)庫名詞解釋 元組:可以理解為表的每一行就是一個(gè)元組 候選碼:若關(guān)系中的某一屬性組...
    杰倫哎呦哎呦閱讀 1,134評(píng)論 0 6
  • [TOC] 參考 數(shù)據(jù)庫索引數(shù)據(jù)結(jié)構(gòu)總結(jié) 本文摘抄自數(shù)據(jù)庫索引數(shù)據(jù)結(jié)構(gòu)總結(jié) 1. 摘要 數(shù)據(jù)庫索引是數(shù)據(jù)庫中最重要...
    GOGOYAO閱讀 613評(píng)論 0 0