Skip to main content
Log in

Line search method for solving a non-preemptive strictly periodic scheduling problem

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

We study a non-preemptive strictly periodic scheduling problem. This problem arises for example in the avionic field where a set of \(N\) periodic tasks (measure of a sensor, data presentation, etc.) has to be scheduled on \(P\) processors distributed on the plane. In this article, we consider an existing heuristic which is based on the notion of equilibrium. Following a game theory analogy, each task tries successively to optimize its own schedule and, therefore, to produce the best response, given the other schedules. This iterative process continues until an equilibrium is reached. We present a new method to compute the best response which significantly improves the previously proposed heuristic, and compares favorably with MILP solutions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. Note that if \(l_{j,i} > 0\), the tasks \(j\) and \(i\) are constrained not to start at the same time. Therefore, it is natural to have at least \((t_j - t_i) \mod g_{i,j} > 0\) even when \(l_{i,j} = 0\).

  2. In the fractional case, it is obviously impossible to replace a (useful) strict inequality by a non-strict one without changing the set of feasible offsets. The best we have is that the set of feasible quotients (in particular the feasibility of the system) is unchanged.

  3. Note that if \(\mathcal {G}\) contained zero delays, we should add the following open interval constraints \(0 < (t_j - t_i) + g_{i,j}q_{i,j} < g_{i,j}\).

  4. If there is a solution with continuous \((x_{i,j})\), then we can define an equivalent solution from the assignment \((a_{i,k})\) by \(x_{i,j} = \max _{k}{a_{i,k} + a_{j,k} - 1}\), which is binary.

  5. From Eq. (9), we obtain \((t_i - t_j + l_{i,j})/g_{i,j} \le q_{i,j} \le 1 + (t_i - t_j - l_{j,i})/g_{i,j}\). After rounding, we deduce the smallest integer solution \(q_{i,j} = \lceil \frac{t_i - t_j + l_{i,j}}{g_{i,j}} \rceil \) (and the largest \(1 - \lceil \frac{t_j - t_i + l_{j,i}}{g_{i,j}} \rceil \)). However, when \(l_{i,j} + l_{j,i} > 0\), there is in fact at most one solution. Applying the bounds \(t_i \in [0,T_i)\), we further get \((l_{i,j} - T_j)/g_{i,j} < q_{i,j} < 1+ (T_i - l_{j,i})/g_{i,j}\). After rounding, we get \(\lfloor \frac{l_{i,j} - T_j}{g_{i,j}}\rfloor + 1 \le q_{i,j} \le \lfloor \frac{T_i - l_{j,i}}{g_{i,j}}\rfloor \), and hence the desired expression, since \(g_{i,j}\) divides \(T_i\) and \(T_j\).

  6. Indeed, let \(\alpha _{\max }^{i,j} = \max {\{\alpha ~|~\lceil l_{i,j}\alpha \rceil + \lceil l_{j,i}\alpha \rceil \le g_{i,j}\}}\) be the largest value satisfying this condition. We easily see that we have either \(l_{i,j}\alpha _{\max }^{i,j} \in \mathbb {Z}\), or \(l_{j,i}\alpha _{\max }^{i,j} \in \mathbb {Z}\). Suppose w.l.o.g. that \(l_{i,j}\alpha _{\max }^{i,j} = n \in \mathbb {Z}\). Then, \(n\) is the largest integer such that \(n + \lceil nl_{j,i}/l_{i,j} \rceil \le g_{i,j}\), i.e. \(nl_{j,i}/l_{i,j} \le g_{i,j} - n\) since the right term is integer, i.e. \(n \le \frac{g_{i,j}l_{i,j}}{l_{i,j} + l_{j,i}}\). This implies \(n = \lfloor \frac{g_{i,j}l_{i,j}}{l_{i,j} + l_{j,i}} \rfloor \), which completes the proof.

  7. There is an exponential number of circuit constraints (44). Therefore, in a Benders approach, a master problem tries to find the hard quotients variables, initially considering only a subset of these constraints. For example, it can start with constraints (6) (which implies constraints associated with circuits of length 2). Given a first guess of the master, the subproblem tries to find compatible offsets solving (42). If it succeeds, then we obtain a solution to the original problem. Otherwise, the subproblem ends with a circuit having a strictly positive cost. The associated constraint is added in the master, which is then solved again. The loop continues until the subproblem has a solution or the master has none.

  8. If both \(l_{i,j}\) and \(l_{j,i}\) are zero, then \(t_i = t_j = 0\) is a feasible solution. Otherwise, suppose w.l.o.g. that \(l_{i,j} > 0\) and define \(t_i = 0\) and \(t_j = l_{i,j}\). Then \((t_j - t_i) \mod g_{i,j} = l_{i,j}\) (since \(l_{i,j} \in [0,g_{i,j})\)) and \((t_i - t_j) \mod g_{i,j} = g_{i,j} - l_{i,j} \ge l_{j,i}\). This shows that \(i\) and \(j\) are schedulable.

  9. The difference between the two values can be reached asymptotically: take \(N\) unitary tasks (\(l_{\min } = 1\)) with the same period \(T = 2N-1\). Then, the optimal fractional solution is \(\alpha ^* = 2 - 1/N\) (hence, \(\alpha ^* - 1/l_{\min } = 1 - 1/N\)), and the optimal integral solution is \(\alpha = 1\).

  10. Note that if \(\mathcal {G}\) was not symmetric, then we would need to consider some degenerate cases where one of the slopes (increasing or decreasing) would be infinite (since \(l_{i,j} = 0\) or \(l_{j,i} = 0\)).

  11. Note that in the computation, only the \(\alpha _i\)-coordinate is needed since the \(t_i\)-coordinate of the selected intersection point can be computed afterwards by \(t_i = o_j + l_{j,i}\alpha _i\).

  12. We fixed a timeout of 600 s because the solver almost never stopped even after 1 h of CPU time. In the case of binary variables \(x_{i,j}\), the only exceptions were instances 5 and 8, for which optimality has been proved in 71 s and 470 s, respectively. In the case of continuous variables \(x_{i,j}\), optimality has been proved for instances 5 and 9 in 47 and 543 s, respectively.

  13. On any circuit \(C\), there is at least one couple \((i,j)\) such that \(i \succ j\). Since \(\mathcal {G}\) is symmetric, there is also one such that \(j \succ i\).

