Today’s embedded applications often consist of multiple concurrent tasks. These tasks are decomposed into sub-tasks which
are in turn assigned and scheduled on multiple different processors to achieve the Pareto-optimal performance/energy combinations.
Previous work introduced systematical approaches to make performance-energy trade-offs explorations for each individual task
and used the exploration results at run-time to fulfill system-level constraints. However, they did not exploit the fact that
the concurrent tasks can be executed in an overlapped fashion. In this paper, we propose a simple yet powerful on-line technique
that performs task overlapping by run-time subtask re-scheduling. By doing so, a multiprocessor system with concurrent tasks
can achieve better performance without extra energy consumption. We have applied our algorithm to a set of randomly-generated
task graphs, obtaining encouraging improvements over non-overlapped task, and also having less overall energy consumption
than a previous DVS method for real-time tasks. Then, we have demonstrated the algorithm on real-life video- and image-processing
applications implemented on a dual-processor TI TMS320C6202 board: We have achieved a reduction of 22–29% in the application
execution time, while the impact of run-time scheduling overhead proved to be negligible (1.55%).
Keywords Task scheduling - On-line optimization - Multiprocessor platforms
Francky Catthoor is also professor of K.U.Leuven–ESAT.