COStream:一种面向数据流的编程语言和编译器实现  被引量:10

COStream:A Language for Dataflow Application and Compiler

在线阅读下载全文

作  者:张维维[1] 魏海涛[1] 于俊清[1,2] 李鹤[1] 黎昊[1] 杨秋吉[1] 

机构地区:[1]华中科技大学计算机科学与技术学院,武汉430074 [2]华中科技大学网络与计算中心,武汉430074

出  处:《计算机学报》2013年第10期1993-2006,共14页Chinese Journal of Computers

基  金:国家"八六三"高技术研究发展计划项目基金(2012AA010902);高等学校博士学科点专项科研基金(20120142110089);中国科学院计算技术研究所国家重点实验室开放基金(ICT-ARCH200804);IBM X10 Innovation基金资助~~

摘  要:数据流编程模型作为高效的并行编程模型被广泛应用于媒体处理和网络服务等应用中.然而,多/众核结构的底层计算、存储和通信的复杂性对数据流程序的性能提出了新的挑战,数据流程序在不同的多/众核结构上的可移植性和可编程性也为编译器提出了更高的要求.针对数据流程序所面临的问题,提出并设计实现一种数据流编程模型——COStream数据流编程语言及其编译系统,提高了数据流程序的可编程性.COStream在C语言文法的基础上加入表征数据流图的文法结构,文法结构清晰,具有良好的可重用性和可扩展性.COStream编译系统利用同步数据流图作为中间表示,根据目标系统的结构特点对数据流程序进行并行优化并构造流水线调度,进而生成高效的可并行执行的目标代码.在X86多核架构下实现了COStream编译系统,并对该领域的多个实验程序进行了测试,测试结果表明,COStream具有良好的可扩展性和高加速比.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 data-flow 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.

关 键 词:多核处理器 数据流 编译 COStream 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象