Optimization for resource management in heterogeneous spark clusters

Spark, as a large-scale data processing framework based on in-memory computing, is widely used in various big data processing scenarios. However, its existing resource scheduling strategy does not consider different types of applications and real-time utilization of cluster resources, resulting in low efficiency of both cluster resource usage and big data applications. To solve above problems, this paper proposes a strategy named Resource Scheduling for Heterogeneous Spark clusters (RSFHS). Firstly, the application is classified into CPU-intensive and IO-intensive according to the difference of resources consumed by the application; secondly, by monitoring the utilization of various resources of cluster nodes in real time, the remaining available resources of nodes are calculated, and then the nodes with strong processing capability and consistence with the type of applications are scheduled and allocated first. Experiments show that compared with Spark's existing resource scheduling strategy, RSFHS strategy can decrease the average execution time of applications by 6.5% ~12.26% and optimize the scheduling of different types of applications.