FPGA 모듈 간 Peer-to-Peer (P2P) 전송 속도가 기대보다 느립니다.

업데이트 됨 Aug 6, 2019

해당 제품

Hardware

  • PXI FPGA Module for FlexRIO

Software

  • LabVIEW FPGA Module

Driver

  • FlexRIO

문의사항

두 모듈 간에 Peer-to-Peer 전송을 구현했지만 전송 속도가 기대보다 느립니다. 이것의 원인이 무엇이며 어떻게 개선할 수 있습니까?

해결책

Peer-to-Peer FIFO를 구현할 때 각각 수신자와 송신자에 해당하는 2개의 FIFO를 만들어야 합니다. 처음 데이터를 교환할 때 수신자는 컨트롤 메시지를 통해 수신 측 총 FIFO 크기와 함께 흐름 제어 크레딧을 송신자에 부여하여 송신자가 데이터를 보낼 수 있도록 합니다. 그 후 수신자 측에서 전체 FIFO 크기의 1/4에 해당하는 데이터를 읽을 때마다 수신자는 흐름 제어 크레딧을 송신자에 부여합니다.

이 메카니즘의 최소 지연 시간은 1 µs입니다. 가장 좋은 방법은 이 지연 시간이 발생하는 빈도를 줄이기 위해 수신자 FIFO의 크기를 크게 하는 것입니다. 수신자 FIFO의 크기를 크게 하면 이 문제가 해결될 수 있습니다. 

추가 정보

이 메카니즘의 단점은 FIFO 간 전송 속도를 높일 수록 수신자 FIFO의 크기를 충분히 크게 해야 한다는 점입니다. 흐름 제어 크레딧의 연속적인 전송을 통해 송신자가 수신자 측의 권한 부여 프로세스에 의해 뒤로 밀리지 않고 데이터를 전송할 수 있습니다. 

이 글이 도움이 되셨습니까?

도움 안됨