Affiliation:
1. Huazhong University of Science and Technology, China
2. University of Southern Denmark, Denmark
3. University of Warwick, UK
Abstract
In-memory caching of intermediate data and eager combining of data in shuffle buffers have been shown to be very effective in minimizing the re-computation and I/O cost in distributed data processing systems like Spark and Flink. However, it has also been widely reported that these techniques would create a large amount of long-living data objects in the heap, which may quickly saturate the garbage collector, especially when handling a large dataset, and hence would limit the scalability of the system. To eliminate this problem, we propose a lifetime-based memory management framework, which, by automatically analyzing the user-defined functions and data types, obtains the expected lifetime of the data objects, and then allocates and releases memory space accordingly to minimize the garbage collection overhead. In particular, we present Deca, a concrete implementation of our proposal on top of Spark, which transparently decomposes and groups objects with similar lifetimes into byte arrays and releases their space altogether when their lifetimes come to an end. An extensive experimental study using both synthetic and real datasets shows that, in comparing to Spark, Deca is able to 1) reduce the garbage collection time by up to 99.9%, 2) to achieve up to 22.7x speed up in terms of execution time in cases without data spilling and 41.6x speedup in cases with data spilling, and 3) to consume up to 46.6% less memory.
Subject
General Earth and Planetary Sciences,Water Science and Technology,Geography, Planning and Development
Cited by
22 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Let It Go: Relieving Garbage Collection Pain for Latency Critical Applications in Golang;Proceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing;2023-08-07
2. TeraHeap: Reducing Memory Pressure in Managed Big Data Frameworks;Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3;2023-03-25
3. RemOrphan: Object Storage Sustainability Through Removing Offline-Processed Orphan Garbage Data;IEEE Access;2023
4. Improving Concurrent GC for Latency Critical Services in Multi-tenant Systems;Proceedings of the 23rd ACM/IFIP International Middleware Conference;2022-10-24
5. PokéMem: Taming Wild Memory Consumers in Apache Spark;2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS);2022-05