Fixed-Priority Schedulability of Sporadic Tasks
- n Uniprocessors is NP-hard
Pontus Ekberg & Wang Yi
Uppsala University
RTSS 2017
Fixed-Priority Schedulability of Sporadic Tasks on Uniprocessors is - - PowerPoint PPT Presentation
Fixed-Priority Schedulability of Sporadic Tasks on Uniprocessors is NP -hard Pontus Ekberg & Wang Yi Uppsala University RTSS 2017 Overview for coNP -complete Strongly Polynomial time utilization Arbitrary EDF c NP -hard coNP -complete
Pontus Ekberg & Wang Yi
Uppsala University
RTSS 2017
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ln and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for c Weakly coNP-complete for c
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm
∗ ∗
Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm
∗
Polynomial time for c ln and RM priorities Pseudo-poly. time algorithm
∗
Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for c Weakly coNP-complete for c
(∗) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm
∗ ∗
Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities
†
Pseudo-poly. time algorithm
∗
Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for c Weakly coNP-complete for c
(∗) Joseph and Pandya, 1986 (†) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm
∗ ∗
Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm
‡
Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities
†
Pseudo-poly. time algorithm
∗
Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm
‡
Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for c Weakly coNP-complete for c
(∗) Joseph and Pandya, 1986 (†) Liu and Layland, 1973 (‡) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for c Weakly coNP-complete for c
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for 0 < c < 1 Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for 0 < c < 1 Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for c
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for 0 < c < 1 Weakly NP-complete for c Exponential time algorithm Weakly NP-hard for 0 < c < 1
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Pseudo-poly. time algorithm Pseudo-poly. time algorithm Weakly NP-hard Weakly NP-complete Weakly NP-hard Weakly NP-complete Weakly NP-hard Exponential time algorithm Utilization bounded by a constant c Pseudo-poly. time algorithm Polynomial time for c ⩽ ln 2 and RM priorities Pseudo-poly. time algorithm Weakly NP-hard for c Weakly NP-complete for 0 < c < 1 Exponential time algorithm Weakly NP-hard for 0 < c < 1
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1
( ) Joseph and Pandya, 1986 ( ) Liu and Layland, 1973 ( ) Lehoczky, 1990 Pontus Ekberg 2
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 3
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 3
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 3
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 3
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 3
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 3
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 3
D dbf dbf dbf dbf D D
x x
rbf rbf rbf
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) dbf(τ1) dbf D D
x x
rbf rbf rbf
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) dbf(τ1) dbf D D
x x
rbf rbf rbf
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D D
x x
rbf rbf rbf
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D
D
x x
rbf rbf rbf
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D
D
x x
rbf rbf rbf
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D
D
x x
rbf rbf rbf
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D
D
=
x x
rbf(τ3) rbf(τ2) + rbf(τ1) + +
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D
D
=
x x
rbf(τ3) rbf(τ2) + rbf(τ1) + +
x x
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D
D
=
x x
rbf(τ3) rbf(τ2) + rbf(τ1) + +
x x + 1
Pontus Ekberg 4
D dbf(τ3) dbf(τ2) + dbf(τ1) + ∑ dbf
=
D
D
=
x x +1
rbf(τ3) rbf(τ2) + rbf(τ1) + +
x x + 1
Pontus Ekberg 4
EDF-schedulability
deadlines
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 5
EDF-schedulability
deadlines
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 5
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time Bonifaci et al., 2013
Pontus Ekberg 6
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time Bonifaci et al., 2013
Pontus Ekberg 6
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time Bonifaci et al., 2013
Pontus Ekberg 6
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time Bonifaci et al., 2013
Pontus Ekberg 6
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time Bonifaci et al., 2013
Pontus Ekberg 6
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time†
† Bonifaci et al., 2013
Pontus Ekberg 6
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time†
† Bonifaci et al., 2013
T
Pontus Ekberg 6
EDF-schedulability with constrained deadlines and bounded utilization
coNP-hard
With pairwise coprime periods
coNP-hard?
With harmonic periods
Polynomial time†
† Bonifaci et al., 2013
T T′
Pontus Ekberg 6
1 Scale all task parameters uniformly by a huge number
.
2 Add small numbers i to each period so that the periods become
pairwise coprime.
e1 d1 p1 e d p e2 d2 p2 e d p e3 d3 p3 e d p
en dn pn en dn pn
n
i can be found in polynomial time.
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers i to each period so that the periods become
pairwise coprime.
e1 d1 p1 e d p e2 d2 p2 e d p e3 d3 p3 e d p
en dn pn en dn pn
n
i can be found in polynomial time.
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers i to each period so that the periods become
pairwise coprime.
e d p κe1 κd1 κp1 e d p κe2 κd2 κp2 e d p κe3 κd3 κp3
en dn pn κen κdn κpn
n
i can be found in polynomial time.
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
e d p κe1 κd1 κp1 e d p κe2 κd2 κp2 e d p κe3 κd3 κp3
en dn pn κen κdn κpn
n
i can be found in polynomial time.
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
e d p κe1 κd1 κp1 e d p κe2 κd2 κp2 δ2 e d p κe3 κd3 κp3
en dn pn κen κdn κpn
n
i can be found in polynomial time.
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
e d p κe1 κd1 κp1 e d p κe2 κd2 κp2 δ2 e d p κe3 κd3 κp3 δ3
en dn pn κen κdn κpn
n
i can be found in polynomial time.
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
e d p κe1 κd1 κp1 e d p κe2 κd2 κp2 δ2 e d p κe3 κd3 κp3 δ3
en dn pn κen κdn κpn δn
i can be found in polynomial time.
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
e d p κe1 κd1 κp1 e d p κe2 κd2 κp2 δ2 e d p κe3 κd3 κp3 δ3
en dn pn κen κdn κpn δn
i are so small relative to
that schedulability is unafgected.
Pontus Ekberg 7
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
e d p κe1 κd1 κp1 e d p κe2 κd2 κp2 δ2 e d p κe3 κd3 κp3 δ3
en dn pn κen κdn κpn δn
Pontus Ekberg 7
Tie Jacobsthal function g(n) gives the largest gap between numbers that are coprime to n. Tie Jacobsthal function Coprime to ? g g n log n
Iwaniec, 1978
Pontus Ekberg 8
Tie Jacobsthal function g(n) gives the largest gap between numbers that are coprime to n. Tie Jacobsthal function Coprime to 100?
5 10 15 20 25 30 35
g g n log n
Iwaniec, 1978
Pontus Ekberg 8
Tie Jacobsthal function g(n) gives the largest gap between numbers that are coprime to n. Tie Jacobsthal function Coprime to 100?
5 10 15 20 25 30 35
g g n log n
Iwaniec, 1978
Pontus Ekberg 8
Tie Jacobsthal function g(n) gives the largest gap between numbers that are coprime to n. Tie Jacobsthal function Coprime to 100?
5 10 15 20 25 30 35
g(100) = 4 g n log n
Iwaniec, 1978
Pontus Ekberg 8
Tie Jacobsthal function g(n) gives the largest gap between numbers that are coprime to n. Tie Jacobsthal function Coprime to 100?
5 10 15 20 25 30 35
g(100) = 4 g(n) ∈ O(log2 n)
Iwaniec, 1978
Pontus Ekberg 8
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
κe1 κd1 κp1 κe2 κd2 κp2 δ2 κe3 κd3 κp3 δ3
κen κdn κpn δn
Pontus Ekberg 9
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
κe1 κd1 κp1 κe2 κd2 κp2 δ2 κe3 κd3 κp3 δ3
κen κdn κpn δn
Pontus Ekberg 9
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
κe1 κd1 κp1 κe2 κd2 κp2 δ2 κe3 κd3 κp3 δ3
κen κdn κpn δn
Pontus Ekberg 9
+ + + =
Shifued how much? Shifued at most maxi
i HP
Schedulability unafgected if maxi
i HP Pontus Ekberg 10
+ + + =
Shifued how much? Shifued at most maxi
i HP
Schedulability unafgected if maxi
i HP Pontus Ekberg 10
+ + + =
⩾ 1
Shifued how much? Shifued at most maxi
i HP
Schedulability unafgected if maxi
i HP Pontus Ekberg 10
+ + + =
⩾κ
Shifued how much? Shifued at most maxi
i HP
Schedulability unafgected if maxi
i HP Pontus Ekberg 10
+ + + =
⩾κ
Shifued how much? Shifued at most maxi
i HP
Schedulability unafgected if maxi
i HP Pontus Ekberg 10
+ + + =
⩾κ
Shifued how much? Shifued at most maxi δi · HP
Schedulability unafgected if maxi
i HP Pontus Ekberg 10
+ + + =
⩾κ
Shifued how much? Shifued at most maxi δi · HP
Schedulability unafgected if κ > maxi δi · HP
Pontus Ekberg 10
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
κe1 κd1 κp1 κe2 κd2 κp2 δ2 κe3 κd3 κp3 δ3
κen κdn κpn δn
Pontus Ekberg 11
1 Scale all task parameters uniformly by a huge number κ. 2 Add small numbers δi to each period so that the periods become
pairwise coprime.
κe1 κd1 κp1 κe2 κd2 κp2 δ2 κe3 κd3 κp3 δ3
κen κdn κpn δn
Pontus Ekberg 11
EDF-schedulability
deadlines
EDF-schedulability
deadlines
periods FP-schedulability
—or—
deadlines
YES NO YES NO YES NO coNP-hard coNP-hard NP-hard
Pontus Ekberg 12
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Weakly NP-complete Weakly NP-complete Weakly NP-hard Utilization bounded by a constant c Polynomial time for c ⩽ ln 2 and RM priorities Weakly NP-complete for 0 < c < 1 Weakly NP-hard for 0 < c < 1
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1 Pontus Ekberg 13
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Weakly NP-complete Weakly NP-complete Weakly NP-hard Utilization bounded by a constant c Polynomial time for c ⩽ ln 2 and RM priorities Weakly NP-complete for 0 < c < 1 Weakly NP-hard for 0 < c < 1
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1 Pontus Ekberg 13
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Weakly NP-complete Weakly NP-complete Weakly NP-hard Utilization bounded by a constant c Polynomial time for c ⩽ ln 2 and RM priorities Weakly NP-complete for 0 < c < 1 Weakly NP-hard for 0 < c < 1
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1 Pontus Ekberg 13
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Weakly NP-complete Weakly NP-complete Weakly NP-hard Utilization bounded by a constant c Polynomial time for c ⩽ ln 2 and RM priorities Weakly NP-complete for 0 < c < 1 Weakly NP-hard for 0 < c < 1
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1 Pontus Ekberg 13
Implicit deadlines (d = p) Constrained deadlines (d ⩽ p) Arbitrary deadlines (d, p unrelated)
FP
Arbitrary utilization Weakly NP-complete Weakly NP-complete Weakly NP-hard Utilization bounded by a constant c Polynomial time for c ⩽ ln 2 and RM priorities Weakly NP-complete for 0 < c < 1 Weakly NP-hard for 0 < c < 1
EDF
Arbitrary utilization Polynomial time Strongly coNP-complete Strongly coNP-complete Utilization bounded by a constant c Polynomial time Weakly coNP-complete for 0 < c < 1 Weakly coNP-complete for 0 < c < 1 Pontus Ekberg 13
Pontus Ekberg 14