Sloth: Being Lazy is a Virtue (When Issuing Database Queries)

Many web applications store persistent data in databases. During execution, such applications spend a significant amount of time communicating with the database for retrieval and storing of persistent data over the network. These network round trips represent a significant fraction of the overall ex...

Full description

Bibliographic Details
Main Authors: Cheung, Alvin K. (Contributor), Madden, Samuel R. (Contributor), Solar-Lezama, Armando (Contributor)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Association for Computing Machinery, 2014-09-25T19:50:31Z.
Subjects:
Online Access:Get fulltext
LEADER 02250 am a22002653u 4500
001 90361
042 |a dc 
100 1 0 |a Cheung, Alvin K.  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Cheung, Alvin K.  |e contributor 
100 1 0 |a Madden, Samuel R.  |e contributor 
100 1 0 |a Solar-Lezama, Armando  |e contributor 
700 1 0 |a Madden, Samuel R.  |e author 
700 1 0 |a Solar-Lezama, Armando  |e author 
245 0 0 |a Sloth: Being Lazy is a Virtue (When Issuing Database Queries) 
260 |b Association for Computing Machinery,   |c 2014-09-25T19:50:31Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/90361 
520 |a Many web applications store persistent data in databases. During execution, such applications spend a significant amount of time communicating with the database for retrieval and storing of persistent data over the network. These network round trips represent a significant fraction of the overall execution time for many applications and as a result increase their latency. While there has been prior work that aims to eliminate round trips by batching queries, they are limited by 1) a requirement that developers manually identify batching opportunities, or 2) the fact that they employ static program analysis techniques that cannot exploit many opportunities for batching. In this paper, we present Sloth, a new system that extends traditional lazy evaluation to expose query batching opportunities during application execution, even across loops, branches, and method boundaries. We evaluated Sloth using over 100 benchmarks from two large-scale open-source applications, and achieved up to a 3x reduction in page load time by delaying computation. 
520 |a National Science Foundation (U.S.) (NSF grant SHF-1116362) 
520 |a National Science Foundation (U.S.) (NSF grant SHF-1139056) 
520 |a Intel Science and Technology Centers for Big Data 
546 |a en_US 
655 7 |a Article 
773 |t Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data - SIGMOD '14