피드로 돌아가기
InfoQInfrastructure
원문 읽기
Sub-millisecond 응답을 위한 Single-threaded Busy-spin 아키텍처 설계
Presentation: How to Build an Exchange: Sub Millisecond Response Times and 24/7 Uptimes in the Cloud
AI 요약
Context
금융 인프라로서의 Exchange는 극도의 정밀도와 공정성, 그리고 P99 지연 시간을 최소화하는 일관된 성능이 필수적임. 일반적인 분산 시스템의 스케줄링 지연과 변동성은 트레이딩 손실로 직결되는 치명적인 병목 지점으로 작용함.
Technical Solution
- OS 스케줄링에 따른 Context Switch 비용을 제거하기 위해 단일 코어에서 무한 루프를 도는 Busy-spin 방식의 Core Logic 채택
- 분산 처리로 인한 네트워크 홉과 동기화 오버헤드를 피하기 위해 고성능 단일 머신 기반의 Centralized Transaction Processing 구조 설계
- Moore's Law를 활용하여 CPU Clock Speed 향상을 통한 선형적 성능 개선 도모
- 시스템 용량 한계 파악을 위해 네트워크를 배제한 상태로 이벤트를 재현하는 Replay 기반의 Constant Load Test 수행
- 트래픽 폭증 시 확장성을 확보하기 위한 전략적 Sharding 가능 구조 유지
실천 포인트
1. 지연 시간의 변동성(Jitter)을 줄이기 위해 OS 스케줄러 간섭을 최소화하는 CPU Affinity 설정 검토
2. 시스템의 최대 처리량(Capacity) 측정을 위해 외부 요인을 제거한 Replay 테스트 환경 구축
3. 수평 확장(Scale-out) 이전에 단일 노드의 수직 확장(Scale-up) 효율성을 먼저 검증