Abstract
Modern data analytics frameworks often integrate with external storage services, which can lead to storage bottlenecks. Existing caching and prefetching solutions utilize high-level information from data analytics frameworks to forecast future data accesses. They employ these predictions to prefetch data into the cache and manage the cache contents. However, this approach overlooks a fundamental opportunity: rather than caching data given a prediction of job execution, influencing the job execution order can enable more effective caching and prefetching. With this key insight, we introduce a novel system called Tripod, designed to synchronize job scheduling and data caching for analytics frameworks.Leveraging the higher-level information provided by analytics frameworks, Tripod explores the best-suited job execution order, guided by developed heuristics, to facilitate prefetching and caching. To fully exploit the potential of Tripod, we also introduce a novel caching strategy named CAP. This strategy not only acknowledges the job scheduling order but also offers fine-grained control over object prefetching and eviction. Our evaluation, conducted using standard analytic benchmarks (TPC-H and TPC-DS), demonstrates that Tripod achieves a speedup of up to 1.7x on state-of-the-art approaches. Moreover, when employing CAP to make caching decisions, the performance can further be improved (as much as 1.5x).
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.