내장형 스트리밍 어플리케이션을 위한 매개변수 데이터플로우 모델 기반의 C++ 확장

A C++ Extension based on a Parameterized Dataflow Model for Embedded Streaming Applications

  • 발행 : 2009.04.15

초록

내장형 신호처리 시스템의 상당 수는 스트리밍(streaming) 어플리케이션의 특성을 지니고 있다. 데이터플로우(dataflow) 계산모델을 이용하면 스트리밍 프로그래밍 패러다임을 손쉽게 표현할 수 있다. 데이터플로우 계산모델에서는 프로그램의 병렬성이 드러나므로 멀티코어를 위한 병렬 프로그램으로의 컴파일 과정 또한 용이해진다. 우리는 내장형 신호처리 시스템의 스트리밍 특성을 데이터플로우 계산모델에 기반하여 표현하기 위한 언어 확장으로서 SPEX(Signal Processing Extension)을 제안하고자 한다. SPEX는 기존의 명령형언어(imperative language)상에 스트리밍 프로그램밍 패러다임을 표현할 수 있게 한다. SPEX 언어 확장은 매개변수 데이터플로우 계산모델(parameterized dataflow)에 기반하고 있으며, 이를 위해 몇몇의 키워드를 기존의 C++ 언어 더하는 방식으로 이루어져 있다. 본 논문에서는 하나의 필터내에서의 스트리밍 계산 특성 및 필터 간의 스트리밍 데이터 전달을 표현하는 SPEX의 기능에 초점을 맞추고자 한다.

Many DSP systems are streaming applications in which streams of data constantly flow through a set of filters. Dataflow programming paradigm is one of effective methods for representing these streaming applications. Dataflow programming model explicitly exposes parallelisms within an application, which helps compiling of the application onto a multicore platform. We propose SPEX(Signal Processing Extension), a language extension to a standard imperative language based on the parameterized dataflow model. Parameterized dataflow model is a kind of dataflow model that can express a modest fashion of dynamism contrary to the synchronous dataflow that can represent only static dataflow. SPEX facilitates characterizing an application written in conventional imperative languages such C/C++ as a streaming application. SPEX is comprised of a few keywords augmented to the conventional C++ syntax for representing dataflow paradigm. SPEX also restricts the syntax and semantics of C++ in order to fit the program within a certain streaming programming category. In this paper, we focus on the capability of SPEX in representing streaming computations within filters and streaming communications among filters.

키워드

참고문헌

  1. B. Bhattacharya and S. S. Bhattacharyya. Para-meterized Dataflow Modeling for DSP Systems. pages 2408-2421. IEEE Transactions on Signal Processing, Oct. 2001 https://doi.org/10.1109/78.950795
  2. E. Lee and D. Messerschmidt. Synchronous Data Flow. In Proc IEEE, 75, 1235-1245 1987 https://doi.org/10.1109/PROC.1987.13876
  3. Y. Lin et al. SPEX: A Programming Language for Software Defined Radio. In Software Defined Radio Technical Conference and Product Exposition, 2006
  4. Y. Lin, Y. Choi, S. Mahlke, T. Mudge, and C. Chakrabarti. A parameterized dataflow language extension for embedded streaming systems. In Proc. of the 2008 Systems, Architectures, Mode-ling, and Simulation (SAMOS), July 2008. pp.10-17
  5. P. Murthy and E. A. Lee. Multidimensional Syn-chronous Dataflow. In IEEE Transactions on Sig-nal Processing, August 2002 https://doi.org/10.1109/TSP.2002.800830
  6. T. M. Parks, J. L. Pino, and E. A. Lee. A Com-parison of Synchronous and Cyclo-Static Data-flow. In Asiolmar Conference on Signals, Systems and Computers, October 1995
  7. L. Thiele, K. Strehi, D. Ziegenbein, R. Ernst, and J. Teich. FunState - An Internal Representation for Codesign. Proc. International Conference on Computer Aided Design, Nov. 1999
  8. E. A. Lee. Overview of the Ptolemy Project. In Technical Memorandum No. UCB/ERL M03/25, University of California, Berkeley, July 2003
  9. J. T. Buck and E. A. Lee. Scheduling Dynamic Dataflow Graphs With Bounded Memory Using the Token Flow Model. Proc. Int. Conf. Acoust, Speech, Signal Processing, April 1993 https://doi.org/10.1109/ICASSP.1993.319147
  10. C. Park, J. Chung, and S. Ha. Extended Synch-ronous Dataflow for Efficient DSP System Pro-totyping. pages 295-322. Design Automation for Embedded Systems, KIuwer Academic Publishers, March 2002 https://doi.org/10.1023/A:1014070804761
  11. N. Chandrachoodan and S. S. Bhattacharyva. The Hierarchical Timing Pair Model for Multirate DSP Applications. In IEEE Transactions on Signal Processing, volume 52, no. 5, May 2004 https://doi.org/10.1109/TSP.2004.826178
  12. C. Hsu, I. Corretjer, M. Ko, W. Plishker, and S. S. Bhattacharyya. Dataflow interchange format: Language reference for DIF language version 1.0, users guide for DIF package version 1.0. In Technical Report UMIACS- TR-2007-32, Institute for Advanced Computer Studies. University of Maryland at College Park, June 2007
  13. S. Ha, S. Kim, C. Lee, Y. Yi, S. Kwon, and Y. Joo. PeaCE: A Hardware-Software Codesign Environment for Multimedia Embedded Systems. In ACM Transactions on Design Automation of Electronic Systems, Aug. 2007 https://doi.org/10.1145/1255456.1255461
  14. W. Thies, M. Karczmarek, and S. Amarasinghe. StreamIt: A Language for Streaming Applications. In Proc. of the 2002 International Conference on Compiler Construction, June 2002
  15. I. Buck. Brook Language Specification. In http://merrimac.stanford.edu/brook, Oct. 2003
  16. K. Fatahalian et al. Sequoia: Programming the Memory Hierarchy. In Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, Nov. 2006 https://doi.org/10.1109/SC.2006.55