首页> 外文期刊>The VLDB journal >Interleaving with coroutines: a systematic and practical approach to hide memory latency in index joins
【24h】

Interleaving with coroutines: a systematic and practical approach to hide memory latency in index joins

机译:与协程交织:一种隐藏索引连接中的内存延迟的系统且实用的方法

获取原文
获取原文并翻译 | 示例

摘要

Index joins present a case of pointer-chasing code that causes data cache misses. In principle, we can hide these cache misses by overlapping them with computation: The lookups involved in an index join are parallel tasks whose execution can be interleaved, so that, when a cache miss occurs in one task, the processor executes independent instructions from another one. Yet, the literature provides no concrete performance model for such interleaved execution and, more importantly, production systems still waste processor cycles on cache misses because (a) hardware and compiler limitations prohibit automatic task interleaving and (b) existing techniques that involve the programmer produce unmaintainable code and are thus avoided in practice. In this paper, we address these shortcomings: we model interleaved execution explaining how to estimate the speedup of any interleaving technique, and we propose interleaving with coroutines, i.e., functions that suspend their execution for later resumption. We deploy coroutines on index joins running in SAP HANA and show that interleaving with coroutines performs like other state-of-the-art techniques, retains close resemblance to the original code, and supports both interleaved and non-interleaved execution in the same implementation. Thus, we establish the first systematic and practical approach for interleaving index joins of any type.
机译:索引联接提供了一种导致数据高速缓存未命中的指针跟踪代码的情况。原则上,我们可以通过将它们与计算重叠来隐藏这些高速缓存未命中:索引联接中涉及的查找是并行任务,其执行可以交错执行,因此,当一个任务中发生高速缓存未命中时,处理器将执行另一任务的独立指令一。但是,文献没有为这种交错执行提供具体的性能模型,更重要的是,生产系统仍会在缓存未命中时浪费处理器周期,因为(a)硬件和编译器限制会禁止自动任务交错,并且(b)涉及程序员生产的现有技术不可维护的代码,因此在实践中避免使用。在本文中,我们解决了这些缺点:我们对交错执行进行建模,解释了如何估算任何交错技术的速度,并提出了与协程的交错,即暂停执行的功能以便以后恢复。我们在SAP HANA中运行的索引联接上部署了协程,并表明与协程的交织与其他最新技术一样,保持与原始代码的相似性,并在同一实现中支持交织和非交织执行。因此,我们建立了第一种系统和实用的方法来交织任何类型的索引连接。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号