Skip to main content
QUICK REVIEW

[논문 리뷰] Low Latency Neural Networks using Heterogenous Resources on FPGA for the Belle II Trigger

S. Baehr, S. Mccarney|arXiv (Cornell University)|2019. 10. 30.
Particle Detector Development and Performance참고 문헌 8인용 수 4
한 줄 요약

이 논문은 벨레 II 실험을 위한 최적화된 FPGA 기반 신경망 z-Vertex 트리거를 제시하며, 승산 연산(MAC) 작업의 시간 분할 스케줄링과 SRAM-LUT 및 DSP의 균형 잡힌 활용을 통해 DSP 자원 사용을 40% 감소시킨다. 이 방법은 5µs 지연 예산 내에서 두 개의 병렬 신경망을 실행할 수 있도록 하여 처리량을 향상시키고, Virtex UltraScale FPGA에서 시간적 폐쇄성( timing closure)을 유지한다.

ABSTRACT

One of the major components of the Belle II trigger system is the neural network trigger. Its task is to estimate the z-Vertex particle tracks observed in the experiments drift chamber. The trigger is implemented on FPGAs to ensure exibility during operation and leverage their IO capabilities. Meanwhile the implementation has to estimate the vertex in a few hundred nanoseconds to fulfil the requirements of the experiment. A first version of that trigger was operational during the first collisions. While it was able to estimate the vertex, it had some drawbacks regarding the possible throughput and timing closure. These are the focus of this work, which modifies the original design to allow two networks running in parallel and less routing congestion. We conducted a rescheduling of multiply and accumulate which are the basic operations in such networks. While the original design tried to parallelize as much as possible, the rescheduling tries to reduce the number of parallel data transmission by reusing processing modules. This way resource consumption was reduced by 40% for DSPs. To further increase the throughput by operating an additional network in parallel, we investigated the balanced use of SRAM-LUTs and DSPs for multiply and accumulate operations. With the found balancing ratio the trigger is able to operate two neural networks in parallel on the targeted FPGA within the required latency.

연구 동기 및 목표

  • Belle II를 위한 기존 FPGA 기반 신경망 z-Vertex 트리거에서 자원 혼잡과 처리량 제한 문제를 해결한다.
  • 5µs 지연과 31.75 MHz 처리량 요구사항을 유지하면서 DSP 자원 소비를 줄인다.
  • SRAM-LUT와 DSP 간의 자원 균형 최적화를 통해 단일 FPGA에 두 개의 병렬 신경망을 구동할 수 있도록 한다.
  • MAC 작업의 재스케줄링을 통해 루팅 효율성과 시간적 폐쇄성을 향상시킨다.
  • 향후 더 높은 트랙 처리 용량이 요구되는 업그레이드를 위한 확장 가능한 솔루션을 개발한다.

제안 방법

  • 병렬 데이터 전송을 줄이고 처리 단위를 재사용하기 위해 MAC 연산을 여러 클럭 사이클에 걸쳐 재스케줄링한다.
  • 단일 뉴런 내부 및 뉴런 간에 MAC의 시간 분할 실행을 구현하여 자원 요구량을 최소화한다.
  • DSP와 SRAM-LUT 간의 MAC 연산을 균형 있게 배분하여, LUT에 40%, DSP에 60%를 사용함으로써 자원 병목 현상을 방지한다.
  • 레이어 실행을 교차 배치하고 파ip라인화하여 지연 시간을 줄이고 자원 활용도를 향상시키되, 5µs 한계를 초과하지 않는다.
  • 시간 분할 설계에서 클럭 사이클 간의 멀티플렉서 루팅과 데이터 흐름을 제어하기 위해 컨트롤러를 구현한다.
  • 자원 활용도와 타이밍 분 析를 통해 Virtex UltraScale XCVU080 FPGA에서 설계를 평가한다.

실험 결과

연구 질문

  • RQ1신경망 트리거의 MAC 연산을 어떻게 재스케줄링하여 지연 시간을 늘리지 않고도 DSP 자원 사용을 줄일 수 있는가?
  • RQ2저지연 FPGA 설계에서 MAC 유닛을 구현할 때 SRAM-LUT와 DSP 간의 최적 균형은 무엇인가?
  • RQ3이질적 자원 활용을 통해 5µs 지연 예산 내에서 두 개의 병렬 신경망을 실행할 수 있는가?
  • RQ4MAC의 시간 분할이 루팅 혼잡도와 전체 설계의 루팅 가능성에 어떤 영향을 미치는가?
  • RQ5필수 31.75 MHz 처리량과 5µs 지연을 유지하면서 자원 소비를 얼마나 줄일 수 있는가?

주요 결과

  • MAC 연산의 시간 분할로 원래의 병렬 설계 대비 DSP 사용량이 40% 감소하여, 297개의 DSP 기반 MAC 유닛을 달성했다.
  • 이질적 구현은 DSP의 44%와 SRAM-LUT의 30%를 사용했으며, DSP 전용 접근 방식 대비 DSP 68%, LUT 17% 사용에 비해 자원 활용이 더 균형 잡혔다.
  • SRAM-LUT와 DSP의 균형 잡힌 사용으로 입력 값을 다시 사용함으로써 루팅 혼잡도가 감소했다.
  • 설계는 최대 주파수 127 MHz를 달성하여, 증가한 파이프라인화에도 불구하고 5µs 지연 제약을 충족했다.
  • 최적화된 설계는 동일한 FPGA에 두 개의 병렬 신경망을 지원하여 향후 업그레이드를 위한 처리량 향상을 가능하게 했다.
  • 이 방법은 주요 경로의 자원 압박을 줄여 XCVU080 FPGA에서 시간적 폐쇄성과 설계 안정성을 향상시켰다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.