Abstract
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%).
Similar content being viewed by others
Notes
The makespan of a schedule is formally defined as the difference between the start time of the first scheduled subtask and the end time of the last ending subtask.
References
Andrei, A., et al. (2005). Quasi-static voltage scaling for energy minimization with time constraints. In Proceedings of DATE (pp. 514–519).
Azevedo, A., et al. (2002). Profile-based dynamic voltage scheduling using program checkpoints. In Proceedings of DATE (pp. 168–175).
Dick, R., et al. (1998). TGFF: Task graphs for free. In Proceedings of the sixth international workshop on hardware/software co-design (pp. 97–101).
Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of np completeness. New York: W.H. Freeman.
Gomez, J. I. (2007). Data assignment and scheduling in multitasked embedded systems. Doctoral dissertation, Univ. Compl. Madrid, Spain, June.
Goossens, J., Funk, S., & Baruah, S. (2002). EDF scheduling on multiprocessors: Some (perhaps) counterintuitive observations. In Proceedings of real-time and embedded computing systems and applications (RTCSA) (pp. 321–330).
Hoogeveen, J. A., et al. (1992). Complexity of scheduling multiprocessor tasks with pre-specified processor allocations. Tech. report BS-R9211 ISSN 0924-0659, CWI, The Netherlands, June.
Jha, N. (2001). Low power system scheduling and synthesis. In ICCAD (pp. 259–263).
Lee, C.-H., & Shin, K. G. (2004). On-line dynamic voltage scaling for hard real-time systems using the EDF algorithm. In RTSS (pp. 319–327).
Liu, C., & Layland, J. (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the Association for Computing Machinery, 20(1), 46–61.
Ma, Z., et al. (2003). Task concurrency analysis and exploration of visual texture decoder on a heterogeneous platform. In SiPS (pp. 245–250).
Ramamritham, K., & Stankovic, J. (1994). Scheduling algorithms and operating systems support for real-time systems. Proceedings of the IEEE, 82, 55–67
Shen, C., Ramamritham, K., & Stankovic, J. A. (1993). Resource reclaiming in multiprocessor real-time systems. IEEE Transaction on Parallel and Distributed Systems, 4(4), 382–397.
Stahl, R., et al. (2004). High-level data-access analysis for characterisation of (sub)task-level parallelism in Java. In 9th HIPS.
Stankovic, J., & Ramamritham, K. (1991). The spring kernel: A new paradigm for real-time systems. IEEE Software, 8(3), 62–72, May.
Strik, M., et al. (2000). Heterogeneous multiprocessor for the management of real-time video and graphic streams IEEE Journal of Solid-State Circuits, 35(11), 1722–1731, November.
Thoen, F., & Catthoor, F. (1999). Modeling, verification and exploration of task-level concurrency in real-time embedded systems. Dordrecht: Kluwer.
Tullsen, D. M., Eggers, S. J., & Levy, H. M. (1995). Simultaneous multi-threading: Maximizing on-chip parallelism. In 22nd annual international symposium on computer architecture.
Wong, C., et al. (2001). Task concurrency management methodology to schedule the MPEG-4 IM1 player on a highly parallel processor platform. In Proceedings of CODES (pp. 170–177).
Wüst, C., et al. (2005). QoS Control strategies for high-quality video processing. Real-Time Systems, 30(1–2), 7–29.
Yang, P., & Catthoor, F. (2004). Dynamic mapping and ordering tasks of embedded real-time systems on multiprocessor platforms. In SCOPES (pp. 167–181).
Yang, P., Lauwereins, R., Wong, C., Marchal, P., Vounckx, J., David, P., et al. (2002). Managing dynamic concurrent tasks in embedded real-time multimedia systems. In Proceedings of ISSS 2002, 15th international symposium on system synthesis (pp. 112–119). Kyoto, Japan, October.
Yang, P., et al. (2001). A cost-performance trade-off aware scheduling method for single chip multiprocessor embedded system. Design & Test of Computers, IEEE, 18(5), 46–58, September.
Author information
Authors and Affiliations
Corresponding author
Additional information
Francky Catthoor is also professor of K.U.Leuven–ESAT.
Rights and permissions
About this article
Cite this article
Ma, Z., Catthoor, F. Run-time Task Overlapping on Multiprocessor Platforms. J Sign Process Syst 60, 169–182 (2010). https://doi.org/10.1007/s11265-008-0302-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-008-0302-7