Balancing Fairness and Performance in Multi-User Spark Workloads with Dynamic Scheduling (extended version)

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Kažemaks, Dāvis, Versluis, Laurens, Ozkan, Burcu Kulahcioglu, Decouchant, Jérémie
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866915559455588352
author Kažemaks, Dāvis
Versluis, Laurens
Ozkan, Burcu Kulahcioglu
Decouchant, Jérémie
author_facet Kažemaks, Dāvis
Versluis, Laurens
Ozkan, Burcu Kulahcioglu
Decouchant, Jérémie
contents Apache Spark is a widely adopted framework for large-scale data processing. However, in industrial analytics environments, Spark's built-in schedulers, such as FIFO and fair scheduling, struggle to maintain both user-level fairness and low mean response time, particularly in long-running shared applications. Existing solutions typically focus on job-level fairness which unintentionally favors users who submit more jobs. Although Spark offers a built-in fair scheduler, it lacks adaptability to dynamic user workloads and may degrade overall job performance. We present the User Weighted Fair Queuing (UWFQ) scheduler, designed to minimize job response times while ensuring equitable resource distribution across users and their respective jobs. UWFQ simulates a virtual fair queuing system and schedules jobs based on their estimated finish times under a bounded fairness model. To further address task skew and reduce priority inversions, which are common in Spark workloads, we introduce runtime partitioning, a method that dynamically refines task granularity based on expected runtime. We implement UWFQ within the Spark framework and evaluate its performance using multi-user synthetic workloads and Google cluster traces. We show that UWFQ reduces the average response time of small jobs by up to 74% compared to existing built-in Spark schedulers and to state-of-the-art fair scheduling algorithms.
format Preprint
id arxiv_https___arxiv_org_abs_2510_15485
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Balancing Fairness and Performance in Multi-User Spark Workloads with Dynamic Scheduling (extended version)
Kažemaks, Dāvis
Versluis, Laurens
Ozkan, Burcu Kulahcioglu
Decouchant, Jérémie
Distributed, Parallel, and Cluster Computing
Databases
Systems and Control
Apache Spark is a widely adopted framework for large-scale data processing. However, in industrial analytics environments, Spark's built-in schedulers, such as FIFO and fair scheduling, struggle to maintain both user-level fairness and low mean response time, particularly in long-running shared applications. Existing solutions typically focus on job-level fairness which unintentionally favors users who submit more jobs. Although Spark offers a built-in fair scheduler, it lacks adaptability to dynamic user workloads and may degrade overall job performance. We present the User Weighted Fair Queuing (UWFQ) scheduler, designed to minimize job response times while ensuring equitable resource distribution across users and their respective jobs. UWFQ simulates a virtual fair queuing system and schedules jobs based on their estimated finish times under a bounded fairness model. To further address task skew and reduce priority inversions, which are common in Spark workloads, we introduce runtime partitioning, a method that dynamically refines task granularity based on expected runtime. We implement UWFQ within the Spark framework and evaluate its performance using multi-user synthetic workloads and Google cluster traces. We show that UWFQ reduces the average response time of small jobs by up to 74% compared to existing built-in Spark schedulers and to state-of-the-art fair scheduling algorithms.
title Balancing Fairness and Performance in Multi-User Spark Workloads with Dynamic Scheduling (extended version)
topic Distributed, Parallel, and Cluster Computing
Databases
Systems and Control
url https://arxiv.org/abs/2510.15485