The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
A survey of web caching schemes for the Internet
ACM SIGCOMM Computer Communication Review
A survey of Web cache replacement strategies
ACM Computing Surveys (CSUR)
Optimizing LRU Caching for Variable Document Sizes
Combinatorics, Probability and Computing
An implementation of a log-structured file system for UNIX
USENIX'93 Proceedings of the USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993 Conference Proceedings
HashCache: cache storage for the next billion
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
How effective is mobile browser cache?
S3 '11 Proceedings of the 3rd ACM workshop on Wireless of the students, by the students, for the students
Performance models of flash-based solid-state drives for real workloads
MSST '11 Proceedings of the 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies
Revisiting storage for smartphones
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
A space-efficient flash translation layer for CompactFlash systems
IEEE Transactions on Consumer Electronics
Web caching on smartphones: ideal vs. reality
Proceedings of the 10th international conference on Mobile systems, applications, and services
Hi-index | 0.00 |
Browser caches are typically designed to maximize hit rates---if all other factors are held equal, then the highest hit rate will result in the highest performance. However, if the performance of the underlying cache storage (i.e. the file system) varies with differing workloads, then these other factors may in fact not be equal when comparing different cache strategies. Mobile systems such as smart phones are typically equipped with low-speed flash storage, and suffer severe degradation in file system performance under sufficiently random write workloads. A cache implementation which performs random writes will thus spend more time reading and writing its cache, possibly resulting in lower overall system performance than a lower-hit-rate implementation which achieves higher storage performance. We present a log-structured browser cache, generating almost purely sequential writes, and in which cleaning is efficiently performed by cache eviction. An implementation of this cache for the Chromium browser on Android was developed; using captured user browsing traces we test the log-structured cache and compare its performance to the existing Chromium implementation. We achieve a ten-fold performance improvement in basic cache operations (as measured on a Nexus 7 tablet), while in the worst case increasing miss rate by less than 3% (from 65% to 68%). For network bandwidths of 1Mb/s or higher the increased cache performance more than makes up for the decrease in hit rate; the effect is more pronounced when examining 95th percentile delays.