Flyslice Technologies, FA728Q 가속기 카드로 LLT(저지연 트레이딩) 응용 프로그램 가속화

Flyslice Technologies는 인텔® Stratix® 10 FPGA와 오픈 소스 OFS(Open FPGA Stack) 인프라를 활용하여 고성능 FPGA 가속 카드를 개발했습니다.

개요

  • 인텔® Stratix® 10 FPGA가 탑재된 고성능 PCIe* 기반 가속 카드인 FA728Q FPGA 기반 가속기 카드는 현재 출하되고 있습니다.

  • Flyslice는 OFS 기본 인프라를 사용하여 통합 TCP/IP 오프로드 엔진을 포함하는 맞춤형 FIM(FPGA 인터페이스 관리자)의 개발 속도를 높이고 있습니다.

  • FA728Q 가속기 카드의 TCP 송신 대기 시간은 LLT와 같이 시간이 중요한 네트워크 응용 프로그램의 경우 100ns 미만입니다.

author-image

기준

Flyslice 로고요약

LLT 및 기타 시간에 민감한 응용 프로그램은 이상적인 FPGA 가속화 사용 사례입니다. 이러한 시장 수요에 대응하기 위해 Flyslice Technologies는 FA728Q FPGA 기반 가속 카드를 개발했습니다. FA728Q 가속 플랫폼은 강력한 FPGA 리소스와 풍부한 스토리지 용량, 그리고 최종 사용자를 위한 사용하기 쉬운 인터페이스를 제공합니다. 가속 보드 개발을 가속화, 단순화 및 표준화하기 위해 Flyslice Technologies는 OFS 인프라를 사용했습니다. 이는 '테이크 앤 테일러' 접근 방식을 사용하여 FPGA 솔루션의 신속한 개발을 위한 강력한 방법론을 제공합니다. Flyslice Technologies는 OFS 인프라를 사용하여 TCP/IP 오프로드 엔진을 일반적으로 FPGA '셸'이라고 하는 오픈 소스 기본 FIM에 통합합니다.

배경 및 과제

LLT는 주문 입력과 주문 체결 사이의 시간 지연을 최소화하면서 금융 증권 거래를 전자적으로 실행하는 최신 방식입니다. 대형 투자은행, 헤지펀드 및 기타 금융 기관에서 일반적으로 이 방법을 사용합니다. 과거에는 거래가 전자 방식이 아닌 수동으로 실행되었으므로 거래 체결 시간이 몇 초에서 몇 분에 이르기까지 다양했습니다. 하지만 하드웨어 및 해당 소프트웨어의 기술 발전으로 특정 시장 신호와 움직임에 따라 자동으로 매수 또는 매도 결정을 내리도록 시스템을 프로그래밍하여 거래 체결 시간을 밀리초 단위로 단축할 수 있게 되었습니다. 최근 몇 년 동안 FPGA 기반 가속 제품의 가용성이 확대되면서 거래 시간이 마이크로초 또는 마이크로초 미만으로 더욱 단축되었습니다.

동시에 LLT 시스템은 주문서 상호작용을 위해 각 트레이딩 회사의 특정 트레이딩 전략에 특화된 복잡한 트레이딩 알고리즘 모델에 점점 더 의존하고 있습니다. 솔루션에는 이기종 컴퓨팅과 같은 트레이딩 회사의 전력 및 성능 요구 사항을 충족하기 위해 범용 프로세서와 특수 목적 코프로세서 컴퓨팅이 필요합니다. FPGA는 맞춤형 트레이딩 알고리즘을 구현하는 데 이상적이지만, 이 하드웨어 가속 장치를 프로그래밍하는 데는 시간이 많이 소요되고 FPGA 제품군이 개선되고 발전함에 따라 마이그레이션하기 어려울 수 있습니다.

중국에 본사를 둔 Flyslice Technologies는 LLT 세그먼트를 포함한 데이터 센터 이기종 가속화 및 고성능 컴퓨팅에 대한 수요에 적극적으로 대응하고 있습니다. FPGA 기반 하드웨어 가속기 플랫폼, FPGA 가속 지적 재산(IP) 기능 및 FPGA 기반 플랫폼 설계 서비스를 시장에 출시합니다.

솔루션

