Core Concepts
ACCL 통신 프레임워크를 활용하여 최대 48개의 FPGA에서 지연 시간에 민감한 고성능 컴퓨팅 애플리케이션의 통신을 최적화하는 방법을 제시한다.
Abstract
이 논문은 FPGA 기반 고성능 컴퓨팅 애플리케이션의 통신 최적화 방법을 다룬다.
첫째, 합성 벤치마크를 사용하여 ACCL 통신 프레임워크의 다양한 구성 옵션이 통신 지연 시간과 처리량에 미치는 영향을 평가한다. ACCL의 버퍼링 통신과 스트리밍 통신 방식, 그리고 호스트 측과 FPGA 측에서의 통신 스케줄링 방식을 비교한다. 또한 TCP/IP와 UDP 네트워크 스택의 성능 차이도 분석한다.
둘째, 이러한 분석 결과를 바탕으로 비정형 메시 기반 천수 시뮬레이션 애플리케이션을 FPGA에 포팅한다. 이 애플리케이션은 낮은 지연 시간의 통신을 필요로 한다. ACCL의 적절한 구성을 통해 최대 48개의 FPGA에서 우수한 확장성을 보여준다.
전반적인 결과는 FPGA 간 통신 프레임워크의 가용성과 프레임워크 및 네트워크 스택의 구성 가능성이 지연 시간에 민감한 애플리케이션의 최고 성능 달성에 매우 중요함을 보여준다.
Stats
버퍼링 통신 방식의 경우 메시지 크기가 증가함에 따라 지연 시간이 증가하며, 이는 메시지 복사 작업으로 인한 것이다.
FPGA 측에서 직접 통신을 스케줄링하는 경우 호스트 측 스케줄링에 비해 지연 시간이 크게 감소한다.
TCP 네트워크 스택은 UDP 스택에 비해 리소스 사용량이 훨씬 크다.
이더넷 스위치를 통한 통신은 직접 연결에 비해 약 1μs의 추가 지연 시간이 발생한다.
Quotes
"ACCL은 FPGA 간 통신을 위한 메시지 전달 인터페이스를 제공하여 네트워크 스택과 네트워킹 세부 사항을 추상화한다."
"ACCL 자체와 네트워크 스택은 FPGA 리소스를 추가로 소비하므로, 단일 FPGA 애플리케이션 성능과 통신 지연 시간 및 처리량 간의 trade-off가 발생한다."