Allocating hard real-time tasks: an NP-hard problem made easy
Real-Time Systems
Fixed priority pre-emptive scheduling: an historical perspective
Real-Time Systems - Special issue: history of real-time systems
Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems
IEEE Transactions on Software Engineering
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
Efficient conflict driven learning in a boolean satisfiability solver
Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design
Design of an Optimal Loosely Coupled Heterogeneous Multiprocessor System
EDTC '96 Proceedings of the 1996 European conference on Design and Test
BerkMin: A Fast and Robust Sat-Solver
Proceedings of the conference on Design, automation and test in Europe
Schedulability-Driven Partitioning and Mapping for Multi-Cluster Real-Time Systems
ECRTS '04 Proceedings of the 16th Euromicro Conference on Real-Time Systems
Efficient Proof Engines for Bounded Model Checking of Hybrid Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
A column generation approach to scheduling of periodic tasks
SEA'11 Proceedings of the 10th international conference on Experimental algorithms
Hi-index | 0.00 |
We present a SAT-based approach to the task and message allocation problem of distributed real-time systems with hierarchical architectures. In contrast to the heuristic approaches usually applied to this problem, our approach is guaranteed to find an optimal allocation for realistic task systems running on complex target architectures. Our method is based on the transformation of such scheduling problems into nonlinear integer optimization problems. The core of the numerical optimization procedure we use to discharge those problems is a solver for arbitrary Boolean combinations of integer constraints. Optimal solutions are obtained by imposing a binary search scheme on top of that solver. Experiments show the applicability of our approach to industrial-size task systems, which are mapped to heterogeneous hierarchical hardware architectures.