MEMTUNE: Dynamic Memory Management for In-Memory Data Analytic Platforms
Authors:
- Luna XuLXLuna Xu
- Min LiMLMin Li
- Li ZhangLZLi Zhang
- Ali R. ButtAli R. Butt
- Yandong WangYWYandong Wang
- Zane Zhenhua HuZHZane Zhenhua Hu
- 1 May 2016
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 15302075,p. 383-392
Abstract
Memory is a crucial resource for big data processing frameworks such as Spark and M3R, where the memory is used both for computation and for caching intermediate storage data. Consequently, optimizing memory is the key to extracting high performance. The extant approach is to statically split the memory for computation and caching based on workload profiling. This approach is unable to capture the varying workload characteristics and dynamic memory demands. Another factor that affects caching efficiency is the choice of data placement and eviction policy. The extant LRU policy is oblivious of task scheduling information from the analytic frameworks, and thus can lead to lost optimization opportunities. In this paper, we address the above issues by designing MEMTUNE, a dynamic memory manager for in-memory data analytics. MEMTUNE dynamically tunes computation/caching memory partitions at runtime based on workload memory demand and in-memory data cache needs. Moreover, if needed, the scheduling information from the analytic framework is leveraged to evict data that will not be needed in the near future. Finally, MEMTUNE also supports task-level data prefetching with a configurable window size to more effectively overlap computation with I/O. Our experiments show that MEMTUNE improves memory utilization, yields an overall performance gain of up to 46%, and achieves cache hit ratio of up to 41% compared to standard Spark.Keywords
This publication has 14 references indexed in Scilit:
- Interruptible tasks2015
- Spark SQL2015
- MRTunerProceedings of the VLDB Endowment, 2014
- Discretized streams2013
- Apache Hadoop YARN2013
- Shark2013
- Directed Acyclic Graph2013
- AROMA2012
- M3RProceedings of the VLDB Endowment, 2012
- Generic virtual memory management for operating system kernels1989