BittWare 파트너 IP

쿼리 처리 장치(QPU)

FPGA 기반 가속기를 구축하여 저장된 데이터 또는 스트리밍 데이터를 PCIe Gen4 속도로 쿼리, 분석 또는 재포맷할 수 있습니다!

IA-420f PCIe 카드
아이데콤 로고

Eideticom의 쿼리 처리 장치(QPU)는 지연 시간이 짧은 하드웨어에서 쿼리, 분석 또는 형식 변환을 수행해야 하는 데이터베이스 사용자 또는 데이터(네트워크 패킷 등)를 스트리밍하는 모든 사용자를 대상으로 합니다. 대역폭 요구 사항을 충족하기 위해 작업을 병렬화할 수 있으며 압축과 같은 다른 NoLoad® 기능과 혼합할 수도 있습니다.

NoLoad® 프레임워크 기반 구축

압축, 압축 해제 코딩, 중복 제거와 같은 Eideticom의 다른 컴퓨팅 스토리지 IP와 파이프라인을 구성할 수 있는 Eideticom의 NoLoad 컴퓨팅 스토리지 프레임워크의 일부인 QPU.

소프트웨어 중심 설계

사용자는 온칩 프로세서를 사용하여 기능을 정의하므로 하드웨어 엔지니어가 QPU 매개변수를 지정해야 하는 부담을 덜 수 있습니다. 이를 통해 고급 툴의 사용 편의성과 메인 호스트 CPU의 부하를 모두 줄일 수 있습니다.

QPU에는 형식 변환(텍스트에서 바이너리로/바이너리에서 텍스트로) 또는 표준 기반 데이터베이스 기능을 위한 기능이 포함되어 있습니다. 사용자는 하드웨어 기반 도구가 필요 없이 소프트웨어에서 기능 조합을 설계할 수 있습니다. 이러한 패키지가 표준 기반 컴퓨팅 스토리지를 지원하도록 이동함에 따라 QPU는 다양한 데이터베이스 도구에 대한 기본 가속을 지원할 것입니다.

쿼리

소프트웨어 정의 검색 및 필터 매개변수를 사용하여 데이터 쿼리를 수행하세요.

분석

네트워크 패킷 헤더 또는 SSD 스토리지의 데이터와 같은 스트리밍 데이터에 대한 필터링, 패턴 일치, 분석 기능을 제공합니다.

다시 포맷

텍스트/바이너리 데이터 또는 기타 형식 변환을 효율적으로 다시 포맷할 수 있습니다.

데모 비디오

5GB CSV 파일에 대한 쿼리 처리 장치를 시연하는 Eideticom의 엔지니어링 부사장 Sean Gibb

QPU 데모 출력 썸네일
 

Eideticom의 엔지니어링 담당 부사장인 Sean Gibb입니다. 이 동영상에서는 쉼표로 구분된 텍스트 형식으로 저장된 주식 티커 데이터의 서식을 지정하고 필터링하기 위해 Eideticom의 쿼리 처리 장치(QPU)를 사용하는 방법을 보여드리겠습니다.

Eideticom의 QPU에 내장된 프로세서는 C 또는 C++를 사용하여 소프트웨어 프로그래밍이 가능하므로 필터링 기능을 동적으로 프로그래밍할 수 있습니다.

임베디드 프로세서 외에도 사용하기 쉽고 처리량이 많은 하드웨어 코프로세서(패킷 캡처 분석, 텍스트에서 이진 형식으로의 변환, 간단한 필터링과 같은 일반적인 작업을 수행하는)를 임베디드 소프트웨어에서 사용할 수 있어 쿼리 워크로드를 가속화할 수 있습니다.

이 예에서는 텍스트-바이너리 포맷터를 사용하여 CSV를 바이너리 데이터로 변환하고, 런타임 구성 가능한 하드웨어 필터(특정 주식 심볼과 거래량이 적은 거래를 필터링)를 수행한 다음 소프트웨어 필터를 수행하여 당일 종가가 시가보다 낮은 모든 거래를 제거합니다.

GCC 컴파일러를 사용하여 소프트웨어를 컴파일하여 소프트웨어 스택을 통해 임베디드 프로세서에 로드할 수 있는 실행 파일을 생성합니다. 소프트웨어가 로드되면 쿼리 엔진을 통해 5GB의 CSV 데이터를 실행하여 1,000만 개를 초과하는 모든 Microsoft 주식을 필터링합니다.

