Solving a real-time allocation problem with 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 a static allocation problem of hard real-time tasks. This problem consists in assigning periodic tasks to distributed processors 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. Two efficient new approaches are proposed and validated with experimental results. Moreover, CPRTA exhibits very interesting properties. It is complete (if a problem has no solution, the algorithm is able to prove it); it is non-parametric (it does not require specific tuning) thus allowing a large diversity of models to be easily considered. Finally, thanks to its capacity to explain failures, it offers attractive perspectives for guiding the architectural design process.

[1]  Kang G. Shin,et al.  Period-Based Load Partitioning and Assignment for Large Real-Time Applications , 2000, IEEE Trans. Computers.

[2]  Nectarios Koziris,et al.  An efficient algorithm for the physical mapping of clustered task graphs onto multiprocessor architectures , 2000, Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing.

[3]  Matt W. Mutka,et al.  A tool for allocating periodic real-time tasks to a set of processors , 1995, J. Syst. Softw..

[4]  Diederik Verkest,et al.  Static task scheduling of real-time embedded systems , 2000 .

[5]  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.

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

[7]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[8]  Kang G. Shin,et al.  Component allocation with multiple resource constraints for large embedded real-time software design , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[9]  Byung Kook Kim,et al.  An optimal scheduling algorithm for minimizing the computing period of cyclic synchronous tasks on multiprocessors , 2001, J. Syst. Softw..

[10]  Zoubir Mammeri,et al.  Solving real-time scheduling problems with Hopfield-type neural networks , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[11]  Leïla Baccouche,et al.  Un mécanisme d'ordonnancement distribué de tâches temps réel , 1995 .

[12]  R.S. de Oliveira,et al.  Empirical study of tabu search, simulated annealing and multi-start in fieldbus scheduling , 2005, 2005 IEEE Conference on Emerging Technologies and Factory Automation.

[13]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

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

[15]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[16]  Joël Goossens,et al.  Limitation of the hyper-period in real-time periodic task set generation , 2001 .

[17]  Ken Tindell,et al.  ALLOCATING AND SCHEDULING HARD REAL-TIME TASKS ON A POINT-TO-POINT DISTRIBUTED SYSTEM , 2007 .

[18]  Viktor K. Prasanna,et al.  Greedy Heuristics for Resource Allocation in Dynamic Distributed Real-Time Heterogeneous Computing Systems , 2002, PDPTA.

[19]  Ricardo Cayssials,et al.  A Heuristic Approach to the Multitask-Multiprocessor Assignment Problem using the Empty-Slots Method and Rate Monotonic Scheduling , 1997, Real-Time Systems.

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

[21]  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).

[22]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.

[23]  Hadrien Cambazard,et al.  Solving allocation problems of hard real-time systems with dynamic constraint programming , 2006 .

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

[25]  Hadrien Cambazard,et al.  How to solve allocation problems with constraint programming , 2005 .

[26]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

[27]  Barry O'Sullivan,et al.  Automata for Nogood Recording in Constraint Satisfaction Problems , 2006 .

[28]  Erol Gelenbe,et al.  Task Assignment and Transaction Clustering Heuristics for Distributed Systems , 1997, Inf. Sci..

[29]  Jörg Würtz,et al.  Scheduling of Time-Triggered Real-Time Systems , 2000, Constraints.

[30]  Krzysztof Kuchcinski,et al.  Partial task assignment of task graphs under heterogeneous resource constraints , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

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

[32]  C. Ribeiro,et al.  A Tabu Search Approach to Task Scheduling on Heterogeneous Processors under Precedence Constraints , 1995, Int. J. High Speed Comput..

[33]  Erlendur S. Thorsteinsson Branch-and-Check: A Hybrid Framework Integrating Mixed Integer Programming and Constraint Logic Programming , 2001, CP.

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

[35]  Pascal Richard,et al.  Allocating and scheduling tasks in multiple fieldbus real-time systems , 2003, EFTA 2003. 2003 IEEE Conference on Emerging Technologies and Factory Automation. Proceedings (Cat. No.03TH8696).

[36]  Denis Trystram,et al.  A new clustering algorithm for large communication delays , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

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

[38]  John A. Stankovic,et al.  Applicability of simulated annealing methods to real-time scheduling and jitter control , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[39]  E.-G. Talbi,et al.  Hill-climbing, simulated annealing and genetic algorithms: a comparative study and application to the mapping problem , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[40]  Kern Koh,et al.  Pareto-based soft real-time task scheduling in multiprocessor systems , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

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

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

[43]  Traian Muntean,et al.  General heuristics for the mapping problem , 1993 .

[44]  Diederik Verkest,et al.  Requirements for Static Task Scheduling in Real Time Embedded Systems , 2001 .

[45]  Johan Fredriksson,et al.  Optimizing resource usage in component-based real-time systems , 2005, CBSE'05.

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

[47]  J. Ramanujam,et al.  Task allocation onto a hypercube by recursive mincut bipartitioning , 1990, C3P.

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

[49]  Kang G. Shin,et al.  Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems , 1997, IEEE Trans. Software Eng..

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

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

[52]  Virginia Mary Lo,et al.  Heuristic Algorithms for Task Assignment in Distributed Systems , 1988, IEEE Trans. Computers.

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

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

[55]  Paolo Palazzari,et al.  A new method for optimization of allocation and scheduling in real time applications , 1995, Proceedings Seventh Euromicro Workshop on Real-Time Systems.

[56]  Hadrien Cambazard,et al.  Decomposition and Learning for a Hard Real Time Task Allocation Problem , 2004, CP.

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

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

[59]  B. Earl Wells,et al.  Heuristic Model for Task Allocation in a Heterogeneous Distributed Computing System , 1996, PDPTA.

[60]  Michael J. Todd,et al.  Mathematical programming , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..