试着翻译 PALM Tree 论文


原文

关键词

Latch-free: 无锁(且无自旋锁)
scalable: 可扩展的
Transitions: 转换 过度
state-of-the art: 最新,最先进

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

locks and latches
按照Graefe [11],我们对锁和闩锁进行了区分。 前者是与数据库事务的语义有关的概念,
而使用后者在线程级别控制对内存中数据的更新-这些是指的“锁”到数据库社区之外

本文没有特殊标注locks 的锁, 都指latches.

PALM: 一个并行友好架构,在多核处理器上可无锁修改的B+树

作者

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

ABSTRACT 摘要

B +树上的并发控制主要是通过闩锁实现的,但是序列化和竞争会阻碍可扩展性。 如今,随着处理器的数量在增加,必须发展可扩展的无闩锁技术,用于并发控制。
我们提出PALM,这是一种新颖的内存B +树,为了实现多并发查询操作,PALM基于批量同步并行模型,可确保没有死锁和竞争。输入查询会被分组,并按原子批次( atomic batches)进行处理,然后分阶段进行工作,排除竞争。 阶段之间过度的实现,具有可扩展的点对点通信。PALM利用现代多核体系结构上,的数据和线程级并行性,实现40M updates/second on tree with 128M keys, 128M updates/second on trees with 512K keys 在最新的CPU 架构上。我们的吞吐量是内存B +树上最新并发修改算法的2.3倍至19倍。
372/5000
PALM在非常低的响应时间下(小于350µs)可获得接近峰值的吞吐量,即使对于大树也是如此。
我们还在以下方面评估PALM:英特尔多核集成(Intel MIC)架构,并在Intel Knights Ferry上展示了 out-of-cache tree sizes的1.5–2.1倍加速, 超过了一对 dual-socket配置的,Intel Xeon 处理器 DP X5680(Westmere-EP) 。

1. INTRODUCTION 介绍

B +树是中使用最广泛的数据结构之一,在数据库中[12],并且曾经很多工作是通过他们实现最佳性能。其中 很大一部分工作涉及并发控制,以实现并行计算[3、4、23、33、18、24、11]。
该领域的许多工作集中在基于磁盘的数据库上。 这些系统的性能通常受磁盘I / O带宽的限制。 但是,随着内存容量的急剧增加,现在许多数据库表及其对应的索引结构,完全驻留在主内存中-消除了磁盘I / O操作。 现在已有的系统具有超过1TB的内存; 这预示下一代系统的未来。
此外,现代处理器提高了计算能力,通过在单个芯片上集成多个内核,极大地提高了每个中扩展单指令多数据(SIMD)单元核心。 在可预见的未来,计算能力的最大增长,将来自不断增加的并行性; 可扩展并行算法至关重要。

2. RELATED WORK 相关工作

B树[2]旨在加速对基于磁盘的数据库的搜索查询,同时支持修改。 早期就意识到,查询同时并发执行更新的重要性,很大的工作量在B树上的并发的控制。 许多早期的论文专注于闩锁耦合,使用读取闩锁和更新闩锁来支持并发和摆脱死锁。 Bayer 和McCreight [3]]提出了很多依靠预测分裂的锁方案; Bernstein等 [4]涵盖了许多用于B树的锁的协议。
Lehman和 Yao 提出的B-link树[23],放宽了B-树的结构,以允许节点使用高隔离的键和指针分别指向后继节点

3. PARALLEL BATCHED TREE QUERIES 并行批处理树的查询

3.1 Motivation 动机

PALM 在内存中操作B+树, 该树索引了数据库D的某一列的键的自全序集合K,该树存储键值对pairs(K, r*k)
指针r r∗k 指向了第二个结构rk, rk枚举了D数据库中 所有键值为K的元组的id。
此间接寻址为典型数据库,支持多个元组的有相同键值。对于树 TD索引了数据库D,
PALM支持三个具有以下语义的查询:

取 
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.

取操作是严格 read query and returns results, 然而插入和删除是 read/write (modify) queries returning nothing。
此外,取操作之间互相没有影响,插入和删除会影响其他操作的结果,仅当他们使用相同键时
这些特性 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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容

  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 788评论 0 3
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 8,988评论 0 13
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,311评论 0 9
  • 数据库的基本是概念名词解释: 数据库名词解释 元组:可以理解为表的每一行就是一个元组 候选码:若关系中的某一属性组...
    杰伦哎呦哎呦阅读 1,111评论 0 6
  • [TOC] 参考 数据库索引数据结构总结 本文摘抄自数据库索引数据结构总结 1. 摘要 数据库索引是数据库中最重要...
    GOGOYAO阅读 602评论 0 0