COStream: A Language for Dataflow Application and Compiler

Wei-Wei ZHANG,Hai-Tao WEI,Jun-Qing YU,He LI,Hao LI,Qiu-Ji YANG
DOI: https://doi.org/10.3724/SP.J.1016.2013.01993
2013-01-01
Jisuanji Xuebao/Chinese Journal of Computers
Abstract:Dataflow programming has been applied to a large number of media processing and network processing applications. But the complexity of underlying computation, storage and communication in the multicore systems puts forward new challenge for the performance of dataflow application. Besides, the programmability and portability are also the challenges for the compiler. To deal with these problems, we design and implement a new dataflow programming language COStream and the compilation system. The COStream language aims to provide a natural, high-level syntax that improves programmer productivity in the streaming domain. At the same time, the language imposes a hierarchical structure on the stream graph that enables novel representations and optimizations within the COStream compiler. It translates COStream program to the dataflow graph as a middle representation. According to the characteristics of the target architecture, the compiler applies parallel optimization, constructs the pipeline scheduling and generates the object code. We implement the compilation framework on X86 architecture and the experiments demonstrate that the COStream is scalable with processor cores and nearly reaches linear speedup on processors.
What problem does this paper attempt to address?