[Paper] SafarDB: FPGA 가속 분산 트랜잭션 via 복제 데이터 타입
Source: arXiv - 2603.08003v1
Overview
SafarDB는 네트워크 패브릭에 직접 연결된 FPGA에 분산 트랜잭션 복제의 무거운 작업을 옮기는 새로운 시스템입니다. 맞춤형 네트워크 인터페이스와 복제 엔진을 긴밀히 결합함으로써, 저자들은 충돌‑없는(CRDT) 및 강일관성(WRDT) 데이터 타입 모두에 대해 대폭 낮은 지연시간과 높은 처리량을 달성했습니다—이는 현대의 고가용성 서비스에 필수적인 핵심 빌딩 블록입니다.
주요 기여
- Network‑attached FPGA 복제 엔진 – FPGA에서 복제 로직을 실행하도록 설계된 NIC로, CPU‑NIC 왕복 오버헤드를 제거합니다.
- CRDT와 WRDT에 대한 통합 지원 – 완화된(교환 가능한) 복제 경로와 강한 순서 보장을 요구하는 복제 경로 모두를 가속화하며, WRDT에 필요한 합의 제어 경로도 포함합니다.
- 성능 향상 – CRDT에 대해 최대 7배 낮은 지연시간 및 5.3배 높은 처리량, WRDT에 대해 12배 낮은 지연시간 및 6.8배 높은 처리량을 제공하며, 이는 기존 최고의 RDMA 기반 솔루션 대비입니다.
- 향상된 내결함성 – 리더 장애 감지 및 리더 선출이 더 빠르고, CPU/RDMA 구현에 비해 충돌 장애에 대한 복원력이 높습니다.
- 공동 설계 방법론 – 애플리케이션 의미론에 맞게 NIC를 재설계함으로써 전통적인 Smart‑NIC 오프로드를 넘어서는 하드웨어 가속 이점을 얻을 수 있음을 보여줍니다.
방법론
- 하드웨어‑소프트웨어 공동 설계 – 팀은 경량 네트워크 스택과 복제 엔진을 모두 탑재한 맞춤형 FPGA 카드를 구축했습니다. 네트워크 스택은 들어오는 패킷을 파싱하고 트랜잭션 메타데이터를 추출한 뒤, 호스트 CPU를 거치지 않고 직접 복제 로직으로 전달합니다.
- 복제 원시 연산 –
- CRDT 경로 – 연산 순서에 관계없이 적용 가능한 교환 가능한 연산(예: 카운터, 집합)을 구현하여 FPGA가 업데이트를 즉시 적용할 수 있게 합니다.
- WRDT 경로 – 강한 순서 보장이 필요한 연산에 대해 FPGA는 합의 프로토콜(간소화된 Paxos/Raft 변형)을 실행해 전체 순서를 합의한 뒤 업데이트를 적용합니다.
- 연산자 오프로드 – 자주 사용되는 데이터 타입 연산자(병합, 적용, 충돌 해결)를 FPGA 로직으로 컴파일하여 트랜잭션을 “네트워크 근접 실행”할 수 있게 합니다.
- 평가 설정 – 10‑GbE 테스트베드와 다중 노드 클러스터에서 실험을 수행했습니다. 기준선으로는 CPU에서 실행되는 최신 RDMA 기반 CRDT/WRDT 라이브러리를 사용했습니다. 측정 지표는 지연 시간, 처리량, 그리고 다양한 경쟁 및 장애 시나리오에서의 복구 시간을 포함합니다.
결과 및 발견
| 지표 | SafarDB (FPGA) | RDMA‑CPU Baseline | 향상 |
|---|---|---|---|
| CRDT 지연시간 (중간값) | ~30 µs | ~210 µs | 7× |
| CRDT 처리량 | 1.2 M ops/s | 225 k ops/s | 5.3× |
| WRDT 지연시간 (중간값) | ~45 µs | ~540 µs | 12× |
| WRDT 처리량 | 800 k ops/s | 118 k ops/s | 6.8× |
| 리더 장애 감지 | <150 µs | >1 ms | >6× 빠름 |
| 크래시 장애 복원력 | 노드 손실 시 처리량 감소 없음 | 큰 속도 저하 | 보다 견고함 |
이 수치는 복제 로직을 네트워크에 연결된 FPGA로 옮김으로써 왕복 시간을 단축할 뿐만 아니라 호스트 CPU가 애플리케이션 로직을 처리하도록 자유롭게 하여 전체 시스템 확장성을 높인다는 것을 보여줍니다.
Practical Implications
- Micro‑services & stateful edge services – 개발자는 공유 상태(카운터, 리더보드, 구성 맵)의 복제를 FPGA에 오프로드하여 CPU 사이클을 희생하지 않고도 100 µs 미만의 일관성 보장을 달성할 수 있습니다.
- Database sharding & multi‑master setups – SafarDB의 WRDT 지원으로 지리적으로 분산된 복제본 간에 강력한 일관성을 갖는 트랜잭션을 실행할 수 있으며, 커밋 지연 시간이 크게 감소합니다.
- High‑frequency trading, IoT gateways, and gaming back‑ends – 초저지연 업데이트가 필요한 시나리오에서 CRDT/WRDT 연산을 네트워크에 가까운 위치에서 실행함으로써 이점을 얻을 수 있습니다.
- Simplified infrastructure – NIC와 복제 엔진을 통합함으로써 운영자는 구성 요소 수를 줄일 수 있습니다(별도의 Smart‑NIC 펌웨어 불필요, RDMA 튜닝 불필요). 이는 이미 FPGA 가속기를 사용하는 최신 데이터센터 패브릭에 배포를 용이하게 합니다.
- Cost‑performance trade‑off – FPGA 카드는 순수 CPU 서버보다 초기 비용이 높지만, 처리량 향상과 CPU 부하 감소를 통해 복제에 의존하는 워크로드의 총소유비용(TCO)을 낮출 수 있습니다.
제한 사항 및 향후 작업
- 하드웨어 의존성 – 성능 향상은 FPGA‑지원 NIC가 있을 때만 가능하므로, 해당 하드웨어가 없는 환경에서는 이점을 얻을 수 없습니다.
- 프로그래밍 모델 – 개발자는 데이터 타입 로직을 하드웨어 친화적인 형태(예: HLS 사용)로 표현해야 하며, 이는 순수 소프트웨어 라이브러리 대비 학습 곡선을 증가시킵니다.
- 단일 랙을 넘어선 확장성 – 현재 프로토타입은 단일 랙, 10‑GbE 네트워크에 초점을 맞추고 있어, 다중 랙·다중 데이터센터 토폴로지로 확장하려면 추가적인 프로토콜 최적화가 필요할 수 있습니다.
- 합의 프로토콜 유연성 – 내장된 합의 메커니즘은 WRDT에 최적화되어 있으므로, 비잔틴 장애 허용 등 대체 프로토콜을 지원하면 적용 범위가 넓어집니다.
향후 연구 방향으로는 개발자를 위한 고수준 API 공개, CockroachDB·TiDB와 같은 인기 분산 데이터베이스와의 통합, 그리고 컨텐션 패턴에 따라 워크로드를 동적으로 전환하는 하이브리드 CPU‑FPGA 파이프라인 탐색 등이 있습니다.
저자
- Javad Saberlatibari
- Prithviraj Yuvaraj
- Mohsen Lesani
- Philip Brisk
- Mohammad Sadoghi
논문 정보
- arXiv ID: 2603.08003v1
- 분류: cs.DC
- 발행일: 2026년 3월 9일
- PDF: PDF 다운로드