Section: New Results
Dependable distributed real-time embedded systems
Static multiprocessor scheduling with tradeoff between performance and reliability
We have completed two works on this topic, both addressing the problem of bicriteria (length,reliability) scheduling. The first one defines a novel framework, where the reliability criterion is replaced by another criterion, called the global system failure rate (GSFR), which is independent from the length criterion  . We are now working on incorporating more reliability techniques into this framework, like the temporal redundancy, the k-out-of-n redundant systems, and the voting mechanisms. The second work restricts itself to a simpler case where the communication network is reliable. Thanks to this assumption we are able to propose a two-phase scheduling algorithm, where the first phase addresses only the reliability criterion by adequately replicating the tasks onto the processors (hence computing only the spatial allocation), while the second phase addresses only the length criterion by computing a temporal allocation that minimizes the schedule makespan. Thanks to this decoupling into two independent phases, we are able to produce approximate sets of Pareto non-dominated solutions for a given instance. Simulation results show that our algorithm outperforms, in terms of makespan, existing reference scheduling methods for heterogeneous processors (HEFT), while providing a better reliability  .
Unlike most work found in the literature, all our contributions are truly bicriteria in the sense that the user can gain several orders of magnitude on the reliability of his schedule, thanks to the active replication of tasks onto processors. In contrast, most of the other algorithms do not replicate the tasks, and hence have a very limited impact on the reliability.
Static multiprocessor scheduling of tasks with resource constraints
We continue our work on multi-criteria scheduling of tasks onto processors, where the main criteria are the reliability of the schedule, its makespan, and the number of used processors. In addition, assigning a task to a processor consumes a fixed number of limited resources available on this processor: we also want to minimize the total number of consumed resources. Finally, our scheduling problem is dynamic in the sense that some new tasks are created after each interval of one second while some old tasks are destroyed: as a consequence, a new schedule must be re-computed each second, and if possible there must be some “stability” between two successive schedules (meaning that tasks are are common between two successive intervals should be assigned to the same respective processor in the two schedules). The solution that we explore is based on a branch and bound algorithm, because it can provide a precise solution as well as an approached solution if it is stopped before its end, while guaranteeing the quality of the obtained solution in comparison with the optimum.