Sloth: Being Lazy is a Virtue (When Issuing Database Queries)
Name
MIT-CSAIL-TR-2014-006.pdf
Size
1.43 MB
Format
Adobe PDF
Checksum (MD5)
9daf0b51eafa1f4d3bc21c60bee79e49
Download all files submitted through automated deposit
Author(s) • •
Cheung, Alvin
Madden, Samuel
Solar-Lezama, Armando
Advisor(s)
Sam Madden
Date Issued
April 14, 2014
Series/Report no.
MIT-CSAIL-TR-2014-006
Abstract
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.
Subjects
network round trips
application optimization
database applications
compilers
lazy evaluation
Persistent DSpace Link