An adaptive memory tuning strategy with high performance for Spark

With the rapid development of internet, people put more and more focus on data, which contains much information and are of great value. To gain better performance in data analysis, in-memory computing has been more and more popular. Spark (Zaharia et al., 2010) is a successful example of improving computing performance through in-memory computing. However, how to make full use of memory resource is still a problem for Spark. In this paper, we presented an adaptive memory tuning strategy for Spark, which enables dynamic data compression and serialisation selecting strategy to use less resource usage and obtain faster data process. We derived the strategy of selecting the optimal data compression and serialisation mathematically. It chooses proper memory tuning strategy according to resource usage and can obtain good performance in applications, which persist data frequently.