Where academic tradition
meets the exciting future

The Canals Language and its Compiler

Andreas Dahlin, Johan Ersfolk, Guifu Yang, Haitham Habli, Johan Lilius, The Canals Language and its Compiler. In: SCOPES '09: Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems, 2009.

Abstract:

Stream-based computing as embodied in stream-programming environments and streaming languages has attracted quite a lot of interest as a potential solution to programming many-cores. Modern embedded multimedia devices embody many characteristics of stream-based computing with the additional constraint on energy-consumption. In this paper we present a new streaming language Canals together with its compiler. Canals proposes the following novel features: 1. The ability to describe the scheduling of the computation kernels: Canals has a sub-language for describing schedulers and run-time system support. 2. The ability to detect type of data on the inputs of a network (the scheduling is often dependent on the data at run-time): Canals provides bit-stream parsing through automatic deserialization of data in network inputs. 3. Choice of synchronization mechanism between computational kernels and the scheduler to avoid overheads. This is implemented in the run-time system through the Hardware Abstraction Layer (HAL). We describe the language and the code-generators for the Cell processor and the Altera FPGA board.

BibTeX entry:

@INPROCEEDINGS{inpDaErYaHaLi09a,
  title = {The Canals Language and its Compiler},
  booktitle = {SCOPES '09: Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems},
  author = {Dahlin, Andreas and Ersfolk, Johan and Yang, Guifu and Habli, Haitham and Lilius, Johan},
  year = {2009},
}

Belongs to TUCS Research Unit(s): Embedded Systems Laboratory (ESLAB)

Edit publication