πŸ“¦ Schedulability analysis of global scheduling algorithms on multiprocessor platforms

BardΒ·2025λ…„ 1μ›” 16일
1
post-thumbnail

이게 κ°€λŠ₯ν•˜λ„λ‘ ν•΄μ€€ Marpμ—κ²Œ λ¬΄ν•œν•œ 감사λ₯Ό!

1. Introduction

  • In this paper, the problem of preemptively scheduling a real-time task set on a symmetric multiprocessor (SMP) system consisting of mm processors is addressed.
  • Can be solved in two different ways
    • by partitioning tasks to processors
    • with a global scheduler
  • Semi-partitioned scheduling : limits the number of processors among which a task can migrate
  • Pfair scheduling : at each quantum the scheduler allocates tasks to processors.
    • Known to be optimal when deadlines = periods
    • Disadvantages: quantum synchronize, context switching overhead, complex
    • job-level dynamic

1.1 Contribution

  1. General conditions that are valid for any work-conserving scheduling algorithm and constrained deadline task sets
    • Fixed Priority (FP)
    • The Earliest Deadline First (EDF).
  2. The main weak points of feasibility tests and further refinement on the computation of the interference a task can be subject to.
  3. Finally, an extensive set of synthetic experiments is presented to show the improved performances of our analysis.

2. System Model

Symbols

  • A task Ο„k\tau_k is a sequence of jobs JkjJ^j_k
  • Jkj(rkj,dkj,ckj,fkj)J^j_k(r^j_k,d^j_k,c^j_k,f^j_k): arrival time, deadline, computation time, finishing time
  • Ο„k=(Ck,Dk,Tk)βˆˆΟ„\tau_k = (C_k, D_k, T_k) \in \tau
    • CkC_k: worst-case computation time, Ckβ‰₯ckjC_k \ge c_k^j
    • DkD_k: relative deadline, dkj=rkj+Dkd^j_k = r^j_k + D_k
    • TkT_k: minimum interarrival time, rkjβ‰₯rk(jβˆ’1)+Tkr^j_k \ge r^{(j-1)}_k + T_k
  • constrained deadline (implicit deadline): Dk≀TkD_k \le T_k (Dk=TkD_k = T_k)
  • utilization: Uk=CkTkU_k = \frac{C_k}{T_k}, density("worst-case" request): Ξ»k=CkDk\lambda_k = \frac{C_k}{D_k}
  • Umax⁑=max⁑kUkU_{\max} = \displaystyle{\max}_k U_k, Ξ»max⁑=max⁑kΞ»k\lambda_{\max} = \displaystyle{\max}_k \lambda_k, Utot=βˆ‘Ο„kβˆˆΟ„UkU_{tot} = \displaystyle\sum_{\tau_k \in \tau} U_k, Ξ»tot=βˆ‘Ο„kβˆˆΟ„Ξ»k\lambda_{tot} = \displaystyle\sum_{\tau_k \in \tau} \lambda_k

Notation

  • (x)0=max⁑(0,x)(x)_0 = {\max}(0, x)

Definition

  • Work-conserving : A scheduling algorithm is work-conserving if there are no idle processors when a ready task is waiting for execution.

2.1 Workload and Interference

  • Workload Wk(a,b)W_k(a, b) : the amount of time task Ο„k\tau_k executes during interval [a,b)[a, b)
  • Interference Ik(a,b)I_k(a, b) : the cumulative length of all intervals in which Ο„k\tau_k is ready to execute, but it cannot execute due to higher priority jobs.
    • Ii,k(a,b)I_{i,k}(a, b) : the cumulative length of all intervals in which Ο„k\tau_k is ready to execute, and Ο„i\tau_i is executing while Ο„k\tau_k is not.
Ii,k(a,b)≀Ik(a,b),β€…β€Šβ€…β€Šβ€…β€Šβ€…β€Šβˆ€i,k,a,b(1)I_{i,k}(a, b) ≀ I_k(a, b), \;\;\;\;\forall i, k, a, b \tag{1}

2.2 Time division

  • Time-instants and interval lengths are often modeled using real numbers, in a real implemented system time is not infinitely divisible.
  • The times of event occurrences and durations between them cannot be determined more precisely than one tick of the system clock.
  • tt (non-negative integer value) represents the entire interval [t,t+1)[t, t + 1)

3. Summary of existing results

Theorem 1.
A task set Ο„\tau composed by periodic and sporadic tasks with implicit deadlines is EDF-schedulable upon a SMP composed by mm processors with unitary capacity, if

Utot≀m(1βˆ’Umax⁑)+Umax⁑(2)U_{tot} \le m(1 βˆ’U_{\max}) + U_{\max} \tag{2}


