Program Transformations for Asynchronous and Batched Query Submission

被引:12
|
作者
Ramachandra, Karthik [1 ]
Chavan, Mahendra [2 ]
Guravannavar, Ravindra [3 ]
Sudarshan, S. [1 ]
机构
[1] Indian Inst Technol, Dept Comp Sci & Engn, Bombay 400076, Maharashtra, India
[2] SAP, Pune, Maharashtra, India
[3] IIT Hyderabad, Dept Comp Sci & Engn, Hyderabad, Andhra Pradesh, India
关键词
Query optimization; program analysis; program transformation; PREFETCH;
D O I
10.1109/TKDE.2014.2334302
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The performance of database/web-service backed applications can be significantly improved by asynchronous submission of queries/requests well ahead of the point where the results are needed, so that results are likely to have been fetched already when they are actually needed. However, manually writing applications to exploit asynchronous query submission is tedious and error-prone. In this paper, we address the issue of automatically transforming a program written assuming synchronous query submission, to one that exploits asynchronous query submission. Our program transformation method is based on data flow analysis and is framed as a set of transformation examples. Our examples can handle query executions within loops, unlike some of the earlier work in this area. We also present a novel approach that, at runtime, can combine multiple asynchronous requests into batches, thereby achieving the benefits of batching in addition to that of asynchronous submission. We have built a tool that implements our transformation techniques on Java programs that use JDBC calls; our tool can be extended to handle Web service calls. We have carried out a detailed experimental study on several real-life applications, which shows the effectiveness of the proposed rewrite techniques, both in terms of their applicability and the performance gains achieved.
引用
收藏
页码:531 / 544
页数:14
相关论文
共 50 条
  • [1] Program Transformations for Asynchronous Query Submission
    Chavan, Mahendra
    Guravannavar, Ravindra
    Ramachandra, Karthik
    Sudarshan, S.
    IEEE 27TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2011), 2011, : 375 - 386
  • [2] PsiDB: A Framework for Batched Query Processing and Optimization
    Eslami, Mehrad
    Tu, Yicheng
    Charkhgard, Hadi
    Xu, Zichen
    Liu, Jiacheng
    2019 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2019, : 6046 - 6048
  • [3] Fast Batched Asynchronous Distributed Key Generation
    Groth, Jens
    Shoup, Victor
    ADVANCES IN CRYPTOLOGY, PT V, EUROCRYPT 2024, 2024, 14655 : 370 - 400
  • [4] Type Batched Program Reduction
    Gharachorlu, Golnaz
    Sumner, Nick
    PROCEEDINGS OF THE 32ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2023, 2023, : 398 - 410
  • [5] Parallel κ-Core Decomposition with Batched Updates and Asynchronous Reads
    Liu, Quanquan C.
    Shun, Julian
    Zablotchi, Igor
    PROCEEDINGS OF THE 29TH ACM SIGPLAN ANNUAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, PPOPP 2024, 2024, : 286 - 300
  • [6] A Negation Query Engine for Complex Query Transformations
    Iqbal, Rizwan
    Murad, Masrah Azrifah Azmi
    PERTANIKA JOURNAL OF SCIENCE AND TECHNOLOGY, 2013, 21 (01): : 193 - 204
  • [7] Towards synchronous and asynchronous graph transformations
    Taentzer, Gabriele
    Fundamenta Informaticae, 1996, 26 (3-4) : 387 - 406
  • [8] PROGRAM TRANSFORMATIONS
    BALZER, R
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1981, 7 (01) : 1 - 2
  • [9] Reconsidering NP Program Requirements for Manuscript Submission
    Edmunds, Marilyn W.
    Waldrop, Julee
    JNP-JOURNAL FOR NURSE PRACTITIONERS, 2015, 11 (07): : A17 - A19
  • [10] Semantic Query Transformations for Increased Parallelization in Distributed Knowledge Graph Query Processing
    Kim, Hyeongsik
    Bhattacharyya, Abhisha
    Anyanwu, Kemafor
    PROCEEDINGS OF SC19: THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2019,