ShoreKeeper boosts cloud data analytics by smarter memory sharing
ShoreKeeper: Accelerating Iterative Data Analytics in the Cloud via Distributed Recovery-Cost-Aware Caching
Distributed, Parallel, and Cluster Computing
Summary
Large data tasks like machine learning need lots of memory because they create many temporary data pieces. The authors show that usual methods only manage memory on one computer and expect it to always be available, which isn’t reliable. They built ShoreKeeper, a system that treats all the computers’ memory as one big pool and carefully decides what to keep so that data is easy to recover if lost. This helps computer clusters run faster and handle changing memory needs better than current methods. Tests prove ShoreKeeper consistently improves performance over existing systems.
What this means in practice
- •For cloud infrastructure teams: Manage memory across cloud clusters more efficiently to speed up large-scale iterative workloads even when nodes might be interrupted.
- •For machine learning platform engineers: Improve training speed and resource use by unifying cache decisions that handle changing data and memory availability in distributed setups.
Authors
Jongseop Lee, Minsu Sun, Xinyue Ma, Atul Sandur, Myeongjae Jeon
Abstract
Large-scale data-intensive workloads powered by iterative graph or machine learning processing have an insatiable demand for memory due to the continuous generation of new intermediate data. Although existing caching strategies strive to keep performance-critical data in memory, they often fail in practice because they are limited to node-local memory management and assume high node availability. In this paper, we introduce ShoreKeeper, a framework that maximizes execution efficiency by treating cluster-wide memory as a unified, elastic pool. ShoreKeeper employs a global optimization model that maps distributed dataflows into a single graph abstraction to minimize the recovery cost of data evicted from cache across the cluster. To handle memory working sets and cluster capacities that fluctuate over time, ShoreKeeper employs a graph-pruning technique that permits the fast refinement of the caching plan. These optimizations allow ShoreKeeper to work seamlessly whether deployed on highly available VMs or cost-effective preemptible instances in the cloud. Our experiments show that ShoreKeeper consistently outperforms state-of-the-art systems.