When deadlines can differ from periods?


Theorem 2.
A set of jobs II that is feasible on some uniform multiprocessor platform Ο€\pi with cumulative computing capacity SΟ€S_\pi, and in which the fastest processor has speed sΟ€<1s_\pi < 1, is schedulable with EDF on a SMP Ο€\pi composed by m processors with unit capacity, if

mβ‰₯SΟ€βˆ’sΟ€1βˆ’sΟ€m \ge \frac{S_\pi-s_\pi}{1-s_\pi}
  • iith processor works for tt time units β†’\rightarrow siΓ—ts_i \times t execution units.
  • Theorem 2 assumes an arbitrary collection of jobs.
  • The next lemma states a feasibility result that instead applies to periodic and sporadic task sets.

Lemma 1
A task system Ο„\tau composed by periodic and sporadic tasks with constrained deadlines is feasible on a uniform multiprocessor platform Ο€\pi which has SΟ€=Ξ»totS_\pi = \lambda_{tot} and sΟ€=Ξ»max⁑s_\pi = \lambda_{{\max}}

Proof

  • An arbitrary task set Ο„\tau with n tasks can always be scheduled on a uniform multiprocessor platform Ο€\pi composed by n processors, that for each task Ο„i\tau_i has a corresponding processor with computing capacity si=CiDis_i = \frac{C_i}{D_i}.
  • This can be done with an algorithm that allocates each task to the associated processor.
  • The sum of the computing capacities of all processors and the computing capacity of the fastest processor of the platform Ο€ are therefore equal to Ξ»tot\lambda_{tot} and Ξ»max⁑\lambda_{\max} respectively. β– \blacksquare

  • By combining Lemma 1 with Theorem 2, it is possible to formulate a sufficient scheduling condition.

Theorem 3 GFB
A task set Ο„\tau composed by both periodic and sporadic tasks with constrained deadlines is EDF-schedulable upon a SMP composed by mm processors with unitary capacity, if

Ξ»tot≀m(1βˆ’Ξ»max⁑)+Ξ»max⁑.(3)\lambda_{tot} \le m(1 βˆ’ \lambda_{\max}) + \lambda_{\max}. \tag{3}
  • If Ξ»max⁑\lambda_{\max} is large, RHS of Equation (3)(3) remains small.
  • This is due to a DHall's Effect

How to overcome DHall's Effect

  1. EDFk^k
    • Assign the highest priority to the k the heaviest tasks.
    • Schedule the remaining ones with EDF.
    • Schedulability test : Apply GFB to a subsystem composed by the (nβˆ’k)(nβˆ’k) EDF-scheduled tasks on (mβˆ’k)(mβˆ’k) processors.
  2. EDF-US
    • Assign the highest priority to the tasks having utilization larger than given threshold.
    • Allows the utilization bound of m+12\frac{m+1}{2} when threshold of 12\frac 1 2 used.

  • Baker's idea is based on the consideration that if a job JkjJ^j_k of a task Ο„k\tau_k misses its deadline dkjd^j_k.
  • It means the load in problem window (an interval [rkj,dkj)[r^j_k, d^j_k)) is at least m(1βˆ’Ξ»k)+Ξ»km(1-\lambda_k) + \lambda_k
  • If it's possible to show for every JkjJ^j_k, the schedulability is guaranteed.


Carry-in

  • The interference of any task Ο„i\tau_i on task Ο„k\tau_k in interval [rkj,dkj)[r^j_k, d^j_k) may include one job of Ο„i\tau_i with arrival before rkjr^j_k and deadline in [rkj,dkj)[r^j_k, d^j_k).
  • The contribution of this job to the interference is called carry-in.

Sufficient schedulability condition

  • Enlarge [rkj,dkj)[r^j_k, d^j_k) to [a,dkj)[a, d^j_k) : busy window
    • the largest possible interval such that the load is still greater than m(1βˆ’Ξ»k)+Ξ»km(1-\lambda_k) + \lambda_k
  • By deriving an upper bound on the load produced in the busy window, a sufficient schedulability condition is obtained.

Rate-monotonic & Deadline-monotonic Algorithm

  • Previous works proved that an implicit deadline task set can be successfully scheduled on mm processors if the total utilization is at most m2/(3mβˆ’2)m^2/(3mβˆ’2) and every task has individual utilization less than or equal to m/(3mβˆ’2)m/(3mβˆ’2).
  • Also showed RM-US[m/(3mβˆ’2)m/(3m βˆ’ 2)] - that gives the highest priority to the tasks with utilization greater than m/(3mβˆ’2)m/(3mβˆ’2) and schedules the other ones with RM - can also reach the utilization of m2/(3mβˆ’2)m^2/(3mβˆ’2).

