skip to main content
research-article

Ziria: A DSL for Wireless Systems Programming

Published:14 March 2015Publication History
Skip Abstract Section

Abstract

Software-defined radio (SDR) brings the flexibility of software to wireless protocol design, promising an ideal platform for innovation and rapid protocol deployment. However, implementing modern wireless protocols on existing SDR platforms often requires careful hand-tuning of low-level code, which can undermine the advantages of software. Ziria is a new domain-specific language (DSL) that offers programming abstractions suitable for wireless physical (PHY) layer tasks while emphasizing the pipeline reconfiguration aspects of PHY programming. The Ziria compiler implements a rich set of specialized optimizations, such as lookup table generation and pipeline fusion. We also offer a novel -- due to pipeline reconfiguration -- algorithm to optimize the data widths of computations in Ziria pipelines. We demonstrate the programming flexibility of Ziria and the performance of the generated code through a detailed evaluation of a line-rate Ziria WiFi 802.11a/g implementation that is on par and in many cases outperforms a hand-tuned state-of-the-art C++ implementation on commodity CPUs.

References

  1. 3GPP 36.211. Evolved universal terrestrial radio access (e-utra) - physical channels and modulation. URL http://www.3gpp.org/DynaReport/36211.htm.Google ScholarGoogle Scholar
  2. 3GPP 36.212. Evolved universal terrestrial radio access (e-utra) - multiplexing and channel coding. URL http://www.3gpp.org/DynaReport/36212.htm.Google ScholarGoogle Scholar
  3. 3GPP 36.213. Evolved universal terrestrial radio access (e-utra) - physical layer procedures. URL http://www.3gpp.org/DynaReport/36213.htm.Google ScholarGoogle Scholar
  4. Joshua Auerbach, David F. Bacon, Perry Cheng, and Rodric Rabbah. Lime: A java-compatible and synthesizable language for heterogeneous architectures. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '10, pages 89--108, 2010. ISBN 978--1--4503-0203--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Emil Axelsson, Koen Claessen, Gergely Dévai, Zoltán Horváth, Karin Keijzer, Anders Persson, Mary Sheeran, Josef Svenningsson, András Vajda, et al. Feldspar: A domain specific language for digital signal processing algorithms. In FMMC, 2010.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. H. V. Balan, M. Segura, S. Deora, A. Michaloliakos, R. Rogalin, K. Psounis, and G. Caire. USC SDR, an easy-to-program, high data rate, real time software radio platform. In Software Radio Implementation Forum, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Manu Bansal, Jeffrey Mehlman, Sachin Katti, and Philip Levis. OpenRadio: a programmable wireless dataplane. In HotSDN, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Bansal, B. Chen, P. Sinha, and K. Srinivasan. Symphony: Cooperative packet recovery over the wired backbone in enterprise WLANs. In MOBICOM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gérard Berry and Georges Gonthier. The ESTEREL synchronous programming language: Design, semantics, implementation. SCP, 19 (2), 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bishnupriya Bhattacharya and Shuvra S Bhattacharyya. Parameterized dataflow modeling for dsp systems. Signal Processing, IEEE Transactions on, 49 (10): 2408--2421, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. B. Bloessl, M. Segata, C. Sommer, and F. Dressler. An IEEE 802.11a/g/p OFDM receiver for GNU radio. In SRIF, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Eric Blossom. GNURadio: tools for exploring the radio frequency spectrum. Linux Journal, 2004 (122): 4, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Bricks. Microsoft Research, Brick specification, 2011. URL http://research.microsoft.com/apps/pubs/default.aspx?id=160800.Google ScholarGoogle Scholar
  14. Magnus Carlsson and Thomas Hallgren. Fudgets - Purely Functional Processes with applications to Graphical User Interfaces. Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie, no: 1366. Institutionen för datavetenskap, Chalmers tekniska högskola, 1998. ISBN 91--7197--611--6.Google ScholarGoogle Scholar
  15. Paul Caspi. Lucid Synchrone. In Actes du colloque INRIA OPOPAC, Lacanau. HERMES, November 1993.Google ScholarGoogle Scholar
  16. Paul Caspi and Marc Pouzet. Lucid Synchrone, a functional extension of Lustre. Technical report, Univ. Pierre et Marie Curie, Lab. LIP6, 2000.Google ScholarGoogle Scholar
  17. Antony Courtney and Conal Elliott. Genuinely functional user interfaces. In Haskell Workshop, 2001.Google ScholarGoogle Scholar
  18. Demo. Ziria WiFi demo. URL http://research.microsoft.com/apps/video/default.aspx?id=228361.Google ScholarGoogle Scholar
  19. A. Dutta, D. Saha, D. Grunwald, and D. Sicker. CODIPHY: Composing on-demand intelligent physical layers. In SRIF, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Conal Elliott. Push-pull functional reactive programming. In Haskell Symposium, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Conal Elliott and Paul Hudak. Functional reactive animation. In ACM SIGPLAN Notices, volume 32, pages 263--273. ACM, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. GitHub. Ziria github repository. URL https://github.com/dimitriv/Ziria.Google ScholarGoogle Scholar
  23. GSM. Fairwaves GSM base-station. URL https://fairwaves.co/wp/.Google ScholarGoogle Scholar
  24. John Hughes. Generalising monads to arrows. SCP, 37 (1--3), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 999)}80211aIEEE. Part 11: Wireless LAN MAC and PHY specifications high-speed physical layer in the 5 GHz band, 1999. URL http://standards.ieee.org/getieee802/download/802.11a-1999.pdf.Google ScholarGoogle Scholar
  26. F. P. Kelly. Charging and rate control for elastic traffic. European Transactions on Telecommunications, 8: 33--37, 1997.Google ScholarGoogle Scholar
  27. A Solar Lezama. Program synthesis by sketching. PhD thesis, Citeseer, 2008.Google ScholarGoogle Scholar
  28. T. Li, M. K. Han, A. Bhartia, L. Qiu, E. Rozner, Y. Zhang, and B. Zarikoff. CRMA: Collision-resistant multiple access. In MOBICOM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Lyrtech. Lyrtech. URL http://intrinsic.lyrtech.com/.Google ScholarGoogle Scholar
  30. Mathworks. Simulink. URL http://www.mathworks.co.uk/products/simulink/.Google ScholarGoogle Scholar
  31. Microsoft. Windows driver kit version 7. URL http://www.microsoft.com/en-us/download/details.aspx?id=11800.Google ScholarGoogle Scholar
  32. Eugenio Moggi. Notions of computation and monads. Inf. Comput., 93 (1), 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Patrick Murphy, Ashu Sabharwal, and Behnaam Aazhang. Design of WARP: a wireless open-access research platform. In ESPC, 2006.Google ScholarGoogle Scholar
  34. Myriad. MyriadRF open source wireless hardware. URL http://myriadrf.org/.Google ScholarGoogle Scholar
  35. Man Cheuk Ng, Kermin Elliott Fleming, Mythili Vutukuru, Samuel Gross, Arvind, and Hari Balakrishnan. Airblue: a system for cross-layer wireless protocol development. In Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS '10, page 4:1--4:11, New York, NY, USA, 2010. ACM. ISBN 978--1--4503-0379--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. NI. National instruments, LabVIEW. URL http://www.ni.com/labview/.Google ScholarGoogle Scholar
  37. OFDM. GNU Radio OFDM implementation. URL http://gnuradio.org/redmine/projects/gnuradio/repository/changes/gr-digital/python/digital/ofdm_receiver.py?rev=master.Google ScholarGoogle Scholar
  38. John Peterson, Paul Hudak, and Conal Elliott. Lambda in motion: Controlling robots with haskell. In Proceedings of the First International Workshop on Practical Aspects of Declarative Languages, PADL '99, pages 91--105, London, UK, UK, 1998. Springer-Verlag. ISBN 3--540--65527--1. URL http://dl.acm.org/citation.cfm?id=645769.667757. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Pipes. Haskell Pipes Tutorial. URL http://hackage.haskell.org/package/pipes-4.0.0/docs/Pipes-Tutorial.html.Google ScholarGoogle Scholar
  40. hel et al.(2005)Püschel, Moura, Johnson, Padua, Veloso, Singer, Xiong, Franchetti, Gacic, Voronenko, Chen, Johnson, and Rizzolo}Puschel:05Markus Püschel, José M. F. Moura, Jeremy Johnson, David Padua, Manuela Veloso, Bryan Singer, Jianxin Xiong, Franz Franchetti, Aca Gacic, Yevgen Voronenko, Kang Chen, Robert W. Johnson, and Nicholas Rizzolo. SPIRAL: Code generation for DSP transforms. Proceedings of the IEEE, special issue on "Program Generation, Optimization, and Adaptation", 93 (2): 232-- 275, 2005.Google ScholarGoogle Scholar
  41. S. Rayanchu, A. Mishra, D. Agrawal, S. Saha, and Suman Banerjee. Diagnosing wireless packet losses in 802.11: Separating collision from weak signal. In INFOCOM 2008. The 27th Conference on Computer Communications. IEEE, April 2008.Google ScholarGoogle ScholarCross RefCross Ref
  42. T. Rondeau, N. McCarthy, and T. O'Shea. SIMD programming in GNURadio: Maintainable and user-friendly algorithm optimization with VOLK. In SDR WinnComm, 2013.Google ScholarGoogle Scholar
  43. Saankhya. Saankhya labs, multi-standard modems. URL http://www.saankhyalabs.com.Google ScholarGoogle Scholar
  44. S. Sen, R. R. Choudhury, and S. Nelakuditi. No time to countdown: Migrating backoff to the frequency domain. In MOBICOM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Tan, Zhang, Fang, Liu, Ye, Wang, Zhang, Wu, Wang, and Voelker}TanSora09K. Tan, J. Zhang, J. Fang, H. Liu, Y. Ye, S. Wang, Y. Zhang, H. Wu, W. Wang, and G. Voelker. Sora: High performance software radio using general purpose multi-core processors, 2009\natexlaba.Google ScholarGoogle Scholar
  46. Tan, Zhang, Fang, Liu, Ye, Wang, Zhang, Wu, Wang, and Voelker}tan_sora:_2009Kun Tan, Jiansong Zhang, Ji Fang, He Liu, Yusheng Ye, Shen Wang, Yongguang Zhang, Haitao Wu, Wei Wang, and Geoffrey M. Voelker. Sora: high performance software radio using general purpose multi-core processors. In Proceedings of the 6th USENIX symposium on {N}etworked {S}ystems {D}esign and {I}mplementation, NSDI'09, pages 75--90, Berkeley, CA, USA, 2009. USENIX Association. URL http://dl.acm.org/citation.cfm?id=1558977.1558983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Colin J Taylor. Formalising and reasoning about Fudgets. PhD thesis, University of Nottingham, 1998.Google ScholarGoogle Scholar
  48. William Thies, Michal Karczmarek, and Saman Amarasinghe. StreamIt: A language for streaming applications. In CC, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. TMS320. Texas Instruments TMS320TCI6616 Communications Infrastructure KeyStone SoC. URL http://www.ti.com/lit/ds/sprs624d/sprs624d.pdf.Google ScholarGoogle Scholar
  50. USRP. Ettus Research, USRP: Universal Software Radio Peripheral. URL http://www.ettus.com/.Google ScholarGoogle Scholar
  51. Volo. Volo Wireless, low-cost last mile broadband. URL http://www.volowireless.com/.Google ScholarGoogle Scholar
  52. Voronenko, Arbatov, Berger, Peng, Puschel, and Franchetti}Voronenko10Y. Voronenko, V. Arbatov, C. Berger, R. Peng, M. Puschel, and F. Franchetti. Computer generation of platform-adapted physical layer software. In Proc. Software Defined Radio (SDR), 2010\natexlaba.Google ScholarGoogle Scholar
  53. Voronenko, Arbatov, Berger, Peng, Pueschel, and Franchetti}voronenko2010computerY Voronenko, V Arbatov, CR Berger, R Peng, M Pueschel, and F Franchetti. Computer generation of platform-adapted physical layer software. Proceedings Software Defined Radio (SDR), 2010\natexlabb.Google ScholarGoogle Scholar

