Solving allocation problems of hard real-time systems with dynamic constraint programming

In this paper, we present an original approach (CPRTA for ”Constraint Programming for solving Real-Time Allocation”) based on constraint programming to solve an allocation problem of hard real-time tasks in the context of fixed priority preemptive scheduling. CPRTA is built on dynamic constraint programming together with a learning method to find a feasible processor allocation under constraints. It is a new approach which produce in its current version as acceptable performances as classical algorithms do. Some experimental results are given to show it. Moreover, CPRTA shows very interesting properties. It is complete —i.e., if a problem has no solution, the algorithm is able to prove it—, and it is non-parametric —i.e., it does not require specific initializations—. Thanks to its capacity to explain failures, it offers attractive perspectives for guiding the architectural design process.

[1]  Frode Eika Sandnes,et al.  A hybrid genetic algorithm applied to automatic parallel controller code generation , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[2]  J. Hooker,et al.  Logic-based Benders decomposition , 2003 .

[3]  Vipul Jain,et al.  Algorithms for Hybrid MILP/CP Models for a Class of Optimization Problems , 2001, INFORMS J. Comput..

[4]  Philippe Refalo,et al.  Impact-Based Search Strategies for Constraint Programming , 2004, CP.

[5]  Alan Burns,et al.  Allocating hard real-time tasks: An NP-Hard problem made easy , 1992, Real-Time Systems.

[6]  Thierry Benoist,et al.  Constraint Programming Contribution to Benders Decomposition: A Case Study , 2002, CP.

[7]  E. L. Lawler,et al.  Recent Results in the Theory of Machine Scheduling , 1982, ISMP.

[8]  Anne-Marie Déplanche,et al.  A genetic algorithm for scheduling tasks in a real-time distributed system , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[9]  Roman Barták,et al.  Constraint Programming: In Pursuit of the Holy Grail , 1999 .

[10]  Jacques F. Benders,et al.  Partitioning procedures for solving mixed-variables programming problems , 2005, Comput. Manag. Sci..

[11]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[12]  Patrice Boizumault,et al.  Maintaining Arc-Consistency within Dynamic Backtracking , 2000, CP.

[13]  G. Borriello,et al.  Task scheduling for real-time multi-processor simulations , 1994, Proceedings of 11th IEEE Workshop on Real-Time Operating Systems and Software.

[14]  François Laburhe CHOCO: implementing a CP kernel , 2007 .

[15]  Andy J. Wellings,et al.  Analysing real-time communications: controller area network (CAN) , 1994, 1994 Proceedings Real-Time Systems Symposium.

[16]  Ulrich Junker Conflict Detection for Arbitrary Constraint Propagation Algorithms , 2001 .

[17]  John N. Hooker,et al.  Optimization and , 2000 .

[18]  Hans A. Hansson,et al.  The Slack Method: A New Method for Static Allocation of Hard Real-Time Tasks , 1998, Real-Time Systems.

[19]  Cecilia Ekelin An Optimization Framework for Scheduling of Embedded Real-Time Systems , 2004 .

[20]  Krithi Ramamritham,et al.  Allocation and scheduling of complex periodic tasks , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[21]  J. F. Benders Partitioning procedures for solving mixed-variables programming problems , 1962 .

[22]  Krzysztof Kuchcinski,et al.  Digital Systems Design Using Constraint Logic Programming , 2000 .

[23]  Narendra Jussien,et al.  The versatility of using explanations within constraint programming , 2003 .