Lifetime-based memory management for distributed data processing systems
Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Standard
Lifetime-based memory management for distributed data processing systems. / Lu, Lu; Shi, Xuanhua; Zhou, Yongluan; Zhang, Xiong; Jin, Hai; Pei, Cheng; He, Ligang; Geng, Yuanzhen.
Proceedings of the 42nd International Conference on Very Large Data Bases, New Delhi, India. ed. / Surajit Chaudhuri; Jayant Haritsa. VLDB Endowment, 2016. p. 936-947 (Proceedings of the VLDB Endowment; No. 12, Vol. 9).Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Harvard
APA
Vancouver
Author
Bibtex
}
RIS
TY - GEN
T1 - Lifetime-based memory management for distributed data processing systems
AU - Lu, Lu
AU - Shi, Xuanhua
AU - Zhou, Yongluan
AU - Zhang, Xiong
AU - Jin, Hai
AU - Pei, Cheng
AU - He, Ligang
AU - Geng, Yuanzhen
N1 - Conference code: 42
PY - 2016/8/1
Y1 - 2016/8/1
N2 - 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.
AB - 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.
U2 - 10.14778/2994509.2994513
DO - 10.14778/2994509.2994513
M3 - Article in proceedings
T3 - Proceedings of the VLDB Endowment
SP - 936
EP - 947
BT - Proceedings of the 42nd International Conference on Very Large Data Bases, New Delhi, India
A2 - Chaudhuri, Surajit
A2 - Haritsa, Jayant
PB - VLDB Endowment
T2 - 42nd International Conference On Very Large Data Bases
Y2 - 5 September 2016 through 9 September 2016
ER -
ID: 179407884