Finish-Time Fairness in Scheduling
- Finish-time fairness is a scheduling approach that quantifies equity by comparing actual job completion times to ideal baselines, ensuring fair resource distribution.
- It employs robust metrics such as relative fairness and discrimination indices to assess and enhance user-centric performance in multi-job environments.
- Advanced algorithms like UWFQ and runtime partitioning demonstrate measurable improvements in response times and fairness bounds in distributed systems.
Finish-time fairness is a principled approach to resource scheduling in multi-user, multi-job computational environments, centering fairness metrics on the actual or ideal completion times of users’ workloads. Unlike traditional task- or job-level fairness, finish-time fairness quantifies equity from the perspective of user objectives—typically the completion time (makespan) of all jobs submitted by each user—providing rigorous foundations and quantitative indices for measuring and enforcing fairness in large-scale systems such as batch clusters or distributed analytics frameworks (Kažemaks et al., 17 Oct 2025, Dwibedy et al., 2020).
1. Formal Definitions and Quantitative Measures
Finish-time fairness is defined in terms of per-user performance metrics, most commonly the makespan —that is, the maximal job completion time for user under scheduling algorithm . The user-centric approach employs both absolute and relative measures:
- Relative Fairness (RF): For user ,
where is a lower bound on the user’s achievable makespan, typically for identical machines and jobs of lengths .
- Global Fairness (GF):
0
These indices reside in 1, with 1 denoting optimal fairness (Dwibedy et al., 2020).
Additional discrimination and fairness indices track the degree to which users are advantaged or disadvantaged:
- User Discrimination Index (UDI): 2.
- Global Discrimination Index (GDI): 3.
- Relative Discrimination Index (RDI): 4 if 5, zero otherwise.
- Absolute Fairness: Algorithm 6 achieves absolute fairness if 7 is identical for all users.
These definitions generalize straightforwardly to other user-centric objectives such as sum of completion times, weighted flow time, or other composite metrics (Dwibedy et al., 2020).
2. Bounded-Fairness Model and Ideal Schedulers
Perfect fairness is often formalized using the fluid Generalized Processor Sharing (GPS) model. Under GPS with per-job shares 8, a job 9 arriving at 0 and requiring total slot time 1 ideally finishes at
2
An ideal finish-time fair scheduler would complete each job exactly at 3, but this is unattainable in practical, discrete systems. Consequently, the bounded-fairness model admits bounded deviation:
4
where 5 is determined by system granularity and maximum task length. This ensures jobs are not delayed indefinitely beyond fluid-ideal baselines (Kažemaks et al., 17 Oct 2025).
In two-level batch systems (e.g., Spark clusters), the canonical resource allocation is:
- Total resources 6.
- 7 active users, each entitled to 8.
- For 9 active jobs of user 0, each job 1 is assigned 2.
User-Job Fairness (UJF): A scheduler is ideally finish-time fair if each job executes with its canonical 3 share at each instant. Bounded UJF requires actual completion within constant 4 of the ideal (Kažemaks et al., 17 Oct 2025).
3. Scheduling Algorithms for Finish-Time Fairness
Advanced scheduling algorithms have been developed to operationalize finish-time fairness under bounded deviations:
- User Weighted Fair Queuing (UWFQ): Extends classic Weighted Fair Queuing (WFQ) to two levels—users and jobs—using virtual time calculations. Each user maintains a virtual time; jobs are assigned user-virtual deadlines
5
with global deadlines constructed via cumulative user-virtual deadlines. Dispatching proceeds by selecting the job with the smallest global virtual deadline, directly minimizing response time while maintaining bounded finish-time fairness (Kažemaks et al., 17 Oct 2025).
- Runtime Partitioning: To minimize the maximum scheduling granularity (and thus the fairness constant 6), tasks within a stage are dynamically split based on a target advisory runtime (ATR), ensuring no single task is excessively large. This reduces skew, alleviates priority inversion, and tightens the finish-time bound by minimizing the impact of straggler tasks (Kažemaks et al., 17 Oct 2025).
Algorithmic runtime and insertion/dispatch operations can be efficiently maintained—UWFQ’s virtual time and update logic run in 7 per event.
4. Lower Bounds and Impossibility Results
Even under idealized conditions (identical machines, equal-length jobs), a hard lower bound exists for achievable fairness:
- Let 8 be the number of users, 9 machines, 0 total jobs.
- Theorem: For 1, 2 in the model 3, every algorithm 4 is 5-fair, i.e.,
6
for all 7 (Dwibedy et al., 2020). This bound follows both when 8 is a multiple of 9 (by direct resource division) and otherwise (via global job balancing), demonstrating the inherent limits of absolute finish-time fairness in resource-constrained scenarios. This is buttressed by algorithm-independent induction arguments and adversarial lower bound constructions.
5. Empirical Evaluation and Metrics
Finish-time fairness is evaluated with metrics that align with user-centric objectives:
- Response Time: 0 (max stage end) 1 (min stage start) per job.
- Slowdown: 2.
- Deadline Violation Ratio (DVR): Mean normalized exceedance over ideal finish times
3
- Deadline Slack Ratio (DSR): Symmetrically, for jobs completing before their ideal finish.
Performance benchmarks (e.g., synthetic workloads, scaled Google traces) consistently confirm that bounded-fairness scheduling (such as UWFQ) closes the deviation gap to the ideal:
- UWFQ reduces average response time by up to 74% over current Spark schedulers (Kažemaks et al., 17 Oct 2025).
- DVR under UWFQ is several times lower than under Cluster Fair Queuing (CFQ) or traditional Fair, demonstrating much tighter adherence to user-centric finish-time bounds.
- For small to medium jobs, UWFQ speeds up completion by 60–70%, while maintaining theoretical fairness guarantees for large jobs and heterogeneous loads.
6. Generalizations and Connections to Broader Fairness Models
The finish-time fairness formalism generalizes directly to other measurable user objectives:
- Sum of Completion Times: Replace makespan by 4 for each user.
- Weighted Sums: Support for user- or task-dependent weights 5.
- Flow Time Objectives: Minimize 6.
All fairness and discrimination indices extend verbatim to these settings, enabling a consistent user-objective-centric assessment of algorithmic fairness for an array of workload types and optimization goals (Dwibedy et al., 2020).
7. Significance and Applications in Distributed Systems
Finish-time fairness provides a robust, quantitative framework for designing, analyzing, and benchmarking scheduling algorithms in high-throughput, multi-user environments. It directly addresses limitations of task/job-level schedulers, in particular:
- Countering user gaming (e.g., submitting many small jobs for higher effective throughput).
- Explicitly quantifying the cost of discrete scheduling in terms of predictable, bounded deviations from ideality.
- Enabling new algorithmic approaches, like UWFQ and runtime partitioning, that demonstrably improve user-level equity while optimizing performance.
The model has been implemented and evaluated in Apache Spark, a widely used data processing ecosystem, with substantial gains in empirical and theoretical fairness without sacrificing system throughput (Kažemaks et al., 17 Oct 2025). Its quantitative foundation also facilitates analysis, comparison, and verification of broader fairness properties across various scheduling platforms and resource allocation paradigms.