LLT 응용 프로그램의 저지연, 표준화 및 이식성 요구 사항을 충족하기 위해 Flyslice Technologies는 통합 TCP/IP 오프로드 엔진을 인스턴스화하는 FA728Q 가속 카드를 개발했습니다. 이를 위해 Flyslice Technologies는 OFS 오픈 소스 릴리스에서 제공된 기본 FIM을 수정했습니다. 구성 가능한 아키텍처와 '테이크 앤 테일러' 접근 방식 덕분에 OFS를 사용하여 OFS 소프트웨어 드라이버와 라이브러리 등 제공된 나머지 인프라를 활용하는 동시에 최소한의 수정만으로 알고리즘을 FA728Q 가속 카드에 간단히 포팅할 수 있었습니다.

fa728q 블록 다이어그램에 구현된 TOE 솔루션을 갖춘 OFS
그림 1 FA728Q에 구현된 TCP/IP 오프로드 엔진(TOE) 솔루션을 갖춘 OFS

 

OFS는 맞춤형 FPGA 기반 보드 또는 워크로드 개발을 시작하는 데 필요한 모든 주요 설계, 소프트웨어 및 인프라 구성 요소를 제공하는 오픈 소스 하드웨어 및 소프트웨어 인프라입니다. OFS 인프라는 일반적으로 '셸'이라고 하는 FIM과 워크로드 개발을 위해 지정된 영역인 AFU(가속기 기능 유닛) 영역으로 구성됩니다. FPGA 보드 또는 FIM 개발자는 OFS 사용으로 오픈 소스 인프라 또는 기본 FIM을 활용할 수 있어 대상 응용 프로그램 또는 산업에 따라 보드에 적합한 맞춤형 FIM을 신속하게 개발할 수 있습니다. 또한 OFS는 FPGA 하드웨어와 설계 흐름을 추상화하는 데 활용할 수 있는 oneAPI ASP(가속기 지원 패키지)와 함께 제공됩니다. OFS는 개발자의 시간을 절약하고, FPGA 세대 간 이식성을 향상시키며, 산업 표준 인터페이스를 사용하고, oneAPI를 사용하는 높은 수준의 설계 흐름을 옵션으로 제공합니다.

FA728Q 가속 카드는 현재 구매 가능하며, 32GB 온보드 DDR4 메모리와 각 인터페이스에 대해 최대 100GbE를 지원하는 QSFP28 소켓 3개를 제공하는 하이엔드 PCIe 기반 FPGA 가속 보드입니다. FA728Q 가속 카드는 OFS 인프라를 통해 oneAPI도 지원하므로, 고객은 RTL로 커널을 구현하거나 CPU/GPU에서 C/C++를 비롯한 고급 설계 언어로 알고리즘을 마이그레이션할 수 있습니다. 또한 인텔 oneAPI Base Toolkit은 커널을 FPGA 리소스에 맞게 합성하고 최적화하여 시장 출시 시간을 더욱 단축할 수 있도록 지원합니다.

Flyslice Technologies는 인텔 Agilex 7 FPGA I-시리즈를 사용하는 FA927S 카드와 인텔 Agilex 7 FPGA F-시리즈를 사용하는 FA925E 카드를 포함한 인텔® Agilex® FPGA 기반 보드 개발도 시작했습니다.

FA927S 카드는 최대 116Gbps의 높은 트랜시버 속도, PCIe 5.0 x16 및 CXL(Compute Express Link) 지원을 제공합니다. 그리고 대역폭 집약적인 응용 프로그램을 대상으로 하며 현재 RTL 기반 개발에 사용할 수 있습니다. FA927S 카드의 OFS 지원은 2024년 1분기에 이루어질 예정입니다.

반면 FA925E 카드는 8GB 뱅크 4개와 4GB DDR4 뱅크 4개로 총 48GB의 온보드 메모리를 제공합니다. 이 카드는 외부 메모리 용량과 대역폭 요구 사항이 높은 응용 프로그램을 위해 설계되었습니다. 이 카드는 OFS에 대한 완벽한 지원을 제공하며 2023년 말에 출시될 예정입니다. 세 종류 가속 카드를 비교하려면 표 1을 참조하십시오.

표 1. 비교표

 

FA728Q 보드

FA728Q

FA927S 보드

FA927S

FA925E 보드

FA925E

