Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Ziria: A DSL for Wireless Systems Programming

Published: 14 March 2015 Publication History

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.
[2]
3GPP 36.212. Evolved universal terrestrial radio access (e-utra) - multiplexing and channel coding. URL http://www.3gpp.org/DynaReport/36212.htm.
[3]
3GPP 36.213. Evolved universal terrestrial radio access (e-utra) - physical layer procedures. URL http://www.3gpp.org/DynaReport/36213.htm.
[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.
[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.
[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.
[7]
Manu Bansal, Jeffrey Mehlman, Sachin Katti, and Philip Levis. OpenRadio: a programmable wireless dataplane. In HotSDN, 2012.
[8]
T. Bansal, B. Chen, P. Sinha, and K. Srinivasan. Symphony: Cooperative packet recovery over the wired backbone in enterprise WLANs. In MOBICOM, 2013.
[9]
Gérard Berry and Georges Gonthier. The ESTEREL synchronous programming language: Design, semantics, implementation. SCP, 19 (2), 1992.
[10]
Bishnupriya Bhattacharya and Shuvra S Bhattacharyya. Parameterized dataflow modeling for dsp systems. Signal Processing, IEEE Transactions on, 49 (10): 2408--2421, 2001.
[11]
B. Bloessl, M. Segata, C. Sommer, and F. Dressler. An IEEE 802.11a/g/p OFDM receiver for GNU radio. In SRIF, 2013.
[12]
Eric Blossom. GNURadio: tools for exploring the radio frequency spectrum. Linux Journal, 2004 (122): 4, 2004.
[13]
Bricks. Microsoft Research, Brick specification, 2011. URL http://research.microsoft.com/apps/pubs/default.aspx?id=160800.
[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.
[15]
Paul Caspi. Lucid Synchrone. In Actes du colloque INRIA OPOPAC, Lacanau. HERMES, November 1993.
[16]
Paul Caspi and Marc Pouzet. Lucid Synchrone, a functional extension of Lustre. Technical report, Univ. Pierre et Marie Curie, Lab. LIP6, 2000.
[17]
Antony Courtney and Conal Elliott. Genuinely functional user interfaces. In Haskell Workshop, 2001.
[18]
Demo. Ziria WiFi demo. URL http://research.microsoft.com/apps/video/default.aspx?id=228361.
[19]
A. Dutta, D. Saha, D. Grunwald, and D. Sicker. CODIPHY: Composing on-demand intelligent physical layers. In SRIF, 2013.
[20]
Conal Elliott. Push-pull functional reactive programming. In Haskell Symposium, 2009.
[21]
Conal Elliott and Paul Hudak. Functional reactive animation. In ACM SIGPLAN Notices, volume 32, pages 263--273. ACM, 1997.
[22]
GitHub. Ziria github repository. URL https://github.com/dimitriv/Ziria.
[23]
GSM. Fairwaves GSM base-station. URL https://fairwaves.co/wp/.
[24]
John Hughes. Generalising monads to arrows. SCP, 37 (1--3), 2000.
[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.
[26]
F. P. Kelly. Charging and rate control for elastic traffic. European Transactions on Telecommunications, 8: 33--37, 1997.
[27]
A Solar Lezama. Program synthesis by sketching. PhD thesis, Citeseer, 2008.
[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.
[29]
Lyrtech. Lyrtech. URL http://intrinsic.lyrtech.com/.
[30]
Mathworks. Simulink. URL http://www.mathworks.co.uk/products/simulink/.
[31]
Microsoft. Windows driver kit version 7. URL http://www.microsoft.com/en-us/download/details.aspx?id=11800.
[32]
Eugenio Moggi. Notions of computation and monads. Inf. Comput., 93 (1), 1991.
[33]
Patrick Murphy, Ashu Sabharwal, and Behnaam Aazhang. Design of WARP: a wireless open-access research platform. In ESPC, 2006.
[34]
Myriad. MyriadRF open source wireless hardware. URL http://myriadrf.org/.
[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.
[36]
NI. National instruments, LabVIEW. URL http://www.ni.com/labview/.
[37]
OFDM. GNU Radio OFDM implementation. URL http://gnuradio.org/redmine/projects/gnuradio/repository/changes/gr-digital/python/digital/ofdm_receiver.py?rev=master.
[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.
[39]
Pipes. Haskell Pipes Tutorial. URL http://hackage.haskell.org/package/pipes-4.0.0/docs/Pipes-Tutorial.html.
[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.
[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.
[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.
[43]
Saankhya. Saankhya labs, multi-standard modems. URL http://www.saankhyalabs.com.
[44]
S. Sen, R. R. Choudhury, and S. Nelakuditi. No time to countdown: Migrating backoff to the frequency domain. In MOBICOM, 2011.
[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.
[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.
[47]
Colin J Taylor. Formalising and reasoning about Fudgets. PhD thesis, University of Nottingham, 1998.
[48]
William Thies, Michal Karczmarek, and Saman Amarasinghe. StreamIt: A language for streaming applications. In CC, 2002.
[49]
TMS320. Texas Instruments TMS320TCI6616 Communications Infrastructure KeyStone SoC. URL http://www.ti.com/lit/ds/sprs624d/sprs624d.pdf.
[50]
USRP. Ettus Research, USRP: Universal Software Radio Peripheral. URL http://www.ettus.com/.
[51]
Volo. Volo Wireless, low-cost last mile broadband. URL http://www.volowireless.com/.
[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.
[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.

Cited By

View all
  • (2021)Efficient Open Source Software Radio on Heterogeneous Multicore Embedded PlatformsIEEE Consumer Electronics Magazine10.1109/MCE.2020.301017910:2(27-36)Online publication date: 1-Mar-2021
  • (2024)Complete Stream Fusion for Software-Defined RadioProceedings of the 2024 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation10.1145/3635800.3636962(57-69)Online publication date: 11-Jan-2024
  • (2024)d-GUARD: Thwarting Denial-of-Service Attacks via Hardware Monitoring of Information Flow Using Language Semantics in Embedded SystemsProceedings of the 29th Asia and South Pacific Design Automation Conference10.1109/ASP-DAC58780.2024.10473945(939-944)Online publication date: 22-Jan-2024
  • Show More Cited By

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

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGARCH Computer Architecture News
ACM SIGARCH Computer Architecture News  Volume 43, Issue 1
ASPLOS'15
March 2015
676 pages
ISSN:0163-5964
DOI:10.1145/2786763
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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 March 2015
Published in SIGARCH Volume 43, Issue 1

Check for updates

Author Tags

  1. domain-specific languages
  2. wifi
  3. wireless networking

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)37
  • Downloads (Last 6 weeks)8
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Efficient Open Source Software Radio on Heterogeneous Multicore Embedded PlatformsIEEE Consumer Electronics Magazine10.1109/MCE.2020.301017910:2(27-36)Online publication date: 1-Mar-2021
  • (2024)Complete Stream Fusion for Software-Defined RadioProceedings of the 2024 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation10.1145/3635800.3636962(57-69)Online publication date: 11-Jan-2024
  • (2024)d-GUARD: Thwarting Denial-of-Service Attacks via Hardware Monitoring of Information Flow Using Language Semantics in Embedded SystemsProceedings of the 29th Asia and South Pacific Design Automation Conference10.1109/ASP-DAC58780.2024.10473945(939-944)Online publication date: 22-Jan-2024
  • (2023)DAGGER: Exploiting Language Semantics for Program Security in Embedded Systems2023 24th International Symposium on Quality Electronic Design (ISQED)10.1109/ISQED57927.2023.10129334(1-7)Online publication date: 5-Apr-2023
  • (2022)Bind the gap: compiling real software to hardware FFT acceleratorsProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523439(687-702)Online publication date: 9-Jun-2022
  • (2019)Synthesizing Efficient Hardware from High-Level Functional Hardware Description Languages2019 26th IEEE International Conference on Electronics, Circuits and Systems (ICECS)10.1109/ICECS46596.2019.8964954(634-637)Online publication date: Nov-2019
  • (2018)RHEA: a reactive, heterogeneous, extensible, and abstract framework for dataflow programmingProceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems10.1145/3281278.3281279(11-20)Online publication date: 4-Nov-2018
  • (2017)The Tick Programmable Low-Latency SDR SystemProceedings of the 23rd Annual International Conference on Mobile Computing and Networking10.1145/3117811.3117834(101-113)Online publication date: 4-Oct-2017
  • (2017)Better living through operational semantics: an optimizing compiler for radio protocolsProceedings of the ACM on Programming Languages10.1145/31102631:ICFP(1-26)Online publication date: 29-Aug-2017
  • (2017)Faster coroutine pipelinesProceedings of the ACM on Programming Languages10.1145/31102491:ICFP(1-23)Online publication date: 29-Aug-2017
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media