References

  • Al Sheikh, A. (2011). Resource allocation in hard real-time avionic systems—Scheduling and routing problems. PhD Thesis, LAAS, Toulouse, France.

  • Al Sheikh, A., Brun, O., Hladik, P. E., & Prabhu, B. (2012). Strictly periodic scheduling in IMA-based architectures. Real Time Systems, 48(4), 359–386.

    Article  Google Scholar 

  • Bar-Noy, A., Bhatia, R., Naor, J. S., & Schieber, B. (2002). Minimizing service and operation costs of periodic scheduling. Mathematics of Operations Research, 27(3), 518–544.

    Article  Google Scholar 

  • Baruah, S., Rousier, L., Tulchinsky, I., & Varvel, D. (1990). The complexity of periodic maintenance. In Proceedings of the International Computer Symposium.

  • Baruah, S., Buttazzo, G., Gorinsky, S., & Lipari, G. (1999). Scheduling periodic task systems to minimize output jitter. In International conference on real-time computing systems and applications, Hong Kong (pp. 62–69).

  • Dauscha, W., Modrow, H. D., & Neumann, A. (1985). On cyclic sequence type for constructing cyclic schedules. Zeitschrift für Operations Research, 29(1), 1–30.

    Google Scholar 

  • Eisenbrand, F., ähnle, N. H, Niemeier, M.,Skutella, M., Verschae, J., & Wiese, A. (2010a). Scheduling periodic tasks in a hard real-time environment. In Automata, languages and programming (pp. 299–311).

  • Eisenbrand, F, Kesavan, K., Mattikalli, R. S., Niemeier, M., Nordsieck, A. W., Skutella, M., et al. (2010b). Solving an avionics real-time scheduling problem by advanced IP-methods. In ESA 2010 (pp. 11–22).

  • Jeffay, K., Stanat, D. F., & Martel, C. U. (1991) . On non-preemptive scheduling of period and sporadic tasks. In Proceedings of the 12th IEEE Symposium on Real-Time Systems (pp. 129–139).

  • Korst, J., Aarts, E., Lenstra, J. K., & Wessels, J. (1991). Periodic multiprocessor scheduling. In E. H. L. Aarts, M. Rem, & J. van Leeuwen (Eds.), PARLE 1991 (Vol. 505, pp. 166–178)., LNCS Heidelberg: Springer.

    Google Scholar 

  • Korst, J. (1992). Periodic multiprocessors scheduling. PhD Thesis, Eindhoven University of Technology, Eindhoven, The Netherlands.

  • Liu, C. L., & Layland, J. W. (1973). Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1), 43–61.

    Article  Google Scholar 

  • Megiddo, N. (1983). Linear-time algorithms for linear programming in R\(^{\text{3 }}\) and related problems. SIAM Journal on Computing, 12(4), 759–776.

    Article  Google Scholar 

  • Pira, C., & Artigues, C. (2012). An efficient best response heuristic for a non-preemptive strictly periodic scheduling problem. Technical Report 12668 LAAS-CNRS, Toulouse.

  • Pira, C., & Artigues, C. (2013). Line search method for solving a non-preemptive strictly periodic scheduling problem. In Proceedings of the 6th Multidisciplinary International Conference on Scheduling: Theory and Applications (MISTA), 27–30 Aug 2013 (pp. 356–371) Ghent, Belgium.

  • Serafini, P., & Ukovich, W. (1989). A mathematical model for periodic scheduling problems. SIAM Journal on Discrete Mathematics, 2(4), 550–581.

    Article  Google Scholar 

