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
Link To Document