Cost, Performance and Makespan-Aware Spark Application Scheduling via DRL-based Resource Optimization in Cloud Environment
摘要
Apache Spark has become a cornerstone of modern big data analytics, increasingly powered by the scalability and cost efficiency of cloud computing. However, the heterogeneity of cluster resources and the diverse resource-performance characteristics of Spark applications make resource allocation and scheduling under dynamic workloads inherently challenging. Existing studies on Spark resource optimization primarily target single-application settings and typically do not explicitly model system-level behavior under dynamically arriving workloads. Meanwhile, research on Spark application scheduling has largely focused on task or executor scheduling, with resource allocation often handled in an ad hoc or heuristic manner. In this paper, we propose a unified framework for Spark application scheduling that integrates fine-grained executor-level resource allocation. Building upon this framework, we present a scheduling algorithm that jointly optimizes cost, application performance, and makespan via deep reinforcement learning–based resource optimization. To support effective RL training, we further construct performance prediction models for Spark applications and design a simulator that captures key cluster characteristics relevant to scheduling. Extensive experiments conducted in both simulated and real environments, using real workload traces, demonstrate that our proposed algorithm achieves a better trade-off among cost, application performance, and makespan compared with baseline strategies.