Download references

Acknowledgments

This work was funded by the French Midi-Pyrenee region (allocation de recherche post-doctorant n\(^\circ \)11050523) and the LAAS-CNRS OSEC project (Scheduling in Critical Embedded Systems).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Clément Pira.

Appendix on monoperiodic and disjunctive scheduling

Appendix on monoperiodic and disjunctive scheduling

In this section, we highlight the difficulty of the problem by showing the link with disjunctive scheduling. Compared to a classical system of precedence constraints, our scheduling problem is made hard by the introduction of additional integer quotients variables. Minimally, these quotients induce an order between tasks. Indeed, given offsets \((t_i)\), we can forget the absolute positions and only retain their relative order: \(i \succ j \iff t_i > t_j\). On \(\mathcal {G}\), this relation can be defined by the quotients alone: \(i \succ j \iff q_{i,j} \ge 1\).

Property \(q_{i,j} + q_{j,i} = 1\) simply says that \(\succ \) defines an orientation on \(\mathcal {G}\): we have either \(i \succ j\) or \(j \succ i\) but not both. Constraints (44) and (45) imply in particular that for each circuit \(C\), we have \(\sum _{(i,j) \in C}{g_{i,j}q_{i,j}} > 0\). This implies in turn that the orientation given by \(\succ \) is acyclicFootnote 13. For example, if \(\mathcal {G}\) is the complete graph, then \(\succ \) simply defines a total order.

Generally, quotients code for more than an order. However, there is a special case for which they do no more. In the monoperiodic case, we saw that the variables \((q_{i,j})\) can be supposed to be binary. Moreover, circuit constraints (44) have the following form (Serafini et al. 1989):

$$\begin{aligned} \sum _{(i,j) \in C}{q_{i,j}} \ge \frac{1}{T}\sum _{(i,j) \in C}{l_{i,j}},\qquad \forall \mathrm{el}^\mathrm{t}\mathrm{circuit } C. \end{aligned}$$
(83)

If the period \(T\) is large enough, then the right-hand side is always less than \(1\). Hence, this is equivalent to \(\sum _{(i,j) \in C}{q_{i,j}} \ge 1\), which simply forbids circuits. In this case, \((q_{i,j})\) is a binary vector representing an acyclic orientation.

The previous case is related to the disjunctive scheduling problem. In this problem, starting dates are subject to the following disjunctive constraints \(t_j - t_i \ge l_{i,j} \vee t_i - t_j \ge l_{j,i}\). However, once an order has been defined among the tasks, only one of the two inequalities remains. A natural way to express this disjunctive constraint as a MILP is to introduce a binary variable \(q_{i,j}\) with value \(1\) if \(i\) starts after \(j\). Then, the first constraint is written \(t_j - t_i + Tq_{i,j} \ge l_{i,j}\), while the second one is written \(t_i - t_j + T(1 - q_{i,j}) \ge l_{j,i}\). In terms of modulo, the disjunction is represented by the two constraints \((t_j - t_i) \mod T \ge l_{i,j}\) and \((t_i - t_j) \mod T \ge l_{j,i}\). Here, \(T\) is simply a big-M constant chosen to be large enough, but it plays the role of a period. Graphically, this choice amounts to transforming a disjunctive problem into a monoperiodic problem (see Fig. 15).

Fig. 15
figure 15

From disjunctive to monoperiodic scheduling

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pira, C., Artigues, C. Line search method for solving a non-preemptive strictly periodic scheduling problem. J Sched 19, 227–243 (2016). https://doi.org/10.1007/s10951-014-0389-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-014-0389-6

Keywords

Navigation