The problem of programmability on modern heterogeneous multicore and future manycore embedded platforms is still not solved satisfactorily.
Although many existing but incompatible approaches do provide new languages, language extensions and library interfaces that all focus on specific solutions, and powerful analytical models do exist, no single integrated programming model has been proposed yet for software defined radio applications or embedded parallel algorithms in general.
Our API-less programming model, LIME(Less is More) improves upon this situation by decoupling the functional aspects of a radio from hardware-dependent communication or synchronisation aspects.
Unlike the parallel HW architectures for embedded applications, which have converged on a fairly unified template with a heterogeneous Multi-Processor SoC (MPSoC) architecture, the problem of SW programmability on heterogeneous MPSoC architectures, however, is still not solved satisfactorily.
The LIME parallel programming model (PPM) is an integrated approach which combines disciplined use of C for the algorithmic aspects and a straightforward Extensible Markup Language (XML) schema for communication & synchronisation aspects of SDR applications. More than one relevant Model of Computation (MoC) can be expressed with LIME programming model.
Code generation for two very different platforms, the POSIX platform and a Sea-of-DSP (SoD) platform, is further demonstrated and experimental results of using LIME in the design of a Digital Audio Broadcast (DAB) application are reported.
We prove that our approach is effective in practice by porting a radio application to LIME and showing a significant decrease in code complexity without any significant increase in run-time overhead of the generated code.
To read this external content in full, download the complete paper from the author archives at the FreeBSD.org web site.