Journal of Signal Processing Systems

, Volume 60, Issue 2, pp 169–182 | Cite as

Run-time Task Overlapping on Multiprocessor Platforms

  • Zhe MaEmail author
  • Francky Catthoor


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%).


Task scheduling On-line optimization Multiprocessor platforms 


  1. 1.
    Andrei, A., et al. (2005). Quasi-static voltage scaling for energy minimization with time constraints. In Proceedings of DATE (pp. 514–519).Google Scholar
  2. 2.
    Azevedo, A., et al. (2002). Profile-based dynamic voltage scheduling using program checkpoints. In Proceedings of DATE (pp. 168–175).Google Scholar
  3. 3.
    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).Google Scholar
  4. 4.
    Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of np completeness. New York: W.H. Freeman.zbMATHGoogle Scholar
  5. 5.
    Gomez, J. I. (2007). Data assignment and scheduling in multitasked embedded systems. Doctoral dissertation, Univ. Compl. Madrid, Spain, June.Google Scholar
  6. 6.
    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).Google Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    Jha, N. (2001). Low power system scheduling and synthesis. In ICCAD (pp. 259–263).Google Scholar
  9. 9.
    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).Google Scholar
  10. 10.
    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.zbMATHMathSciNetGoogle Scholar
  11. 11.
    Ma, Z., et al. (2003). Task concurrency analysis and exploration of visual texture decoder on a heterogeneous platform. In SiPS (pp. 245–250).Google Scholar
  12. 12.
    Ramamritham, K., & Stankovic, J. (1994). Scheduling algorithms and operating systems support for real-time systems. Proceedings of the IEEE, 82, 55–67CrossRefGoogle Scholar
  13. 13.
    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.CrossRefGoogle Scholar
  14. 14.
    Stahl, R., et al. (2004). High-level data-access analysis for characterisation of (sub)task-level parallelism in Java. In 9th HIPS.Google Scholar
  15. 15.
    Stankovic, J., & Ramamritham, K. (1991). The spring kernel: A new paradigm for real-time systems. IEEE Software, 8(3), 62–72, May.CrossRefGoogle Scholar
  16. 16.
    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.CrossRefGoogle Scholar
  17. 17.
    Thoen, F., & Catthoor, F. (1999). Modeling, verification and exploration of task-level concurrency in real-time embedded systems. Dordrecht: Kluwer.Google Scholar
  18. 18.
    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.Google Scholar
  19. 19.
    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).Google Scholar
  20. 20.
    Wüst, C., et al. (2005). QoS Control strategies for high-quality video processing. Real-Time Systems, 30(1–2), 7–29.CrossRefGoogle Scholar
  21. 21.
    Yang, P., & Catthoor, F. (2004). Dynamic mapping and ordering tasks of embedded real-time systems on multiprocessor platforms. In SCOPES (pp. 167–181).Google Scholar
  22. 22.
    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.Google Scholar
  23. 23.
    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.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.IMECLeuvenBelgium

Personalised recommendations