首页> 外文学位 >Micro-specialization: Dynamic code specialization in DBMSes.
【24h】

Micro-specialization: Dynamic code specialization in DBMSes.

机译:微观专业化:DBMS中的动态代码专业化。

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

摘要

Database management systems (DBMSes) form a cornerstone of modern IT infrastructure, and it is essential that they have excellent performance. In this research, we exploit the opportunities of applying dynamic code specialization to DBMSes, particularly by focusing on runtime invariant present in DBMSes during query evaluation. Query evaluation involves extensive references to the relational schema, predicate values, and join types, which are all invariant during query evaluation, and thus are subject to dynamic value-based code specialization.;We observe that DBMSes are general in the sense that they must contend with arbitrary schemas, queries, and modifications; this generality is implemented using runtime metadata lookups and tests that ensure that control is channelled to the appropriate code in all cases. Unfortunately, these lookups and tests are carried out even when information is available that renders some of these operations superfluous, leading to unnecessary runtime overheads.;We introduce micro-specialization, an approach that uses relation- and query-specific information to specialize the DBMS code at runtime and thereby eliminate some of these overheads. We develop a taxonomy of approaches and specialization times and propose a general architecture that isolates most of the creation and execution of the specialized code sequences in a separate DBMS-independent module. We show that this approach requires minimal changes to a DBMS and can improve the performance simultaneously across a wide range of queries, modifications, and bulk-loading, in terms of storage, CPU usage, and I/O time of the TPC-H and TPC-C benchmarks. We also discuss an integrated development environment that helps DBMS developers apply micro-specializations to identified target code sequences.
机译:数据库管理系统(DBMSes)构成了现代IT基础架构的基石,并且拥有出色的性能至关重要。在这项研究中,我们利用了将动态代码专业化应用于DBMS的机会,特别是关注查询评估期间DBMS中存在的运行时不变性。查询评估涉及对关系模式,谓词值和联接类型的广泛引用,它们在查询评估过程中都是不变的,因此受基于动态值的代码专业化的影响。;我们注意到,DBMS是通用的,因为它们必须应对任意模式,查询和修改;使用运行时元数据查找和测试来实现这种通用性,以确保在所有情况下都将控件引导到适当的代码。不幸的是,即使有可用的信息使这些操作中的一些多余,也会执行这些查找和测试,从而导致不必要的运行时开销。我们引入了微专业化,这是一种使用特定于关系和查询的信息来专门化DBMS的方法。在运行时编写代码,从而消除了其中的一些开销。我们开发了一种方法和专业化时间的分类法,并提出了一种通用体系结构,该体系结构在一个独立的DBMS独立模块中隔离了大多数专业化代码序列的创建和执行。我们证明了这种方法只需要对DBMS进行最小的更改,并且可以在TPC-H和TPC-H的存储,CPU使用率和I / O时间方面,在各种查询,修改和批量加载中同时提高性能。 TPC-C基准。我们还将讨论一个集成的开发环境,该环境可以帮助DBMS开发人员将微专业化应用到已识别的目标代码序列。

著录项

  • 作者

    Zhang, Rui.;

  • 作者单位

    The University of Arizona.;

  • 授予单位 The University of Arizona.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2012
  • 页码 135 p.
  • 总页数 135
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号