Index Terms

  1. Ziria: A DSL for Wireless Systems Programming

        Recommendations

        Reviews

        Debraj De

        Software-defined radio (SDR) facilitates innovation in various wireless protocol designs and deployments. In SDR, a lot of conventional radio hardware components are replaced by efficient software components such as modulators-demodulators, mixers, filters, and many other signal processing capabilities. In existing works and platforms for SDR programming, the low-level codes require manual optimizations that affect the ease and flexibility of programming. In this situation, this work proposes Ziria, a new high-level programming language for SDR. As claimed, this work is probably the first to design a high-level programming language for SDR that can concisely capture and optimize for reconfigurations of pipelines in the physical (PHY) layer. Ziria is designed with domain-specific abstractions. This is suitable for wireless protocols programming in SDR with reconfigurable pipelines and an efficient compilation scheme. The compilation supports limited coarse-grained pipeline parallelism and generates efficient executables for use on commodity central processing units (CPUs). Ziria implements a novel algorithm for vectorization that optimizes the data widths of components in processing pipelines in the PHY layer. This has been shown to provide a combined 10 to 100 times speedup over baseline, amplifying the effects of other optimizations. In the main body of this paper, first the description of programming in Ziria explains stream programming abstractions, which can compose two types of computations together: stream transformers (with input and output streams) and stream computers (with input and output streams, and also additional control value return). Then, the compositions of control path and data path are described. This description is followed by a Wi-Fi receiver pipeline example and a detailed description of Ziria pipeline execution. Second, the vectorization transformation is described in detail, which is the main optimization in the Ziria compiler. The designed decentralized vectorization algorithm identifies sets of feasible vectorizations for transformers and computers in a top-down fashion, and then composes feasible vectorization candidates together in a bottom-up fashion. Finally, some other type- and semantics-preserving optimizations by Ziria are also described. This involves static scheduling optimizations and lookup table generation. Ziria has been demonstrated with an implementation of the rate-compliant PHY layer for Wi-Fi 802.11a/g. Ziria framework performance is evaluated on various digital signal processing (DSP) algorithms belonging to standard Wi-Fi transceivers. It also often showed to outperform hand-tuned C++ implementations on commodity CPUs of existing works in SDR. Overall, this is a great work of very high quality for the SDR platform and language. Relevant readers are highly encouraged to read this work. The compiler, test suite, and Wi-Fi implementations of this work are also publicly available in the GitHub repository (reference [1] in paper). Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 50, Issue 4
          ASPLOS '15
          April 2015
          676 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2775054
          • Editor:
          • Andy Gill
          Issue’s Table of Contents
          • cover image ACM Conferences
            ASPLOS '15: Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems
            March 2015
            720 pages
            ISBN:9781450328357
            DOI:10.1145/2694344

          Copyright © 2015 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 14 March 2015

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!