期刊文献+

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

COStream:A Language for Dataflow Application and Compiler
下载PDF
导出
摘要 数据流编程模型作为高效的并行编程模型被广泛应用于媒体处理和网络服务等应用中.然而,多/众核结构的底层计算、存储和通信的复杂性对数据流程序的性能提出了新的挑战,数据流程序在不同的多/众核结构上的可移植性和可编程性也为编译器提出了更高的要求.针对数据流程序所面临的问题,提出并设计实现一种数据流编程模型——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.
出处 《计算机学报》 EI CSCD 北大核心 2013年第10期1993-2006,共14页 Chinese Journal of Computers
基金 国家"八六三"高技术研究发展计划项目基金(2012AA010902) 高等学校博士学科点专项科研基金(20120142110089) 中国科学院计算技术研究所国家重点实验室开放基金(ICT-ARCH200804) IBM X10 Innovation基金资助~~
关键词 多核处理器 数据流 编译 COStream many-core processor dataflow programs compilation COStream
  • 相关文献

参考文献24

  • 1Gordon M I, Thies W, Karczmarek M, et al. A stream com- piler for communication-exposed architectures//Proceedings of the 10th International Conference of Architectural Support for Programming Languages and Operating Systems. New York, NY, USA, 2002: 291-303.
  • 2Wei Hai-Tao, Qin Ming-Kang, Zhang Wei Wei, et al. Stre amTMC Stream compilation for tiled multi core arehitec tures. Journal of Parallel and Distributed Computing, 2013 73(4) :484-494.
  • 3Dally W, Labonte F, Das A, et al. Merrimac: Supercomput ing with Streams//Proceedings of the ACM/IEEE Confer ence on Supercomputing. New York, NY, USA, 2003 35-42.
  • 4Hofstee H. Power efficient processor architecture and the Cell processor//Proceedings of the 11th International Symposium on High-Performance Computer Architecture. Washington, DC, USA, 2005: 258-262.
  • 5Thies W, Karczmarek M, Amarasinghe S. StreamIt: A language for streaming applications//Proceedings of the llth International Conference on Compiler Construction. London, UK, 2002:179-196.
  • 6Buck I, Foley T, Horn D, et al. Brook for GPUs: Stream computing on graphics hardware. ACM Transactions on Graphics, 2004, 23(3): 777 -786.
  • 7Mark W, Steven R, Kurt G, et al. Cg: A system for programming graphics hardware in a C-like language. ACM Transactions on Graphics, 2003, 22(3): 893-907.
  • 8Wei Hai-Tao, Yu Jun-Qing, Yu Hua-Fei, et al. Minimizing communication in rate optimal software pipelining for stream programs//Proceedings of the 8th Annual IEEE/ACM Inter national Symposium on Code Generation and Optimization. New York, NY, USA, 2010 : 210-217.
  • 9Mernik M, Heering J, Sloane A. When and how to develop domain-specific languages. ACM Computing Surveys, 2005, 37(4) : 316-344.
  • 10ETI. SWARM: Scalable performance optimization for multi core/multi-node. White paper, 2011.

同被引文献63

  • 1沈轶炜,曾国荪.异构计算中一种图的非均衡划分算法[J].计算机科学,2006,33(6):260-263. 被引量:7
  • 2Taylor M,Kim J,Miller J,et al.The raw microprocessor:A computational fabric for software circuits and general purpose programs.IEEE Micro,2002,22(2):25-35.
  • 3Tan G,Fan D,Zhang J,et al.Experience on optimizing irregular computation for memory hierarchy in manycore architecture//Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Program ming.New York,USA,2008:279-280.
  • 4Khailany B,Dally W,Kapasi U,et al.Imagine:Media processing with streams.IEEE Micro,2001,21(2):35-46.
  • 5Dally W,Labonte F,Das A,et al.Merrimac:Supercomputing with streams//Proceedings of the 2003 ACM/IEEE Conference on Supercomputing.New York,USA,2003:35-42.
  • 6Hofstee H.Power efficient processor design and the cell processor//Proceedings of the 11th International Symposium on High-Performance Computer Architecture.San Francisco,USA,2005:258-262.
  • 7Thies W,Karczmarek M,Amarasinghe S.StreamIt:A language for streaming applications//Proceedings of the 11th Compiler Construct.London,UK,2002:179-196.
  • 8Mark W,Glanville R,Akeley K,et al.Cg:A system for programming graphics hardware in a C-like language.ACM Transactions on Graphics,2003,22(3):896-907.
  • 9Gordon M,Thies W,Amarasinghe S.Exploiting coarse grained task,data,and pipeline parallelism in stream programs//Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems.New York,USA,2006:151-162.
  • 10Berger S,Stamatakis A.Assessment of barrier implementa tions for fine grain parallel regions on current multi-core architectures//Proceedings of the 2010 IEEE International Conference on Cluster Computing.Heraklion,Crete,2010:1-8.

引证文献10

二级引证文献23

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部