Dataflow Block Clustering for Parallel Embedded Software Development Environment

병렬 내장형 소프트웨어 개발환경을 위한 데이터 플로우 블록 클러스터링

  • 조용우 (서울대학교 전기컴퓨터공학부) ;
  • 권성남 (서울대학교 전기컴퓨터공학부) ;
  • 하순회 (서울대학교 전기컴퓨터공학부)
  • Published : 2008.06.30

Abstract

갈수록 복잡해지는 내장형 시스템을 개발함에 있어서 소프트웨어 개발의 중요성은 날로 커지고 있다. 기존 연구에서 소프트웨어 개발 효율을 높이기 위해 소프트웨어의 재사용 가능성을 높이고 병렬성 명세를 용이하게 하고자 중간단계코드(CIC)를 정의하였다. 이 중간단계 코드는 각 태스크의 순수 알고리즘을 기술하는 C형태의 태스크 코드와 그 외의 정보를 포함하는 XML형태의 아키텍쳐 정보 파일로 구성된다. 이 CIC는 사용자가 직접 기술할 수 있고 각종 모델로부터 자동 생성할 수도 있다. 이 논문에서는 후자에 초점을 두고 데이터 플로우 모델에 사용된 블록들을 클러스터링하여 태스크 코드를 생성하는 기법을 제안하였다. 이것을 위해 블록 클러스터링 알고리즘은 주어진 클러스터의 크기로 블록이 묶일 때까지 블록의 수행시간 정보를 고려하여 함수 병렬성을 최대한 보존하며 블록들을 묶어나간다. H.263 코덱 예제를 이용한 실험을 통해 제안하는 방법이 다양한 클러스터의 크기 조건에 대해서 다양한 클러스터링 결과를 제공함을 보였다.

Keywords