Skip to main content

Integration of Dataflow-Based Heterogeneous Multiprocessor Scheduling Techniques in GNU Radio


As the variety of off-the-shelf processors expands, traditional implementation methods of systems for digital signal processing and communication are no longer adequate to achieve design objectives in a timely manner. There is a necessity for designers to easily track the changes in computing platforms, and apply them efficiently while reusing legacy code and optimized libraries that target specialized features in single processing units. In this context, we propose an integration workflow to schedule and implement Software Defined Radio (SDR) protocols that are developed using the GNU Radio environment on heterogeneous multiprocessor platforms. We show how to utilize Single Instruction Multiple Data (SIMD) units provided in Graphics Processing Units (GPUs) along with vector accelerators implemented in General Purpose Processors (GPPs). We augment a popular SDR framework (i.e, GNU Radio) with a library that seamlessly allows offloading of algorithm kernels mapped to the GPU without changing the original protocol description. Experimental results show how our approach can be used to efficiently explore design spaces for SDR system implementation, and examine the overhead of the integrated backend (software component) library.

This is a preview of subscription content, access via your institution.

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


  1. 1.

    Adam, T.L., Chandy, K.M., Dickson, J.R. (1974). A comparison of list schedules for parallel processing systems. Communications of the ACM, 17(12), 685–690.

    MATH  Article  Google Scholar 

  2. 2.

    Applegate, D., & Cook, W. (1991). A computational study of the job-shop scheduling problem. ORSA Journal on Computing, 3(2), 149–156.

    MATH  Article  Google Scholar 

  3. 3.

    Berg, H., Brunelli, C., Lucking, U. (2008). Analyzing models of computation for software defined radio applications. In Proceedings of the international symposium on system-on-chip.

  4. 4.

    Bhattacharyya, S.S., Deprettere, E., Leupers, R., Takala, J. (Eds.) (2010). Handbook of signal processing systems. New York: Springer.

    MATH  Google Scholar 

  5. 5.

    Bhattacharyya, S.S., Murthy, P.K., Lee, E.A. (1999). Synthesis of embedded software from synchronous dataflow specifications. Journal of VLSI Signal Processing Systems for Signal, Image, and Video Technology, 21(2), 151–166.

    Article  Google Scholar 

  6. 6.

    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 

  7. 7.

    Blossom, E. (2004). GNU Radio: tools for exploring the radio frequency spectrum. Linux Journal.

  8. 8.

    Buck, J.T. (1993). Scheduling dynamic dataflow graphs with bounded memory using the token flow model. Ph.D. thesis, Department of Electrical Engineering and Computer Sciences, University of California at Berkeley.

  9. 9.

    Chen, Y., Chakrabarti, C., Bhattacharyya, S., Bougard, B. (2009). Signal processing on platforms with multiple cores: part 1—overview and methodologies. IEEE Signal Processing Magazine, 26(6), 24–25. Guest Editors’ Introduction.

    Article  Google Scholar 

  10. 10.

    Chen, Y., Chakrabarti, C., Bhattacharyya, S., Bougard, B. (2010). Signal processing on platforms with multiple cores: part 2—design and applications. IEEE Signal Processing Magazine, 27(2), 20–21. Guest Editors’ Introduction.

    Article  Google Scholar 

  11. 11.

    Hormati, A.H., Choi, Y., Woh, M., Kudlur, M., Rabbah, R., Mudge, T., Mahlke, S. (2010). MacroSS: macro-SIMDization of streaming applications. In Symposium on architectural support for programming languages and operating systems (pp. 285–296).

  12. 12.

    Hsu, C., Ko, M., Bhattacharyya, S.S. (2005). Software synthesis from the dataflow interchange format. In Proceedings of the international workshop on software and compilers for embedded systems, Dallas, Texas (pp. 37–49).

  13. 13.

    Intel Corporation (2007). Intel SSE4 programming reference.

  14. 14.

    Ko, M., Shen, C., Bhattacharyya, S.S. (2008). Memory-constrained block processing for DSP software optimization. Journal of Signal Processing Systems 50(2), 163–177.

    Article  Google Scholar 

  15. 15.

    Lee, E.A., & Messerschmitt, D.G. (1987). Static scheduling of synchronous dataflow programs for digital signal processing. IEEE Transactions on Computers.

  16. 16.

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

    Article  Google Scholar 

  17. 17.

    Lin, Y., Kudlur, M., Mahlke, S., Mudge, T. (2007). Hierarchical coarse-grained stream compilation for software defined radio. In Proceedings of the international conference on compilers, architecture, and synthesis of embedded systems (pp. 115–124).

  18. 18.

    Lin, Y., Mullenix, R., Woh, M., Mahlke, S., Mudge, T., Reid, A., Flautner, K. (2008). SPEX: a programming language for software defined radio. In Proceedings of the software defined radio technical conference and product exposition.

  19. 19.

    Makhorin, A. (2008). Modeling language GNU mathprog—language reference, draft edition, for GLPK version 4.34. Tech. Rep., Moscow Aviation Institute.

  20. 20.

    Marojevic, V., Balleste, X.R., Gelonch, A. (2008). A computing resource management framework for software-defined radios. IEEE Transactions on Computers, 57(10), 1399–1412.

    MathSciNet  Article  Google Scholar 

  21. 21.

    Marwedel, P., & Goossens, G. (Eds.) (1995). Code generation for embedded processors. Kluwer Academic.

  22. 22.

    Niemann, R., & Marwedel, P. (1996). Hardware/software partitioning using integer programming. In Proceedings of the European design and test conference (pp. 473–479).

  23. 23.

    NVIDIA CUDA C Programming Guide (2012). Version 4.2.

  24. 24.

    Patel, H.D., & Shukla, S.K. (2005). Towards a heterogeneous simulation kernel for system-level models: a systemc kernel for synchronous data flow models. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 24(8), 1261–1271.

    Article  Google Scholar 

  25. 25.

    Plishker, W., Sane, N., Kiemb, M., Anand, K., Bhattacharyya, S.S. (2008). Functional DIF for rapid prototyping. In Proceedings of the international symposium on rapid system prototyping, Monterey, California (pp. 17–23).

  26. 26.

    Plishker, W., Zaki, G., Bhattacharyya, S.S., Clancy, C., Kuykendall, J. (2011). Applying graphics processor acceleration in a software defined radio prototyping environment. In Proceedings of the international symposium on rapid system prototyping, Karlsruhe, Germany (pp. 67–73).

  27. 27.

    Ritz, S., Pankert, M., Meyr, H. (1992). High level software synthesis for signal processing systems. In Proceedings of the international conference on application specific array processors.

  28. 28.

    Stuijk, S., Geilen, M.C.W., Basten, T. (2006). SDF3: SDF for free. In Proceedings of the international conference on application of concurrency to system design.

  29. 29.

    Tuttlebee, W. (2002). Software defined radio: Enabling technologies. New York: Wiley.

    Book  Google Scholar 

  30. 30.

    Yang, Y., Xiang, P., Kong, J., Zhou, H. (2010). A GPGPU compiler for memory optimization and parallelism management. In Proceedings of the ACM conference on programming language design and implementation (pp. 86–97).

  31. 31.

    Zaki, G., Plishker, W., Bhattacharyya, S., Clancy, C., Kuykendall, J. (2011). Vectorization and mapping of software defined radio applications on heterogeneous multi-processor platforms. In Proceedings of the IEEE workshop on signal processing systems, Beirut, Lebanon (pp. 31–36).

  32. 32.

    Zheng, K., Li, G., Huang, L. (2007). A weighted-selective scheduling scheme in an open software radio environment. In Proceedings of the IEEE pacific rim conference on communications, computers and signal processing (pp. 561–564).

Download references

Author information



Corresponding author

Correspondence to George F. Zaki.

Additional information

This research was supported in part by the Laboratory for Telecommunications Sciences.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Zaki, G.F., Plishker, W., Bhattacharyya, S.S. et al. Integration of Dataflow-Based Heterogeneous Multiprocessor Scheduling Techniques in GNU Radio. J Sign Process Syst 70, 177–191 (2013).

Download citation


  • Design methodology
  • Software defined radio
  • Graphic processor unit
  • Multiprocessor scheduling
  • GNU Radio