协程交错执行在 Index Join 中的应用 |DB Paper Reading 线上直播

百家 作者:PingCAP 2021-07-19 23:19:13 阅读:263

DB Paper Reading 这周继续来营业啦!我们希望通过对业界学术论文的分享,带大家了解数据库学术界最新的研究方向。7 月 20 日晚 TiFlash 研发工程师雷宇将为大家解读 Interleaving with coroutines: a practical approach for robust index joins。该论文提出协程(coroutine)是近些年比较火的概念,各大主流语言都纷纷提供了协程的支持,就连相当保守的 C++ 也在 C++20 中引入了协程的语言层面支持。本论文由 SAP HANA 发表于 VLDB,主要讲述了基于 coroutine 的指令 interleaving 技术在数据库 Index Join 中的应用。感兴趣的朋友不要错过,赶紧报名约起来~


直播季

PingCAP Paper Reading


时间:2021 年 7 月 20 日晚 19:00-20:00


19:00 - 20:00


Interleaving with coroutines: a practical approach for robust index joins


 TiFlash 研发工程师

雷宇

TiDB 分析引擎研发工程师,主要在做 TiDB SQL MPP 执行的相关工作。


Content
在这次活动中,我将结合论文介绍协程的原理与实现方式,并且探讨协程如何帮助我们提高软件的性能。

Index join performance is determined by the efficiency of the lookup operation on the involved index. Although database indexes are highly optimized to leverage processor caches, main memory accesses inevitably increase lookup runtime when the index outsizes the last-level cache; hence, index join performance drops. Still, robust index join performance becomes possible with instruction stream interleaving: given a group of lookups, we can hide cache misses in one lookup with instructions from other lookups by switching among their respective instruction streams upon a cache miss. In this paper, we propose interleaving with coroutines for any type of index join. We showcase our proposal on SAP HANA by implementing binary search and CSB+-tree traversal for an instance of index join related to dictionary compression. Coroutine implementations not only perform similarly to prior interleaving techniques, but also resemble the original code closely, while supporting both interleaved and non-interleaved execution. Thus, we claim that coroutines make interleaving practical for use in real DBMS codebases.


报名方式:扫描二维码即可参与报名~


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:http://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

图库