• DocumentCode
    77385
  • Title

    Program Transformations for Asynchronous and Batched Query Submission

  • Author

    Ramachandra, Karthik ; Chavan, Mahendra ; Guravannavar, Ravindra ; Sudarshan, S.

  • Author_Institution
    Dept. of Comput. Sci. & Eng., IIT Bombay, Mumbai, India
  • Volume
    27
  • Issue
    2
  • fYear
    2015
  • fDate
    Feb. 1 2015
  • Firstpage
    531
  • Lastpage
    544
  • Abstract
    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.
  • Keywords
    Java; Web services; program diagnostics; query processing; JDBC calls; Java programs; Web service backed application; Web service calls; asynchronous query submission; batched query submission; data flow analysis; database backed application; program transformation; query execution; transformation examples; Databases; Delays; Electronic mail; Optimization; Runtime; Time factors; Web services; Query optimization; program analysis; program transformation;
  • fLanguage
    English
  • Journal_Title
    Knowledge and Data Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1041-4347
  • Type

    jour

  • DOI
    10.1109/TKDE.2014.2334302
  • Filename
    6847234