High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation

被引:3
|
作者
Mainland, Geoffrey [1 ]
Shanmugam, Siddhanathan [1 ]
机构
[1] Drexel Univ, Comp Sci, Philadelphia, PA 19104 USA
关键词
software-defined radio; domain-specific languages; compilers; partial evaluation; PROGRAMMING LANGUAGE;
D O I
10.1145/3122948.3122950
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Software-defined radio (SDR) is a challenging domain for language designers. To be useful in the real world, radio protocol implementations must operate at high data rates with low latency, yet to be useful to implementers, a language should allow programmers to express algorithms at a high level of abstraction without having to worry about the very low-level details that are necessary for meeting performance requirements. Ziria [27] demonstrated that a high-level language for writing wireless physical layer (PHY) protocols could be competitive with hand-written C++, but only in a context where performance-critical computations, such as FFT and Viterbi, were still written in C++ and accessed via a foreign function interface. We demonstrate that a new implementation of Ziria, embodied in the kzc compiler, allows even performance-critical blocks such as FFT and Viterbi to be written in a high-level language without sacrificing performance. Because kzc performs whole-program optimization, a radio protocol pipeline using an implementation of Viterbi written in Ziria can outperform an implementation that calls out to C++. The contributions of this paper fall into two categories. First, we describe two new optimizations in kzc, both of which are critical for wringing performance out of high-level code: an aggressive partial evaluator for Ziria programs, and an automatic lookup-table (LUT) generator. Second, we show how these optimizations allow the efficient implementation of three performance-critical blocks in Ziria: Viterbi decoding, the Fast Fourier Transform (FFT), and the inverse Fast Fourier Transform (IFFT).
引用
收藏
页码:1 / 11
页数:11
相关论文
共 50 条
  • [1] Verifying Low-Level Implementations of High-Level Datatypes
    Conway, Christopher L.
    Barrett, Clark
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2010, 6174 : 306 - 320
  • [2] Comparing high-level and low-level implementations of a molecular dynamics algorithm
    Travieso, G
    [J]. SECOND INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1997, : 130 - 134
  • [3] VERIFICATION OF HIGH-LEVEL PROTOCOL IMPLEMENTATIONS
    WEAVING, K
    [J]. COMPUTER COMMUNICATIONS, 1981, 4 (02) : 56 - 60
  • [4] The High Road to Formal Validation: Model Checking High-Level Versus Low-Level Specifications
    Leuschel, Michael
    [J]. ABSTRACT STATE MACHINES, B AND Z, PROCEEDINGS, 2008, 5238 : 4 - 23
  • [5] AsmetaSMV: A Way to Link High-Level ASM Models to Low-Level NuSMV Specifications
    Arcaini, Paolo
    Gargantini, Angelo
    Riccobene, Elvinia
    [J]. ABSTRACT STATE MACHINES, ALLOY, B AND Z, PROCEEDINGS, 2010, 5977 : 61 - +
  • [6] High-level views on low-level representations
    Diatchki, IS
    Jones, MP
    Leslie, R
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (09) : 168 - 179
  • [7] The High-Level Benefits of Low-Level Sandboxing
    Sammler, Michael
    Garg, Deepak
    Dreyer, Derek
    Litak, Tadeusz
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (POPL):
  • [8] LOW-LEVEL WASTE, HIGH-LEVEL PROBLEM
    SKERRETT, PJ
    [J]. TECHNOLOGY REVIEW, 1991, 94 (06): : 9 - &
  • [9] HIGH-LEVEL BINDING WITH LOW-LEVEL LINKERS
    HAMLET, RG
    [J]. COMMUNICATIONS OF THE ACM, 1976, 19 (11) : 642 - 644
  • [10] LOW-LEVEL RADIATION - HIGH-LEVEL CONCERN
    HOLDEN, C
    [J]. SCIENCE, 1979, 204 (4389) : 155 - 158