---
title: Finish-Time Fairness in Scheduling
url: https://www.emergentmind.com/topics/finish-time-fairness
type: topic
---

# Finish-Time Fairness in Scheduling

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 [2510.15485][2001.06159].

## 1. Formal Definitions and Quantitative Measures

Finish-time fairness is defined in terms of per-user performance metrics, most commonly the makespan $C^r_{\max}(A)$—that is, the maximal job completion time for user $U_r$ under scheduling algorithm $A$. The user-centric approach employs both absolute and relative measures:

- **Relative Fairness (RF):** For user $U_r$,
  $$
  RF(C^r_A) = \frac{C^r_{\rm OPT}}{C^r_A}
  $$
  where $C^r_{\rm OPT}$ is a lower bound on the user’s achievable makespan, typically $\frac{1}{m}\sum_{i=1}^{n_r} p^r_i$ for $m$ identical machines and jobs $J^r_i$ of lengths $p^r_i$.

- **Global Fairness (GF):**
  $$
  GF(C_A, k) = \frac{1}{k} \sum_{r=1}^k RF(C^r_A)
  $$
  These indices reside in $[0,1]$, with 1 denoting optimal fairness [2001.06159].

Additional discrimination and fairness indices track the degree to which users are advantaged or disadvantaged:
- **User Discrimination Index (UDI):** $UDI^r_A = 1 - RF(C^r_A)$.
- **Global Discrimination Index (GDI):** $GDI(C_A, k) = 1 - GF(C_A, k)$.
- **Relative Discrimination Index (RDI):** $RDI^r_A = GF(C_A, k) - RF(C^r_A)$ if $RF(C^r_A) < GF(C_A, k)$, zero otherwise.
- **Absolute Fairness:** Algorithm $A$ achieves absolute fairness if $RF(C^r_A)$ 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 [2001.06159].

## 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 $R_i$, a job $i$ arriving at $a_i$ and requiring total slot time $L_i$ ideally finishes at 
$$
\hat f_i = a_i + \frac{L_i}{R_i}
$$
An *ideal* finish-time fair scheduler would complete each job exactly at $\hat f_i$, but this is unattainable in practical, discrete systems. Consequently, the *bounded-fairness model* admits bounded deviation:
$$
f_i - \hat f_i \le C
$$
where $C$ is determined by system granularity and maximum task length. This ensures jobs are not delayed indefinitely beyond fluid-ideal baselines [2510.15485].

In two-level batch systems (e.g., Spark clusters), the canonical resource allocation is:
- Total resources $R$.
- $N_u$ active users, each entitled to $R_k = R/N_u$.
- For $N_j^k$ active jobs of user $k$, each job $i$ is assigned $R_i = R/(N_u N_j^k)$.

**User-Job Fairness (UJF):** A scheduler is ideally finish-time fair if each job executes with its canonical $R_i$ share at each instant. Bounded UJF requires actual completion within constant $C$ of the ideal [2510.15485].

## 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
  $$
  D_i^{\text{user}} = V_{\text{user}}^k + U_w \cdot L_i
  $$
  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 [2510.15485].

- **Runtime Partitioning:** To minimize the maximum scheduling granularity (and thus the fairness constant $C$), 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 [2510.15485].

Algorithmic runtime and insertion/dispatch operations can be efficiently maintained—UWFQ’s virtual time and update logic run in $O(\log N)$ 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 $k$ be the number of users, $m$ machines, $n$ total jobs.
- **Theorem**: For $k \geq 2$, $m \geq 2$ in the model $\text{MUMPOSP}(k, P_m | p_i^r = x,\, \forall r,i | C^r_{\max})$, every algorithm $A$ is $1/k$-fair, i.e.,
  $$
  RF(C^r_A) \geq 1/k
  $$
  for all $r$ [2001.06159]. This bound follows both when $k$ is a multiple of $m$ (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**: $RT_i = $ (max stage end) $-$ (min stage start) per job.
- **Slowdown**: $SL_i = RT_i^{\text{shared}} / RT_i^{\text{idle}}$.
- **Deadline Violation Ratio (DVR)**: Mean normalized exceedance over ideal finish times 
  $$
  DVR = \frac{\sum_i \max(0, (f_i - \hat f_i)/RT_{\text{UJF}})}{\# \text{violations}}
  $$
- **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 [2510.15485].
- 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 $\sum_i c^r_i$ for each user.
- **Weighted Sums:** Support for user- or task-dependent weights $w_i^r$.
- **Flow Time Objectives:** Minimize $\sum_i (c^r_i - t^r_i)$.

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 [2001.06159].

## 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 [2510.15485]. Its quantitative foundation also facilitates analysis, comparison, and verification of broader fairness properties across various scheduling platforms and resource allocation paradigms.

Source: https://www.emergentmind.com/topics/finish-time-fairness