Theorem 4
A set of periodic or sporadic tasks with constrained deadlines is schedulable with Deadline Monotonic priority assignment on mβ‰₯2m \ge 2 processors if Ξ»tot≀m2(1βˆ’Ξ»max⁑)+Ξ»max⁑\lambda_{tot} \le \frac m 2 (1-\lambda_{\max}) + \lambda_{\max}

  • A corollary of Theorem 4 is that using a hybrid version of deadline monotonic - called
    DM-DS[1/31/3] that gives the highest priority to tasks with density higher than 1/31/3.
  • It's possible to schedule every constrained deadline task set with Ξ»tot≀(m+1)/3\lambda_{tot} \le (m+1)/3

4. Scheduling analysis

To clarify the methodology, we briefly describe the main steps that will be followed to derive the schedulability test.

  1. Start by assuming that a job JkjJ^j_k of task Ο„k\tau_k misses its deadline dkjd^j_k

  2. Based on this assumption, we give a schedulability condition that uses the interference IkI_k that the job must suffer in interval [rkj,dkj)[r^j_k, d^j_k) for the deadline to be missed;

  3. If we were able to precisely compute this interference in any interval, the schedulability test would simply consist in the condition derived at the preceding step, and it would be necessary and sufficient.

  4. Therefore, we give an upper bound to the interference in the interval and derive a sufficient scheduling condition.


4.1 Interference time

Lemma 2
The interference that a task Ο„i\tau_i causes on a task Ο„k\tau_k in an interval [a,b)[a, b) is never greater than the workload of the task in the same interval:

βˆ€i,k,a,bβ€…β€Šβ€…β€Šβ€…β€Šβ€…β€ŠIi,k≀Wi(a,b)≀bβˆ’a\forall i,k,a,b \;\;\;\; I_{i,k} \le W_i(a,b) \le b-a
  • Lemma 2 is obvious

Lemma 3
For a work-conserving scheduler, the following relation holds:

Ik(a,b)=βˆ‘iβ‰ kIi,k(a,b)mI_k(a,b) = \frac{\sum_{i \ne k}I_{i,k}(a,b)}{m}

Lemma 4

Ik(a,b)β‰₯xβ‡”βˆ‘iβ‰ kmin⁑(Ii,k(a,b),x)β‰₯mxI_k(a,b) \ge x \Leftrightarrow \displaystyle\sum_{i \ne k}\min(I_{i,k}(a,b), x) \ge mx

Proof If

βˆ‘iβ‰ kmin⁑(Ii,k(a,b),x)β‰₯mx\displaystyle\sum_{i \ne k}\min(I_{i,k}(a,b), x) \ge mx, it follows that

Ik(a,b)=βˆ‘iβ‰ kIi,k(a,b)mβ‰₯βˆ‘iβ‰ kmin⁑(Ii,k(a,b),x)mβ‰₯mxm=x\begin{aligned} I_k(a,b) &= \sum_{i \ne k}\frac{I_{i,k}(a,b)}{m}\\ &\ge \sum_{i \ne k}\frac{\min(I_{i,k}(a,b), x)}{m}\\ &\ge \frac {mx} m = x \end{aligned}

Proof Only If

Let ΞΎ\xi be the number of tasks for which Ik(a,b)β‰₯xI_k(a,b) \ge x.
If ΞΎ>m\xi > m, then βˆ‘iβ‰ kmin⁑(Ii,k(a,b),x)β‰₯ΞΎxβ‰₯mx\displaystyle\sum_{i \ne k}\min(I_{i,k}(a,b), x) \ge \xi x \ge mx.
Otherwise, (mβˆ’ΞΎ)β‰₯0(m-\xi) \ge 0 and using Lemma 3 and Equation (1)(1),

