Sprint: Speculative prefetching of remote data

Arun Raman, Greta Yorsh, Martin Vechev, Eran Yahav

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Remote data access latency is a significant performance bottleneck in many modern programs that use remote databases and web services. We present Sprint-a run-time system for optimizing such programs by prefetching and caching data from remote sources in parallel to the execution of the original program. Sprint separates the concerns of exposing potentially-independent data accesses from the mechanism for executing them efficiently in parallel or in a batch. In contrast to prior work, Sprint can efficiently prefetch data in the presence of irregular or input-dependent access patterns, while preserving the semantics of the original program. We used Sprint to automatically improve the performance of several real-world Java programs that access remote databases (MySQL, DB2) and web services (Facebook, IBM's Yellow Pages). Sprint achieves speedups ranging 2.4× to 15.8× over sequential execution, which are comparable to those achieved by manually modifying the program for asynchronous and batch execution of data accesses. Sprint provides a simple interface that allows a programmer to plug in support for additional data sources without modifying the client program. Copyright is held by the author / owner(s).

Original languageEnglish
Title of host publicationOOPSLA'11 - Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications
Pages259-273
Number of pages15
DOIs
StatePublished - 2011
Event2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA'11 - Portland, OR, United States
Duration: 22 Oct 201127 Oct 2011

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Conference

Conference2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA'11
Country/TerritoryUnited States
CityPortland, OR
Period22/10/1127/10/11

Keywords

  • Automatic
  • Batching
  • Caching
  • Compiler
  • Parallelization
  • Prefetching
  • Remote data
  • Run-time
  • Speculation
  • Tool

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Sprint: Speculative prefetching of remote data'. Together they form a unique fingerprint.

Cite this