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 条
  • [21] Automatic learners with feedback queries
    Case, John
    Jain, Sanjay
    Ong, Yuh Shin
    Semukhin, Pavel
    Stephan, Frank
    JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 2014, 80 (04) : 806 - 820
  • [22] Automatic Generation of SQL Queries
    Do, Quan
    Agrawal, Rajeev K.
    Rao, Dhana
    Gudivada, Venkat N.
    2014 ASEE ANNUAL CONFERENCE, 2014,
  • [23] AUTOMATIC CONSTRUCTION OF INFORMATION QUERIES
    GRZELAK, H
    KOWALSKI, K
    INFORMATION PROCESSING & MANAGEMENT, 1983, 19 (06) : 381 - 389
  • [24] Processing declarative queries through generating imperative code in managed runtimes
    Viglas, Stratis D.
    2017 IEEE 33RD INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2017), 2017, : 1610 - 1611
  • [25] Rule-Based Engineering Using Declarative Graph Database Queries
    Gruener, Sten
    Weber, Peter
    Epple, Ulrich
    2014 12TH IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2014, : 274 - +
  • [26] OPTIMIZATION OF QUASICONJUNCTIVE QUERIES
    ZMITROVICH, AI
    THO, DS
    PROGRAMMING AND COMPUTER SOFTWARE, 1990, 16 (04) : 167 - 170
  • [27] Optimization of schemaSQL queries
    Davis, KB
    Sadri, F
    2001 INTERNATIONAL DATABASE ENGINEERING & APPLICATIONS SYMPOSIUM, PROCEEDINGS, 2001, : 111 - 116
  • [28] Optimization of disjunctive queries
    Greco, S
    LOGIC PROGRAMMING: PROCEEDINGS OF THE 1999 INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING, 1999, : 441 - 455
  • [29] Optimization of geofield queries
    Bajerski, Piotr
    PROCEEDINGS OF THE 2008 1ST INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY, 2008, : 241 - 244
  • [30] LINEAR OPTIMIZATION QUERIES
    MATOUSEK, J
    JOURNAL OF ALGORITHMS-COGNITION INFORMATICS AND LOGIC, 1993, 14 (03): : 432 - 448