Pfair Scheduling of Periodic
Tasks with Allocation
Constraints on Multiple
Processors
Deming Liu and Yann-Hang Lee
Computer Science & Engineering, ASU
1/17
Contributions
Give a polynomial-time pfair schedulability
test of periodic tasks over multiple processors
with arbitrary allocation constraints
Propose an approximate scheduling
algorithm for fixed tasks
Computer Science & Engineering, ASU
2/17
Basics of Proportionate
Fairness (pfair)
n periodic tasks to be scheduled over m
identical processors
Task constraint – at any time, no task can run
on more than one processor
All input parameters of any task x are integers
Period px, execution time ex, release time etc.
Pfair (proportionate fairness)
Task x receives either wxt or wxt serving time in
[0, t], where wx = ex / px
Tasks make progress in a steady rate
Computer Science & Engineering, ASU
3/17
Allocation Constraints
Allocation constraint
A task can only run on a given subset of processors
An instance is defined as a tuple {T, R,
{P(x)|xT }}
T is a set of n periodic tasks
R is a ser of m identical processors
P is a allocation constraint function defined as P : T
subsets of R such that for x T, P(x) R represents the
subset of processors on which task x can be executed
Computer Science & Engineering, ASU
4/17
Schedulability with Arbitrary
Allocation Constraints
For , assuming wx 1 and xT wx m
L lcmxT px
Theorem 1. Instance is pfair
schedulable if and only if there exists a
set of nonnegative numbers w(x, r)
(xT, rR) such that
w( x ,r ) w
w( x, r ) 1
rP ( x )
x
x{ y|rP ( y )}
Computer Science & Engineering, ASU
5/17
Proof by Constructing a Graph
Proof of Theorem 1
Applying max-flow theory to a constructed
digraph G = (V, E) representing the scheduling
problem
V = V0 V1 V2 V3 V4 V5
V0 = {source}.
V1 = {1, x, i | x T, i [0, wxL)}.
V2 = {2, x, j | x T, j [0, L)}.
V3 = {3, x, j | x T, j [0, L)}.
V4 = {4, r, j | r R, j [0, L)}.
V5 = {sink}.
Computer Science & Engineering, ASU
6/17
Proof by Constructing a Graph
E = E0 E1 E2 E3 E4
E0 = {(source, 1, x, i, 1) | x T, i [0, wxL)}.
E1 = {(1, x, i, 2, x, j, 1) | x T, i [0, wxL),
j [earliest(x, i), latest(x, i)]}
earliest(x, i) (latest(x, i)) is the earliest (latest)
time slot at which subtask i of task x can run
E2 = {(2, x, j, 3, x, j, 1) | x T, j [0, L)}.
E3 = {(3, x, j, 4, r, j, 1) | x T, r P(x), j
[0, L)}.
E4 = {(4, r, j, sink, 1) | r R, j [0, L)}.
Computer Science & Engineering, ASU
7/17
An Example of Graph
Construction
An example
T = {x0, x1, x2, x3} and R = {r0, r1, r2}.
Task
Period
Execution
time
Weight
Allocation
constraint
x0
5
3
0.6
r0, r1
x1
5
4
0.8
r0, r1
x2
5
4
0.8
No
x3
5
4
0.8
No
Computer Science & Engineering, ASU
8/17
An Example of Graph
Construction
The constructed
graph for the
example of
scheduling
problem
<2,x0,0>
<3,x0,0>
<2,x0,1>
<3,x0,1>
<2,x0,2>
<3,x0,2>
<2,x0,3>
<3,x0,3>
<2,x0,4>
<3,x0,4>
<1,x0,0>
<1,x0,1>
<1,x0,2>
<4,0,0>
<4,0,1>
<4,0,2>
<1,x1,0>
<1,x1,1>
<1,x1,2>
<1,x1,3>
source
<2,x1,0>
<3,x1,0>
<4,0,3>
<2,x1,1>
<3,x1,1>
<4,0,4>
<2,x1,2>
<3,x1,2>
<2,x1,3>
<3,x1,3>
<2,x1,4>
<3,x1,4>
<4,1,0>
<4,1,1>
<4,1,2>
<1,x2,0>
<1,x2,1>
<1,x2,2>
<1,x2,3>
<2,x2,0>
<3,x2,0>
<4,1,3>
<2,x2,1>
<3,x2,1>
<4,1,4>
<2,x2,2>
<3,x2,2>
<2,x2,3>
<3,x2,3>
<2,x2,4>
<3,x2,4>
<2,x3,0>
<3,x3,0>
<2,x3,1>
<3,x3,1>
<2,x3,2>
<3,x3,2>
<2,x3,3>
<3,x3,3>
<2,x3,4>
<3,x3,4>
sink
<4,2,0>
<4,2,1>
<4,2,2>
<1,x3,0>
<1,x3,1>
<1,x3,2>
<1,x3,3>
Computer Science & Engineering, ASU
<4,2,3>
<4,2,4>
9/17
Properties of the Constructed
Graph
Lemma 1 – A pfair schedule exists for iff
there is a flow of size of mL in G
If there is a fractional flow of size mL, then there is
an integral flow of size mL
The max flow of G is mL
Lemma 2 – There is a flow of size mL iff there
exists a set of numbers w(x, r) (xT, rR),
w( x ,r ) w
rP ( x )
x
w( x, r ) 1
x{ y|rP ( y )}
Construct a fractional flow of size mL to G [3]
f (( 3, x, j , 4, r , j ,1)) / L
Let w(x, r) correspond to j
[ 0, L )
Where f(e) denotes the flow of edge e
The max flow of G is mL
Computer Science & Engineering, ASU
10/17
Proof of the Schedulability
Test Condition
Theorem 1 follows by applying Lemma
1 and Lemma 2
Computer Science & Engineering, ASU
11/17
Polynomial Time Pfair
Schedulability Test
Checking existence of the set of w(x, r)
(xT, rR), can be done in O((n+m)3)
Similarly, construct a bipartite digraph of
n+m+2 vertices [3]
w(x, r) is mapped to edge flow in the graph
Max-flow can be found by O((n+m)3)
Computer Science & Engineering, ASU
12/17
An Example of Polynomial
Time Schedulability Test
<1,x0>
0.6(0.6)
source
0.8(0.8)
<1,x1>
0.8(0.8)
<1,x2>
0.8(0.8)
0.6(1)
0(1)
0.4(1)
1(1)
0.4(1)
0(1)
0(1)
0.6(1)
0.2(1)
0(1)
<1,x3>
<2,r0>
<2,r1>
1(1)
sink
1(1)
<2,r2>
0.8(1)
Computer Science & Engineering, ASU
13/17
On-Line Approximate Pfair
Scheduling
Although schedulability test is solved,
on-line pfair scheduling for any
allocation constraints is still a challenge
Let us consider special allocation
constraints, fixed tasks
Fixed task – A task can only run on a given
processor
Computer Science & Engineering, ASU
14/17
The Approximate Scheduling
Algorithm
All the fixed tasks on a processor are
combined to a supertask X with weight wX
An approximate algorithm – HPA (hierarchical
pfair algorithm)
Global scheduling – Use PD2 algorithm [J.
Anderson et al.] to schedule all migrating tasks
and supertasks
Local scheduling – On the time slots allocated to a
supertask X in global scheduling, schedule the
fixed tasks in X using uniprocessor pfair
scheduling algorithm
Computer Science & Engineering, ASU
15/17
Uniprocessor Pfair Scheduling
Uniprocessor pfair scheduling – Similar to nonpreemptive non-idling EDF
A subtask i, iN, of task x can only be eligible to run at or after
time instant i/wx (the beginning of time slot i/wx )
At any time slot, one of eligible subtasks is selected to run
according to EDF policy, where the deadline of subtask i, iN,
of task x is defined as the time instant (i+1)/wx (inside time
slot (i+1)/wx -1)
The upper (lower) limit of the window of a subtask of a
fixed task in X under HPA is not 1/wX less (greater)
than the upper (lower) limit of the ideal pfair window of
the subtask
The deviation from ideal pfair is bounded
Computer Science & Engineering, ASU
16/17
An Application of Pfair
Scheduling
PFRR (parallel fair round robin) packet
scheduling for switching networks
Multiple channels exist in links, e.g., WDM
n sessions share m channels
Channel 1
Session 1
Scheduler
Channel 2
Session 2
……
……
Session n
Channel m
Parallel packet scheduling in WDM switching networks
Computer Science & Engineering, ASU
17/17
© Copyright 2026 Paperzz