βˆ‘iβ‰ kmin⁑(Ii,k(a,b),x)=ΞΎx+βˆ‘i:Ii,k<xIi,k(a,b)=ΞΎx+mIk(a,b)βˆ’βˆ‘i:Ii,kβ‰₯xIi,k(a,b)β‰₯ΞΎx+mIk(a,b)βˆ’ΞΎIk(a,b)=ΞΎx+(mβˆ’ΞΎ)Ik(a,b)β‰₯ΞΎx+(mβˆ’ΞΎ)x=mx\begin{aligned} \displaystyle\sum_{i \ne k} \min(I_{i,k}(a,b),x) &= \xi x + \sum_{i:I_{i,k} < x} I_{i,k}(a,b) \\ &= \xi x + mI_k(a,b) - \sum_{i:I_{i,k} \ge x} I_{i,k}(a,b)\\ &\ge \xi x + mI_k(a,b)-\xi I_k(a,b) \\ &= \xi x + (m-\xi)I_k(a,b) \\ &\ge \xi x + (m-\xi)x \\ &= mx \end{aligned}

  • It is clear that, for a job to meet its deadline, Ik(rkj,dkj)≀Dkβˆ’CkI_{k}(r^j_k, d^j_k) \le D_k βˆ’ C_k.
  • Let's define the worst-case inference for task Ο„k\tau_k as:
    IΛ‰k=max⁑j(Ik(rkj,dkj))=Ik(rkjβˆ—,dkjβˆ—)\bar{I}_k = {\max}_j(I_{k}(r^j_k, d^j_k)) = I_{k}(r^{j*}_k, d^{j*}_k)
    where jβˆ—jβˆ— is the job instance in which the total interference is maximal.
  • To simplify the notation, also define:
    IΛ‰i,k=Ii,k(rkjβˆ—,dkjβˆ—)\bar{I}_{i,k} = I_{i,k}(r^{j*}_k, d^{j*}_k)

Theorem 5
A task set Ο„\tau is schedulable on a multiprocessor composed by mm identical processors iff for each task Ο„k\tau_k

βˆ‘iβ‰ kmin⁑(IΛ‰i,k,Dkβˆ’Ck+1)<m(Dkβˆ’Ck+1)(4)\sum_{i \ne k}\min(\bar{I}_{i,k}, D_k-C_k+1) < m(D_k-C_k+1) \tag{4}

Proof If

If Equation (4)(4) is valid, from Lemma 4 we have IΛ‰k<(Dkβˆ’Ck+1)\bar{I}_k < (D_k-C_k+1).
Therefore, Jkjβˆ—J^{j*}_k will be interfered for at most Dkβˆ’CkD_k-C_k time units. (integer time assumptions)
It means, every job of Ο„k\tau_k will complete after at most DkD_k and Ο„k\tau_k is schedulable.


Proof Only If

If βˆ‘iβ‰ kmin⁑(IΛ‰i,k,Dkβˆ’Ck+1)β‰₯m(Dkβˆ’Ck+1)\sum_{i \ne k}\min(\bar{I}_{i,k}, D_k-C_k+1) \ge m(D_k-C_k+1), then

IΛ‰k=βˆ‘iβ‰ kIΛ‰i,kmβ‰₯βˆ‘iβ‰ kmin⁑(IΛ‰i,k,Dkβˆ’Ck+1)mβ‰₯m(Dkβˆ’Ck+1)m=Dkβˆ’Ck+1\begin{aligned} \bar{I}_k &= \frac{\sum_{i \ne k} \bar{I}_{i,k}}{m} \\ &\ge \frac{\sum_{i \ne k}\min(\bar{I}_{i,k}, D_k-C_k+1)}{m}\\ &\ge \frac{m(D_k-C_k+1)}{m}\\ &= D_k-C_k+1 \end{aligned}

Hence, Ο„k\tau_k is not schedulable.


4.2 Workload

  • Theorem 5 cannot be used to check if a task set is schedulable without knowing how to compute the interference terms IΛ‰i,k\bar{I}_{i,k}’s.
  • Unfortunately, we are not aware of any strategy that can be used to compute the worst-case interferences starting from given task parameters.
  • To sidestep this problem, we will use an upper bound on the interference.
    • An upper bound on the interference Ii,kI_{i,k} is the workload Wi(rkjβˆ—,dkjβˆ—)W_i(r^{jβˆ—}_k , d^{jβˆ—}_k)
    • An upper bound on the workload? - Find densest possible packing of jobs!

To simplify the presentation,

  • carry-in Ο΅k\epsilon_k of Ο„k\tau_k in an interval [a,b)[a,b) : the amount of execution produced by a job of Ο„k\tau_k having release time before aa and deadline after aa.
  • carry-out zkz_k of Ο„k\tau_k in an interval [a,b)[a,b) : the amount of execution produced by a job of Ο„k\tau_k having release time in [a,b)[a,b) and deadline after bb.

There is at most one carry-in and one carry-out job.