소비 전력 215W 200 W 150 W
냉각 요구 사항 액티브/패시브(선택 사항) 액티브/패시브(선택 사항) 액티브/패시브(선택 사항)
폼 팩터 3/4 길이, 풀 하이트, 듀얼 슬롯 PCIe 절반 길이, 풀 하이트, 듀얼 슬롯 PCIe 3/4 길이, 풀 하이트, 듀얼 슬롯 PCIe
네트워킹 인터페이스 트리플 QSFP28 포트: 100GbE/40GbE 3개 듀얼 QSFP28 포트: 100GbE/40GbE 2개 듀얼 QSFP28 포트: 100GbE/40GbE 2개
메모리 인터페이스 8GB DDR4 4개, ECC 사용 시 2,400MHz 8GB DDR4 4개, ECC 사용 시 2,400MHz 8GB 4개 및 4GB DDR4 4개, ECC 사용 시 2,400MHz
PCIe 인터페이스 - 5.0 x16 -
확장 인터페이스 - PCIe 4.0 확장용 x8 슬림 SAS 커넥터 2개 -
관리 포트 마이크로 USB 마이크로 USB 마이크로 USB
FPGA 장치 1SX280HN2F43E2VG AGIB027R29A1E2VR3 AGFB027R25A2E2V

결과

Flyslice Technologies가 FA728Q 카드에 구현한 오프로드 엔진 IP 기능은 LLT 요구 사항을 충족하기 위한 대기 시간 및 성능에 최적화되어 있습니다. 속도 향상 모드에서 TCP 전송 대기 시간이 100ns 미만이므로 시간이 중요한 네트워크 응용 프로그램을 위한 안정적, 저지연 연결을 보장합니다. 표 2는 다양한 연결에 대해 측정된 대기 시간을 보여줍니다. 표 3은 고대역폭 PCIe 3.0 x16 및 DDR 인터페이스를 보여줍니다.

사양 가격
최대 TCP/UDP 연결 수 TCP의 경우 63, UDP의 경우 63
TCP 송신 대기 시간(속도 향상 모드) 15 클록
TCP 송신 대기 시간(속도 비향상 모드) 46 클록
TCP 수신 대기 시간 32 클록
UDP 송신 대기 시간 512바이트 패킷의 경우 42 클록, 128바이트 패킷의 경우 18 클록
UDP 수신 대기 시간 23 클록
oneAPI 커널의 루프백 대기 시간 18 클록

표 2. TCP/IP 오프로드 엔진(TOE) 사양

참고:

1. 1 클록 주기는 6.4ns입니다

2. 송신 대기 시간은 패킷 EOP의 폴링 에지부터 XGMII TXC의 유효한 데이터까지 계산됩니다

3. 수신 대기 시간은 패킷 SOP부터 XGMII RXC의 유효한 데이터까지 계산됩니다

데이터 경로 대역폭
호스트 쓰기 메모리 8,192KB 블록의 경우 8,287.68MBps
호스트 읽기 메모리 8,192KB 블록의 경우 8,241.19MBps
커널 쓰기 메모리 4,096MB 블록의 경우 16,909.6MBps
커널 읽기 메모리 4,096MB 블록의 경우 17,340.3MBps

표 3. 각 인터페이스에서 제공하는 대역폭

OFS 플랫폼 블록 다이어그램의 고대역폭 데이터 경로
그림 2. OFS 플랫폼의 고대역폭 데이터 경로

 

OFS는 소프트웨어 API 드라이버부터 전체 장비 세트 장비인 기본 하드웨어에 이르기까지 고객에게 필요한 가속 플랫폼을 보다 쉽고 빠르게 구축할 수 있도록 도움을 주었습니다.

Cheng Ailian, Flyslice Technologies, ltd.

OFS를 사용하여 FPGA 가속을 시작하는 방법

FPGA 개발자는 오픈 소스 문서와 소스 코드를 사용하여 FA728Q 가속기 카드와 OFS 지원 보드로 맞춤형 워크로드 구축을 시작할 수 있습니다.

다음 표는 개발자가 Flyslice Technologies 가속 보드를 사용하여 FPGA 기반 워크로드 개발을 시작할 수 있는 방법을 간략하게 설명합니다.

워크로드에 FPGA 가속화 활용하기
1단계: 보드 선택 Flyslice Technologies의 OFS 지원 보드인 FA728Q 가속기 카드 보기
2단계: OFS 오픈 소스 리소스 평가

Flyslice Technologies는 해당 버전의 OFS 기술 문서를 제공합니다.

3단계: 오픈 소스 하드웨어 및 소프트웨어 코드에 액세스

Flyslice Technologies는 해당 OFS 소프트웨어 및 하드웨어 코드를 제공합니다. 이는 인텔에서 제공하는 OFS 기본 코드의 Artiza Networks 특정 배포판입니다.

4단계: RTL 또는 C/C++를 사용하여 워크로드 개발(oneAPI 활용)

OFS RTL 흐름 따라가기

또는

OFS를 사용하면 oneAPI 커널을 컴파일할 수 있습니다. oneAPI 개발 흐름을 활용하고 C/C++로 FPGA 워크로드를 구축합니다.