Skip to main content
Log in

Model-Based Dynamic Scheduling for Multicore Signal Processing

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

This paper presents a model-based design method and a corresponding new software tool, the HTGS Model-Based Engine (HMBE), for designing and implementing dataflow-based signal processing applications on multi-core architectures. HMBE provides complementary capabilities to HTGS (Hybrid Task Graph Scheduler), a recently-introduced software tool for implementing scalable workflows for high performance computing applications on compute nodes with high core counts and multiple GPUs. HMBE integrates model-based design approaches, founded on dataflow principles, with advanced design optimization techniques provided in HTGS. This integration contributes to (a) making the application of HTGS more systematic and less time consuming, (b) incorporating additional dataflow-based optimization capabilities with HTGS optimizations, and (c) automating significant parts of the HTGS-based design process using a principled approach. In this paper, we present HMBE with an emphasis on the model-based design approaches and the novel dynamic scheduling techniques that are developed as part of the tool. We demonstrate the utility of HMBE via two case studies: an image stitching application for large microscopy images and a background subtraction application for multispectral video streams.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7

Similar content being viewed by others

References

  1. Benezeth, Y., Sidibė, D., Thomas, J.B. (2014). Background subtraction with multispectral video sequences. In Proceedings of the workshop on non-classical cameras, camera networks and omnidirectional vision.

  2. Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J.A. (1996). Cyclo-static dataflow. IEEE Transactions on Signal Processing, 44(2), 397–408.

    Article  Google Scholar 

  3. Blattner, T., Keyrouz, W., Halem, M., Brady, M., Bhattacharyya, S.S. (2015). A hybrid task graph scheduler for high performance image processing workflows. In Proceedings of the IEEE Global conference on signal and information processing (pp. 634–637).

  4. Coffey, V.C. (2012). Multispectral imaging moves into the mainstream. Optics & Photonics News, 18–24.

  5. Dagum, L., & Menon, R. (1998). OpenMP: an industry standard API for shared-memory programming. IEEE Computational Science & Engineering, 5(1), 46–55.

    Article  Google Scholar 

  6. Eker, J., & Janneck, J.W. (2012). Dataflow programming in CAL — balancing expressiveness, analyzability, and implementability. In Proceedings of the IEEE asilomar conference on signals, systems, and computers (pp. 1120–1124).

  7. Google, Inc. (2017). Protocol buffers. https://developers.google.com/protocol-buffers/ visited on April 26, 2017.

  8. Keinert, J., Haubelt, C., Teich, J. (2006). Modeling and analysis of windowed synchronous algorithms. In Proceedings of the international conference on acoustics, speech, and signal processing.

  9. Kuglin, C.D., & Hines, D.C. (1975). The phase correlation image alignment method. In Proceedings of the international conference on cybernetics and society (pp. 163–165).

  10. Lee, E.A. (1988). Recurrences, iteration, and conditionals in statically scheduled block diagram languages. In Proceedings of the international workshop on VLSI signal processing.

  11. Lee, E.A. (2006). The problem with threads. Computer, 39(5).

  12. Lee, E.A., & Ha, S. (1989). Scheduling strategies for multiprocessor real time DSP. In Proceedings of the global telecommunications conference (Vol. 2, pp. 1279–1283).

  13. Lee, E.A., & Messerschmitt, D.G. (1987). Synchronous dataflow. Proceedings of the IEEE, 75(9), 1235–1245.

    Article  Google Scholar 

  14. Li, H., Sudusinghe, K., Liu, Y., Yoon, J., van der Schaar, M., Blasch, E., Bhattacharyya, S.S. (2017). Dynamic, data-driven processing of multispectral video streams. IEEE Aerospace & Electronic Systems Magazine, 32(7), 50–57.

    Article  Google Scholar 

  15. Lin, S., Liu, Y., Lee, K., Li, L., Plishker, W., Bhattacharyya, S.S. (2017). The DSPCAD framework for modeling and synthesis of signal processing systems. In Ha, S., & Teich, J. (Eds.) Handbook of Hardware/Software Codesign (pp. 1–35): Springer.

  16. Lin, S., Liu, Y., Plishker, W., Bhattacharyya, S.S. (2016). A design framework for mapping vectorized synchronous dataflow graphs onto CPU–GPU platforms. In Proceedings of the international workshop on software and compilers for embedded systems (pp. 20–29).

  17. Murthy, P.K., & Lee, E.A. (2002). Multidimensional synchronous dataflow. IEEE Transactions on Signal Processing, 50(8), 2064–2079.

    Article  Google Scholar 

  18. Pelcat, M., Piat, J., Wipliez, M., Aridhi, S., Nezan, J.F. (2009). An open framework for rapid prototyping of signal processing applications. EURASIP Journal on Embedded Systems 2009. Article No. 11.

  19. Printz, H. (1991). Automatic mapping of large signal processing systems to a parallel machine. Ph.D. thesis, School of Computer Science Carnegie Mellon University.

  20. Pulli, K., Baksheev, A., Kornyakov, K., Eruhimov, V. (2012). Real-time computer vision with OpenCV. Communications of the ACM, 55(6).

  21. Ragan-Kelley, J., Barnes, C., Adams, A., Paris, S., Durand, F., Amarasinghe, S. (2013). Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. In Proceedings of the ACM conference on programming language design and implementation (pp. 519–530).

  22. Siek, J., Lee, L.Q., Lumsdaine, A. The Boost graph library (BGL). http://www.boost.org/doc/libs/1_66_0/libs/graph/doc/index.html. Last access 09 March 2018.

  23. Siek, J.G., Lee, L.Q., Lumsdaine, A. (2001). The boost graph library: user guide and reference manual PAP/CDR Edition. Addison-Wesley.

  24. Sriram, S., & Bhattacharyya, S.S. (2009). Embedded multiprocessors: scheduling and synchronization, 2nd edn. CRC Press. ISBN:1420048015.

  25. Willhalm, T., & Popovici, N. (2008). Putting intelthreading building blocks to work. In Proceedings of the 1st international workshop on multicore software engineering, IWMSE ’08 (pp. 3–4). New York: ACM, DOI https://doi.org/10.1145/1370082.1370085, (to appear in print).

  26. Wu, J., Blattner, T., Keyrouz, W., Bhattacharyya, S.S. (2017). Model-based dynamic scheduling for multicore implementation of image processing systems. In Proceedings of the IEEE workshop on signal processing systems (pp. 1–6). France: Lorient.

  27. Yviquel, H., Lorence, A., Jerbi, K., Cocherel, G., Sanchez, A., Raulet, M. (2013). Orcc: multimedia development made easy. In Proceedings of the ACM international conference on multimedia (pp. 863–866).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jiahao Wu.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix: List of Acronyms

Appendix: List of Acronyms

APEG:

Acyclic Precedence Expansion Graph

API:

Application Programming Interface

DIF:

Dataflow Interchange Format

FFT:

Fast Fourier Transform

HMBE:

HTGS Model-Based Engine

HTGS:

Hybrid Task Graph Scheduler

ICP:

Inverse Critical Path

PCIAM:

Phase Correlation Image Alignment Method

SDF:

Synchronous Dataflow

SAD:

Shortest APEG Distance

SADI:

Single Actor, Dynamic Invocation

WTC:

Worker Thread Capacity

WSDF:

Windowed Synchronous Dataflow

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wu, J., Blattner, T., Keyrouz, W. et al. Model-Based Dynamic Scheduling for Multicore Signal Processing. J Sign Process Syst 91, 981–994 (2019). https://doi.org/10.1007/s11265-018-1412-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-018-1412-5

Keywords

Navigation