여기에서 단일 쿼리 엔진이 2GB/s의 텍스트 입력을 유지할 수 있음을 알 수 있습니다. 여러 개의 쿼리 엔진을 타일링할 수 있으며, Eideticom의 소프트웨어 스택 덕분에 동일한 호스트 소프트웨어로 FPGA 카드에 대한 PCIe 인터페이스를 포화 상태로 만들 수 있습니다.

이는 소프트웨어 프로그래밍이 가능하고 하드웨어 가속이 가능한 Eideticom의 QPU가 제공하는 기능의 한 가지 예에 불과합니다.

소프트웨어 정의 + 대역폭 요구 사항에 맞게 확장 가능

쿼리 처리 장치는 FPGA에서 실행되는 소프트웨어(소프트 또는 하드 프로세서 사용)에서 정의되므로 낮은 수준의 구성 엔지니어링 리소스가 필요하지 않습니다.

QPU는 모듈식이기 때문에 특정 대역폭 요구 사항을 충족하기 위해 하나 이상의 유닛을 배치할 수 있습니다. 예를 들어 두 개의 유닛에 걸친 데이터를 조정해야 하는 경우 8개의 QPU를 통해 분산 파일 변환을 수행하는 등 QPU 인스턴스가 협력할 수 있습니다.

비트웨어의 IA-220-U2 모듈 또는 IA-420F 카드에 배포된 노로드® 내부의 QPU 작동 방식

쿼리 엔진 전체 다이어그램

Eideticom의 NoLoad® 컴퓨팅 스토리지 프레임워크 기반 구축

쿼리 처리 장치는 NoLoad 프레임워크의 구성 요소입니다. 주황색의 압축과 같은 구성 요소는 사용자가 소프트웨어 정의 접근 방식을 사용하여 특정 애플리케이션을 구축하는 곳입니다.

예를 들어, 압축과 같은 컴포넌트를 QPU에 추가하여 SSD 스토리지로 이동하기 전에 필터링된 데이터를 압축할 수 있습니다.

표시된 모든 가속기 기능은 FPGA 하드웨어로 구현되어 높은 대역폭, 낮은 지연 시간 및 CPU 오프로드를 제공합니다.

NoLoad CSP 블록 다이어그램

사용 사례

핀테크용 캡처 + 분석 엔진

고성능 소프트웨어 정의 패킷 캡처 및 분석 엔진 구축하기

이 실제 예제에서는 쿼리 처리 장치와 압축 엔진(또 다른 NoLoad® IP 코어)을 패킷 처리 기계로 사용합니다. 패킷은 P2P 전송을 통해 압축되어 SSD 어레이에 기록되며, QPU는 헤더(네트워크 튜플) 데이터와 기간별 패킷 수와 같은 일부 분석 정보도 가져옵니다. 분석 결과는 CSV 데이터로 호스트에 전송됩니다.

성능 이점

멀티 스레드 인텔 제온 CPU와 비교했을 때 데이터베이스 쿼리 처리 장치는 아래와 같이 작동합니다.

평균 패킷 크기CPU1× 쿼리 엔진(QE)2× QE4배 QE
256B0.2GB/s1.8GB/s3.6 GB/s7.2GB/s
1024B0.7GB/s2.0 GB/s4.0 GB/s8.0 GB/s
4096B1.9GB/s2.0 GB/s4.0 GB/s8.0 GB/s
9216B2.7GB/s2.0 GB/s4.0 GB/s8.0 GB/s
쿼리 엔진 패킷 캡처 사용 사례 그림
호스트의 패킷은 NoLoad® 프레임워크와 IP를 사용하여 FPGA 처리를 위해 PCIe를 통해 BittWare IA-220-U2 또는 IA-420F로 이동합니다.

사용 사례

데이터베이스 쿼리 가속화

데이터베이스 쿼리 등 가속화

데이터베이스 가속 구성에서 쿼리 처리 장치는 CPU 오프로드부터 데이터 유형 형식 변환까지 다양한 기능을 수행할 수 있습니다.

쿼리 엔진-데이터베이스 사용 사례 예시
NoLoad™ 소프트웨어 스택은 가속기 및 스토리지와 DB 데이터를 주고받습니다.

호환 가능한 FPGA 카드

쿼리 처리 장치는 인텔 애자일렉스 FPGA가 탑재된 비트웨어의 카드를 대상으로 합니다.

가격이나 자세한 정보가 궁금하신가요?

기술 영업팀에서 가용성 및 구성 정보를 제공하거나 기술 관련 질문에 답변해 드립니다.