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.
Similar content being viewed by others
References
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.
Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J.A. (1996). Cyclo-static dataflow. IEEE Transactions on Signal Processing, 44(2), 397–408.
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).
Coffey, V.C. (2012). Multispectral imaging moves into the mainstream. Optics & Photonics News, 18–24.
Dagum, L., & Menon, R. (1998). OpenMP: an industry standard API for shared-memory programming. IEEE Computational Science & Engineering, 5(1), 46–55.
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).
Google, Inc. (2017). Protocol buffers. https://developers.google.com/protocol-buffers/ visited on April 26, 2017.
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.
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).
Lee, E.A. (1988). Recurrences, iteration, and conditionals in statically scheduled block diagram languages. In Proceedings of the international workshop on VLSI signal processing.
Lee, E.A. (2006). The problem with threads. Computer, 39(5).
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).
Lee, E.A., & Messerschmitt, D.G. (1987). Synchronous dataflow. Proceedings of the IEEE, 75(9), 1235–1245.
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.
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.
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).
Murthy, P.K., & Lee, E.A. (2002). Multidimensional synchronous dataflow. IEEE Transactions on Signal Processing, 50(8), 2064–2079.
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.
Printz, H. (1991). Automatic mapping of large signal processing systems to a parallel machine. Ph.D. thesis, School of Computer Science Carnegie Mellon University.
Pulli, K., Baksheev, A., Kornyakov, K., Eruhimov, V. (2012). Real-time computer vision with OpenCV. Communications of the ACM, 55(6).
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).
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.
Siek, J.G., Lee, L.Q., Lumsdaine, A. (2001). The boost graph library: user guide and reference manual PAP/CDR Edition. Addison-Wesley.
Sriram, S., & Bhattacharyya, S.S. (2009). Embedded multiprocessors: scheduling and synchronization, 2nd edn. CRC Press. ISBN:1420048015.
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).
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.
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).
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-018-1412-5