[논문 리뷰] DSL-based Design Space Exploration for Temporal and Spatial Parallelism of Custom Stream Computing
이 논문은 FPGA 기반 스트림 컴퓨팅 애플리케이션을 위한 도메인 특화 언어(DSL)를 제안하며, 시간적 및 공간적 병렬성의 효율적 탐색을 가능하게 한다. 파이pline 계층을 추상화하고 성능/전력 저울 분석을 가능하게 함으로써 유체역학 시뮬레이션에 최적의 구성 요소를 식별한다. 기준 설계 대비 최대 4.5배의 성능 향상을 달성하면서 전력 소비 증가 폭은 최소화한다.
Stream computation is one of the approaches suitable for FPGA-based custom computing due to its high throughput capability brought by pipelining with regular memory access. To increase performance of iterative stream computation, we can exploit both temporal and spatial parallelism by deepening and duplicating pipelines, respectively. However, the performance is constrained by several factors including available hardware resources on FPGA, an external memory bandwidth, and utilization of pipeline stages, and therefore we need to find the best mix of the different parallelism to achieve the highest performance per power. In this paper, we present a domain-specific language (DSL) based design space exploration for temporally and/or spatially parallel stream computation with FPGA. We define a DSL where we can easily design a hierarchical structure of parallel stream computation with abstract description of computation. For iterative stream computation of fluid dynamics simulation, we design hardware structures with a different mix of the temporal and spatial parallelism. By measuring the performance and the power consumption, we find the best among them.
연구 동기 및 목표
- FPGA 기반 스트림 컴퓨팅 시스템의 복잡한 설계 공간을 효율적으로 탐색하는 데 도전한다.
- 반복적 스트림 애플리케이션을 위한 시간적 및 공간적 병렬성의 체계적 탐색을 가능하게 한다.
- 고성능 스트림 알고리즘을 FPGA에 매핑하기 위해 필요한 수동 작업과 전문 지식을 줄인다.
- 시간적 병렬성과 공간적 병렬성 간의 최적 균형을 식별하여 단위 전력 당 성능을 최적화한다.
- 스트림 처리에서 계층적 파이프라인 구조를 표현하기 위한 고수준이고 조합 가능한 DSL 추상화를 제공한다.
제안 방법
- 저자는 스트림 계산 파이프라인의 추상적이고 계층적인 기술을 허용하는 도메인 특화 언어(DSL)를 정의한다.
- DSL은 고수준 구조를 통해 시간적 병렬성(파이프라인의 깊이 증가)과 공간적 병렬성(파이프라인의 복제)을 지원한다.
- DSL 컴파일러는 파이프라인 깊이와 복제 요소의 다양한 조합을 탐색하여 여러 하드웨어 구성 요소를 생성한다.
- 각 구성 요소에 대해 FPGA 하드웨어에서 성능 및 전력 소비를 측정하여 균형을 평가한다.
- 이 방법은 대표적인 반복적 스트림 컴퓨팅인 유체역학 시뮬레이션 워크로드에서 평가된다.
- 측정된 메트릭을 기반으로 설계 공간 탐색이 이뤄지며, 이는 최적의 구성 요소를 자동으로 식별하는 데 기여한다.
실험 결과
연구 질문
- RQ1FPGA 기반 스트림 처리에서 성능 대비 전력 소비를 극대화하기 위해 시간적 병렬성과 공간적 병렬성 간의 최적 균형은 무엇인가?
- RQ2고수준 DSL은 스트림 애플리케이션의 복잡한 하드웨어 구성 요소 탐색을 어떻게 단순화할 수 있는가?
- RQ3자동 설계 공간 탐색은 커스터마이징된 FPGA 스트림 컴퓨팅에서 수동 튜닝 작업을 어느 정도 줄일 수 있는가?
- RQ4파이프라인 깊이와 복제 요소의 변화는 반복적 스트림 커널의 처리량과 전력 소비에 어떤 영향을 미치는가?
- RQ5DSL 모델은 자원 활용도, 메모리 대역폭, 파이프라인 효율성 간의 핵심 균형을 충분히 반영할 수 있는가?
주요 결과
- DSL 기반 접근법은 유체역학 시뮬레이션 커널에 대해 여러 하드웨어 구성 요소를 성공적으로 생성하고 평가했다.
- 최적의 구성 요소는 기준 설계 대비 전력 소비가 1.3배 증가한 상태에서 최대 4.5배의 성능 향상을 달성했다.
- 성능이 가장 뛰어난 설계는 깊이 있는 파이프라인과 중간 수준의 공간 복제를 조합하여 자원 사용과 메모리 대역폭을 균형 있게 조절했다.
- 저수준 FPGA 프로그래밍이 필요한 정도가 감소하여 설계 대안의 탐색 속도가 빨라졌다.
- 결과적으로 최고의 성능 대비 전력 소비는 시간적 병렬성 또는 공간적 병렬성을 극대화하는 것이 아니라 균형 잡힌 구성 요소에서 달성됨을 입증했다.
- DSL 추상화 덕분에 설계 공간의 체계적이고 반복 가능한 탐색이 가능해져 설계 생산성이 향상되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.