Steno: Automatic Optimization of Declarative Queries

被引:0
|
作者
Murray, Derek G. [1 ]
Isard, Michael [1 ]
Yu, Yuan [1 ]
机构
[1] Univ Cambridge, Comp Lab, Cambridge CB2 1TN, England
关键词
query optimization; abstract machines;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Declarative queries enable programmers to write data manipulation code without being aware of the underlying data structure implementation. By increasing the level of abstraction over imperative code, they improve program readability and, crucially, create opportunities for automatic parallelization and optimization. For example, the Language Integrated Query (LINQ) extensions to C# allow the same declarative query to process in-memory collections, and datasets that are distributed across a compute cluster. However, our experiments show that the serial performance of declarative code is several times slower than the equivalent hand-optimized code, because it is implemented using run-time abstractions-such as iterators-that incur overhead due to virtual function calls and superfluous instructions. To address this problem, we have developed Steno, which uses a combination of novel and well-known techniques to generate code for declarative queries that is almost as efficient as hand-optimized code. Steno translates a declarative LINQ query into type-specialized, inlined and loop-based imperative code. It eliminates chains of iterators from query execution, and optimizes nested queries. We have implemented Steno for uniprocessor, multiprocessor and distributed computing platforms, and show that, for a real-world distributed job, it can almost double the speed of end-to-end execution.
引用
收藏
页码:121 / 131
页数:11
相关论文
共 50 条
  • [41] Optimization and evaluation of disjunctive queries
    Claussen, J
    Kemper, A
    Moerkotte, G
    Peithner, K
    Steinbrunn, M
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2000, 12 (02) : 238 - 260
  • [42] Optimization for queries with holistic functions
    Chiou, AS
    Sieg, JC
    SEVENTH INTERNATIONAL CONFERENCE ON DATABASE SYSTEMS FOR ADVANCED APPLICATIONS, PROCEEDINGS, 2001, : 327 - 334
  • [43] Optimization of queries with conjunction of predicates
    Tudor, Nicoleta Livia
    INTERNATIONAL JOURNAL OF COMPUTERS COMMUNICATIONS & CONTROL, 2007, 2 (03) : 288 - 298
  • [44] Logical optimization for meta queries
    Matsumoto, W
    Kashikawa, S
    Miura, T
    Shioya, I
    COMPUTERS AND THEIR APPLICATIONS, 2001, : 433 - 436
  • [45] OPTIMIZATION OF NONRECURSIVE QUERIES IN OODBS
    LANZELOTTE, RSG
    VALDURIEZ, P
    ZIANE, M
    CHEINEY, JP
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 566 : 1 - 21
  • [46] Semantic optimization of preference queries
    Chomicki, J
    CONSTRAINT DATABASES, PROCEEDINGS, 2004, 3074 : 128 - 142
  • [47] Optimization with Uniform Size Queries
    Uriel Feige
    Moshe Tennenholtz
    Algorithmica, 2017, 78 : 255 - 273
  • [48] OPTIMIZATION ALGORITHMS FOR DISTRIBUTED QUERIES
    APERS, PMG
    HEVNER, AR
    YAO, SB
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1983, 9 (01) : 57 - 68
  • [49] Optimization for iterative queries on MapReduce
    Onizuka, Makoto
    Kato, Hiroyuki
    Hidaka, Soichiro
    Nakano, Keisuke
    Hu, Zhenjiang
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2013, 7 (04): : 241 - 252
  • [50] Optimization with Uniform Size Queries
    Feige, Uriel
    Tennenholtz, Moshe
    ALGORITHMICA, 2017, 78 (01) : 255 - 273