We denote them, respectively, as JiΟ΅J^\epsilon_i and JizJ^z_i


  • Since a job JkjJ^j_k can be executed only in [rkj,dkj)[r^j_k, d^j_k) and for at most CkC_k time units,
  • It is immediate to see that the depicted situation provides the highest possible amount of execution in interval [a,b)[a, b).


  • The first job of Ο„i\tau_i after the carry-in, is released at time a+Ci+Tiβˆ’Dia+C_i+T_i-D_i.

  • The next jobs released periodically every TiT_i time units.

  • Therefore, the number Ni(L)N_i(L) of jobs of Ο„i\tau_i that contribute with an entire WCET to the workload in an interval of length LL is at most ⌊Lβˆ’(Ci+Tiβˆ’Di)TiβŒ‹+1\left\lfloor\frac{L-(C_i+T_i-D_i)}{T_i}\right\rfloor + 1. So,

    Ni(L)=⌊L+Diβˆ’Ci)TiβŒ‹(5)N_i(L) = \left\lfloor\frac{L+D_i-C_i)}{T_i}\right\rfloor \tag{5}
  • Continuously, the contribution of carried-out job can be bounded by min⁑(Ci,L+Diβˆ’Ciβˆ’Ni(L)Ti)\min(C_i, L+D_i-C_i-N_i(L)T_i)

  • Now we can find the upper bound of workload:

    Wi(L)=Ni(L)Ci+min⁑(Ci,L+Diβˆ’Ciβˆ’Ni(L)Ti)(6)\frak{W}\mathnormal{_i(L) = N_i(L)C_i+\min(C_i, L+D_i-C_i-N_i(L)T_i)} \tag{6}

Theorem 6
A task set Ο„\tau is schedulable with any work-conserving global scheduling policy on a multiprocessor platform composed by mm identical processors if for each task Ο„kβˆˆΟ„\tau_k \in \tau

βˆ‘iβ‰ kmin⁑(W(Dk),Dkβˆ’Ck+1)<m(Dkβˆ’Ck+1)(7)\sum_{i \ne k}\min(\frak{W}\mathnormal{(D_k), D_k-C_k+1) < m(D_k-C_k+1)} \tag{7}

Proof
Equation (6)(6) is valid for any work-conserving scheduling algorithm.
Using Lemma 2, we then have

IΛ‰i,k=Ii,k(rkjβˆ—,rkjβˆ—+Dk)≀Wi(rkjβˆ—,rkjβˆ—+Dk)≀W(Dk)\bar{I}_{i,k} = I_{i,k}(r^{j*}_k, r^{j*}_k+ D_k) \le W_i(r^{j*}_k, r^{j*}_k+ D_k) \le \frak{W}\mathnormal{(D_k)}

Apply Theorem 5, using W(Dk)\frak{W}\mathnormal{(D_k)} as an upper bound for Iˉi,k\bar{I}_{i,k}.


4.3 Schedulability test for EDF

  • There is no carried-out job can interfere with task Ο„k\tau_k.
  • We can consider the situation in which the carried-out job JizJ^z_i has its deadline at the end of the interval like Figure 3.


  • There are ⌊DkTiβŒ‹\left\lfloor \frac{D_k}{T_i} \right\rfloor jobs which contribute for an entire worst-case computation time.

  • Instead, the first job contributes for Dkβˆ’βŒŠDkTiβŒ‹TiD_k-\left\lfloor \frac{D_k}{T_i} \right\rfloor T_i when this term is lower than CiC_i.

  • We therefore obtain the following expression:

    IΛ‰i,kβ‰€βŒŠDkTiβŒ‹Ci+min⁑(Ci,Dkβˆ’βŒŠDkTiβŒ‹Ti)=Ji,k(8)\bar{I}_{i,k} \le \left\lfloor \frac{D_k}{T_i} \right\rfloor C_i + \min \left( C_i, D_k - \left\lfloor \frac{D_k}{T_i} \right\rfloor T_i\right) = \frak{J}\mathnormal{_{i,k}} \tag{8}
  • A schedulability test for EDF immediately follows

Theorem 7
A task set Ο„\tau is schedulable with global EDF on a multiprocessor platform composed by mm identical processors if for each task Ο„kβˆˆΟ„\tau_k \in \tau

βˆ‘iβ‰ kmin⁑(Ji,k,Dkβˆ’Ck+1)<m(Dkβˆ’Ck+1)(9)\sum_{i \ne k}\min(\frak{J}\mathnormal{_{i,k}, D_k-C_k+1) < m(D_k-C_k+1)} \tag{9}

4.4 Schedulability test for FP

  • It is still possible to use the general bound given by Equation (6)(6) that is valid for any work-conserving scheduling policy.
  • The interference from tasks with lower priority is always null.
  • The following theorem assumes tasks are ordered with decreasing priority.

Theorem 8
A task set Ο„\tau is schedulable with fixed priority on a multiprocessor platform composed by mm identical processors if for each task Ο„kβˆˆΟ„\tau_k \in \tau

βˆ‘i<kmin⁑(W(Dk),Dkβˆ’Ck+1)<m(Dkβˆ’Ck+1)(10)\sum_{i < k}\min(\frak{W}\mathnormal{(D_k), D_k-C_k+1) < m(D_k-C_k+1)} \tag{10}

