Journal of Signal Processing Systems

, Volume 70, Issue 2, pp 177–191 | Cite as

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

  • George F. Zaki
  • William Plishker
  • Shuvra S. Bhattacharyya
  • Charles Clancy
  • John Kuykendall
Article

Abstract

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.

Keywords

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

References

  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.MATHCrossRefGoogle 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.MATHCrossRefGoogle 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.Google Scholar
  4. 4.
    Bhattacharyya, S.S., Deprettere, E., Leupers, R., Takala, J. (Eds.) (2010). Handbook of signal processing systems. New York: Springer.MATHGoogle 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.CrossRefGoogle 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.CrossRefGoogle Scholar
  7. 7.
    Blossom, E. (2004). GNU Radio: tools for exploring the radio frequency spectrum. Linux Journal.Google Scholar
  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.Google Scholar
  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.CrossRefGoogle 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.CrossRefGoogle 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).Google Scholar
  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).Google Scholar
  13. 13.
    Intel Corporation (2007). Intel SSE4 programming reference.Google Scholar
  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.CrossRefGoogle Scholar
  15. 15.
    Lee, E.A., & Messerschmitt, D.G. (1987). Static scheduling of synchronous dataflow programs for digital signal processing. IEEE Transactions on Computers.Google Scholar
  16. 16.
    Lee, E.A., & Messerschmitt, D.G. (1987). Synchronous dataflow. Proceedings of the IEEE, 75(9), 1235–1245.CrossRefGoogle 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).Google Scholar
  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.Google Scholar
  19. 19.
    Makhorin, A. (2008). Modeling language GNU mathprog—language reference, draft edition, for GLPK version 4.34. Tech. Rep., Moscow Aviation Institute.Google Scholar
  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.MathSciNetCrossRefGoogle Scholar
  21. 21.
    Marwedel, P., & Goossens, G. (Eds.) (1995). Code generation for embedded processors. Kluwer Academic.Google Scholar
  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).Google Scholar
  23. 23.
    NVIDIA CUDA C Programming Guide (2012). Version 4.2.Google Scholar
  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.CrossRefGoogle 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).Google Scholar
  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).Google Scholar
  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.Google Scholar
  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.Google Scholar
  29. 29.
    Tuttlebee, W. (2002). Software defined radio: Enabling technologies. New York: Wiley.CrossRefGoogle 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).Google Scholar
  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).Google Scholar
  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).Google Scholar

Copyright information

© Springer Science+Business Media New York 2012

Authors and Affiliations

  • George F. Zaki
    • 1
  • William Plishker
    • 1
  • Shuvra S. Bhattacharyya
    • 1
  • Charles Clancy
    • 2
  • John Kuykendall
    • 3
  1. 1.Department of Electrical and Computer EngineeringUniversity of MarylandCollege ParkUSA
  2. 2.Bradley Department of Electrical and Computer EngineeringVirginia TechBlacksburgUSA
  3. 3.Laboratory for Telecommunications SciencesCollege ParkUSA

Personalised recommendations