Sprint

Speculative Prefetching of Remote Data


METADATA ONLY
Loading...

Date

2011-10

Publication Type

Journal Article

ETH Bibliography

yes

Citations

Altmetric
METADATA ONLY

Data

Rights / License

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.4x to 15.8x 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.

Publication status

published

Editor

Book title

Volume

46 (10)

Pages / Article No.

259 - 273

Publisher

Association for Computing Machinery

Event

Edition / version

Methods

Software

Geographic location

Date collected

Date created

Subject

Design; Languages; Performance; Remote data; Automatic; Prefetching; Parallelization; Speculation; Batching; Caching; Compiler; Run-time; Tool

Organisational unit

Notes

Funding

Related publications and datasets