5. Considerations

We must consider only the fraction of the workload that can actually interfere with task Ο„k\tau_k.
When no task misses its deadline, this fraction is bounded by Dkβˆ’CkD_kβˆ’C_k

Example

Consider a task set Ο„\tau composed by Ο„1=(1,1,1)\tau_1 = (1, 1, 1), Ο„2=(1,10,10)\tau_2 =(1, 10, 10), Ο„3=(1,10,10)\tau_3 =(1, 10, 10) and Ο„4=(1,10,10)\tau_4 =(1, 10, 10) to be scheduled with EDF on m=2m = 2 processors. (It's schedulable.)

  • When the deadlines of Ο„1\tau_1 and Ο„2\tau_2 coincide, a job of Ο„2\tau_2 would need to be pushed forward for D2βˆ’C2=9D_2 βˆ’ C_2 = 9 time-units to interfere with Ο„1\tau_1.
  • But the maximum interference that Ο„2\tau_2 is
    I2β‰€βˆ‘iβ‰ 2Ii,2mβ‰€βˆ‘iβ‰ 2Wi(r2jβˆ—,d2jβˆ—)m≀10+1+12=6I_2 \le \frac{\sum_{i \ne 2}I_{i,2}}{m} \le \frac{\sum_{i \ne 2}W_i(r^{j*}_2, d^{j*}_2)}{m} \le \frac {10 + 1 + 1} 2 = 6

6. Iterative test

The lower the interference, the highest is the distance between the job finishing time fkjf^j_k and its deadline dkjd^j_k.

  • The slack SkjS^j_k of job Jkj:β€…β€ŠSkj=dkjβˆ’fkjJ^j_k:\;S^j_k = d^j_k-f^j_k.
  • The slack SkS_k of task Ο„k:Sk=min⁑j(dkjβˆ’fkj)\tau_k: S_k = \min_j(d^j_k-f^j_k)

When Sk>0S_k>0, the densest possible packing of jobs of Ο„k\tau_k will produce a lower workload in the considered interval.


6.1 Iterative test for general scheduling algorithms

Theorem 9
The slack of a task Ο„k\tau_k scheduled on a multiprocessor platform composed by mm identical processors is given by

Sk=Dkβˆ’Ckβˆ’βŒŠβˆ‘iβ‰ kmin⁑(IΛ‰i,k,Dkβˆ’Ck+1)mβŒ‹(11)S_k = D_k-C_k-\left\lfloor\frac{\sum_{i \ne k} \min(\bar{I}_{i,k}, D_k-C_k+1)}{m}\right\rfloor \tag{11}

when Equation (11)(11) is positive.


Proof
When the RHS of Equation (11)(11) is positive, βŒŠβˆ‘iβ‰ kmin⁑(IΛ‰i,k,Dkβˆ’Ck+1)mβŒ‹β‰€Dkβˆ’Ck\left\lfloor\frac{\sum_{i \ne k} \min(\bar{I}_{i,k}, D_k-C_k+1)}{m}\right\rfloor \le D_k-C_k.
Applying Lemma 4, we have IΛ‰k<(Dkβˆ’Ck+1)\bar{I}_k < (D_k-C_k+1) and IΛ‰i,k≀IΛ‰k<(Dkβˆ’Ck+1)\bar{I}_{i,k} \le \bar{I}_k < (D_k-C_k+1). Therefore,

min⁑(IΛ‰i,k,Dkβˆ’Ck+1)=IΛ‰i,k(12)\min(\bar{I}_{i,k}, D_k-C_k+1) = \bar{I}_{i,k} \tag{12}

Now, from the definition of slack,

Sk=min⁑j(dkjβˆ’fkj)=dkjβˆ—βˆ’fkjβˆ—=(rkjβˆ—+Dk)βˆ’(rkjβˆ—+Ck+IΛ‰k)=Dkβˆ’Ckβˆ’IΛ‰k\begin{aligned} S_k &= \min_j(d^j_k - f^j_k) = d^{j*}_k - f^{j*}_k\\ &=(r^{j*}_k + D_k) - (r^{j*}_k+C_k+\bar{I}_k)\\ &= D_k-C_k-\bar{I}_k \end{aligned}

Using Lemma 3 and Equation (12)(12),

Sk=Dkβˆ’Ckβˆ’βŒŠIΛ‰kβŒ‹=Dkβˆ’Ckβˆ’βŒŠβˆ‘iβ‰ kIΛ‰i,kmβŒ‹=Dkβˆ’Ckβˆ’βŒŠβˆ‘iβ‰ kmin⁑(IΛ‰i,k,Dkβˆ’Ck+1)mβŒ‹\begin{aligned} S_k &= D_k-C_k-\left\lfloor\bar{I}_k\right\rfloor \\&= D_k-C_k-\left\lfloor\frac{\sum_{i \ne k} \bar{I}_{i,k}}{m}\right\rfloor\\ &=D_k-C_k-\left\lfloor\frac{\sum_{i \ne k} \min(\bar{I}_{i,k}, D_k-C_k+1)}{m}\right\rfloor \end{aligned}

Since we cannot compute Iˉi,k\bar{I}_{i,k} in a reasonable amount of time, we will use the upper bound on Iˉi,k\bar{I}_{i,k}.

  • We have Wi(Dk)β‰₯IΛ‰i,k\frak{W}\mathnormal{_i(D_k) \ge \bar{I}_{i,k}}

  • A lower bound SklbS^{lb}_k on the slack of a task Ο„k\tau_k is then given by

    Sklb=Dkβˆ’Ckβˆ’βŒŠβˆ‘iβ‰ kmin⁑(Wi(Dk),Dkβˆ’Ck+1)mβŒ‹(13)S^{lb}_k = D_k-C_k-\left\lfloor\frac{\sum_{i \ne k} \min(\frak{W}\mathnormal{_i(D_k), D_k-C_k+1)}}{m}\right\rfloor \tag{13}

Now, it's possible to give a tighter upper bound on the interference Ο„i\tau_i.
Every job of Ο„i\tau_i will complete at least SklbS^{lb}_k time-units before its deadline if SklbS^{lb}_k is positive.


Let's override the expression of Wi(L)\frak{W}\mathnormal{_i(L)} as follows:

Wi(L,Silb)=Ni(L,Silb)Ci+min⁑(Ci,L+Diβˆ’Ciβˆ’Silbβˆ’Ni(L,Silb)Ti)(14)\frak{W}\mathnormal{_i(L, S^{lb}_i) = N_i(L, S^{lb}_i)C_i+\min(C_i, L+D_i-C_i-S^{lb}_i-N_i(L, S^{lb}_i)T_i)} \tag{14}
Ni(L,Silb)=⌊L+Diβˆ’Ciβˆ’SilbTiβŒ‹(15)N_i(L, S^{lb}_i) = \left\lfloor\frac{L+D_i-C_i-S^{lb}_i}{T_i}\right\rfloor \tag{15}

Theorem 10
A lower bound on the slack of a task Ο„k\tau_k scheduled on a multiprocessor platform composed by mm identical processors is given by

Sklb=Dkβˆ’Ckβˆ’βŒŠβˆ‘iβ‰ kmin⁑(Wi(Dk,Silb),Dkβˆ’Ck+1)mβŒ‹(16)S^{lb}_k = D_k-C_k-\left\lfloor\frac{\sum_{i \ne k} \min(\frak{W}\mathnormal{_i(D_k, S^{lb}_i), D_k-C_k+1)}}{m}\right\rfloor \tag{16}

when this term is positive.


Β 

  • For every task in the task set, a lower bound value on the slack of the task is created and initially set to zero.
  • Equation (16)(16) is then used to compute a new value of the slack lower bound of the first task, with Wi(D1,Silb)\frak{W}\mathnormal{_i(D_1, S^{lb}_i)} and Ni(D1,Silb)N_i(D_1, S^{lb}_i) given by Equation (14)(14) and (15)(15).
    • If the computed value is positive, the upper bound is accordingly updated.
    • If it is negative, the value is left to zero and the task is marked as temporarily not schedulable.
  • The previous step is repeated for every task in the task set.
  • If no task has been marked as temporarily not schedulable, the task set is declared schedulable.
  • Otherwise, another round of slack updates is performed using the slack lower bounds derived at the previous cycle. If during a complete round no slack is updated, the iteration stops and the task set is declared not schedulable.


6.2 Iterative test for EDF

When a lower bound on the slack of τi\tau_i is known, the upper bound on Iˉi,k\bar{I}_{i,k} given by Equation (8)(8) can be tightened.


  • The first job contributes for max⁑(0,Dkβˆ’Sklbβˆ’βŒŠDkTiTiβŒ‹){\max}\left(0, D_k-S^{lb}_k-\left\lfloor\frac{D_k}{T_i}T_i\right\rfloor\right) when this term is lower than CiC_i.
  • This leads to following expression:
    IΛ‰i,kβ‰€βŒŠDkTiβŒ‹Ci+min⁑(Ci,(Dkβˆ’Sklbβˆ’βŒŠDkTiβŒ‹Ti)0)=Ji,k(Sklb)(17)\bar{I}_{i,k} \le \left\lfloor \frac{D_k}{T_i} \right\rfloor C_i + \min \left( C_i, \left(D_k -S^{lb}_k- \left\lfloor \frac{D_k}{T_i} \right\rfloor T_i\right)_0\right) = \frak{J}\mathnormal{_{i,k}(S^{lb}_k)} \tag{17}

Theorem 11
A lower bound on the slack of a task Ο„k\tau_k scheduled with EDF on a multiprocessor platform composed by mm identical processors is given by

Sklb=Dkβˆ’Ckβˆ’βŒŠ1mβˆ‘iβ‰ kmin⁑(Ji,k(Sklb),Dkβˆ’Ck+1)βŒ‹(18)S^{lb}_k = D_k - C_k - \left\lfloor\frac 1 m \sum_{i \ne k} \min(\frak{J}\mathnormal{_{i,k}(S^{lb}_k), D_k-C_k+1)}\right\rfloor \tag{18}

when this term is positive.


Β 
Assuming tasks are ordered with decreasing priority, next theorem follows.

Theorem 12
A lower bound on the slack of a task Ο„k\tau_k scheduled with fixed priority on a multiprocessor platform composed by mm identical processors is given by

Sklb=Dkβˆ’Ckβˆ’βŒŠβˆ‘i<kmin⁑(Wi(Dk,Silb),Dkβˆ’Ck+1)mβŒ‹(19)S^{lb}_k = D_k-C_k-\left\lfloor\frac{\sum_{i < k} \min(\frak{W}\mathnormal{_i(D_k, S^{lb}_i), D_k-C_k+1)}}{m}\right\rfloor \tag{19}

when this term is positive.

However, there is an important difference from the EDF and the general case.

  • When a task is found temporarily not schedulable during the first iteration, the test can immediately stop and return a false value.
  • It means, we can choose Nround_limit=1N\text{round\_limit}=1 when the scheduler is FP

7. Experimental Results

We will consider the following schedulability algorithms for each case.

EDF

  • Theorem 3 GFB, O(n3)O(n^3) test BAK
  • Theorem 7 BCL EDF
  • The iterative test when EDF is used. I-BCL EDF

FP - deadline monotonic

  • Theorem 4 DB, O(n3)O(n^3) test BC
  • Theorem 8 BCL FP
  • The iterative test when FP is used.

General : BCL, I-BCL



  • Less than 1% of the generated task sets is found schedulable by an existing algorithm for EDF but not by I-BCL EDF.
  • I-BCL FP outperforms even FB.

8. Computational Complexity

  • Complexity of Theorems 6, 7, 8:
    O(n2)O(n^2): Each test involves nn inequalities with nn terms per inequality.

  • Iterative Tests (Section 6):
    Complexity depends on the number of slack updates.

    Nround_limit=∞N\text{round\_limit} = \infty:

    • Single iteration: O(n2)O(n^2)
    • Total iterations: O(nDmax⁑)O(nD_{{\max}})
    • Overall complexity: O(n3Dmax⁑)O(n^3D_{{\max}})

    With finite Nround_limitN\text{round\_limit}:

    • O(n2Nround_limit)O(n^2N{\text{round\_limit}})

Experimental Findings

Experiments with Nround_limit=1,2,3,∞N_{\text{round\_limit}} = 1, 2, 3, \infty in EDF case:

  • Nround_limit=1N\text{round\_limit} = 1: Similar results to BCL EDF (Theorem 7).
  • Nround_limit=2N\text{round\_limit} = 2: Significant increase in detected task sets.
  • Nround_limit=3N\text{round\_limit} = 3: Detects almost all schedulable task sets as Nround_limit=∞N{\text{round\_limit}} = \infty.

Optimal Trade-off:

  • Nround_limit=3N\text{round\_limit} = 3 balances computational efficiency and performance.

9. Conclusions

Key Contributions:

  • Developed schedulability analysis for real-time systems globally scheduled on identical multiprocessor platforms.
  • Proposed sufficient schedulability tests with polynomial and pseudo-polynomial complexity.
  • Iterative test detects the highest number of schedulable task sets compared to existing tests, with minimal missed sets.

Iterative Test Performance

  • Iterative tests significantly increase the number of detected schedulable task sets.
  • Only a small percentage of task sets are schedulable by existing tests but not by the iterative test.

EDF Limitations:

  • EDF’s superiority in uniprocessor systems does not generalize to multiprocessors.
  • Fixed Priority (FP) schedulers provide similar schedulability with lower implementation costs.

Fixed Priority (FP):

  • I-BCL FP detects the most schedulable task sets among all existing FP-based algorithms.
  • Combining simple FP schedulers with I-BCL FP ensures hard real-time constraints.
profile
Recently broke up with FE engineering

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보