Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Practical prefetching via data compression
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Reducing cross domain call overhead using batched futures
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Using predictive prefetching to improve World Wide Web latency
ACM SIGCOMM Computer Communication Review
Automatic compiler-inserted I/O prefetching for out-of-core applications
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Automatic I/O hint generation through speculative execution
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
ISCA '01 Proceedings of the 28th annual international symposium on Computer architecture
Exposing I/O concurrency with informed prefetching
PDIS '94 Proceedings of the third international conference on on Parallel and distributed information systems
Practical prefetching techniques for parallel file systems
PDIS '91 Proceedings of the first international conference on Parallel and distributed information systems
Dynamic speculative precomputation
Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture
Design and evaluation of compiler algorithms for pre-execution
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
A stateless, content-directed data prefetching mechanism
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
A Decoupled Architecture for Application-Specific File Prefetching
Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Helper threads via virtual multithreading on an experimental itanium® 2 processor-based platform
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Web latency reduction via client-side prefetching
ISPASS '00 Proceedings of the 2000 IEEE International Symposium on Performance Analysis of Systems and Software
Query optimization over web services
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Open nesting in software transactional memory
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Optimistic parallelism requires abstractions
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Software behavior oriented parallelization
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
USITS'99 Proceedings of the 2nd conference on USENIX Symposium on Internet Technologies and Systems - Volume 2
On the Paging Performance of Array Algorithms
IEEE Transactions on Computers
Accelerating and Adapting Precomputation Threads for Effcient Prefetching
HPCA '07 Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture
Spice: speculative parallel iteration chunk execution
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
Hiding I/O latency with pre-execution prefetching for parallel applications
Proceedings of the 2008 ACM/IEEE conference on Supercomputing
Prefetching with Helper Threads for Loosely Coupled Multiprocessor Systems
IEEE Transactions on Parallel and Distributed Systems
Remote Batch Invocation for Compositional Object Services
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
ECOWS '09 Proceedings of the 2009 Seventh IEEE European Conference on Web Services
The RoadRunner Dynamic Analysis Framework for Concurrent Programs
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
I/O Deduplication: Utilizing content similarity to improve I/O performance
ACM Transactions on Storage (TOS)
Crom: Faster web browsing using speculative execution
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
Automatic partitioning of database applications
Proceedings of the VLDB Endowment
Understanding the behavior of database operations under program control
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
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.