WG211/M19Mainland
Compiling Low-level Radio Protocols by Geoffrey Mainland
Implementing a physical-layer (PHY) radio protocol, like 802.11, requires expert knowledge of both digital signal processing techniques and---since performance is critically important---the low-level details of the platform on which the PHY layer will run. However, even for an expert, development is painful---there are no good constructs for writing *compositional* code in this domain while simultaneously meeting performance requirements, and code that does meet performance requirements is invariable tied to a specific platform. I will discuss new language abstractions that, along with compiler optimizations, allow an expert programmer to write compositional code without sacrificing (too much) performance. I will also make the case that these language constructs can be mapped to efficient code on several different kinds of platforms, including CPUs, DSPs, and FPGAs. Furthermore, many of these abstractions are not tied to PHY protocols, but could be applied to many sorts of streaming computations.