뮤텍스 경합 없는 초저지연 시세 엔진 설계 — 종목 해시 샤딩과 Lock-Free RCU/CoW
초당 수만 건의 실시간 시세 쓰기와 수십 개 화면의 동시 읽기가 충돌하지 않도록 종목 해시 기반 샤딩(Sharding)과 Lock-Free RCU(Read-Copy-Update) 스냅샷 슬롯을 구현한 과정을 다룹니다.
C++17 섹션에 발행된 전체 아티클 및 엔지니어링 노트 아카이브입니다.
초당 수만 건의 실시간 시세 쓰기와 수십 개 화면의 동시 읽기가 충돌하지 않도록 종목 해시 기반 샤딩(Sharding)과 Lock-Free RCU(Read-Copy-Update) 스냅샷 슬롯을 구현한 과정을 다룹니다.
정규 거래소와 대체거래소(ATS)의 호가·체결 스트림을 실시간으로 정합성 있게 합성하고, 멀티 워커 환경에서 예상체결↔실제체결 및 초기 조회(RQ)↔실시간(Pub/Sub) 간 순서 역전을 방지한 상태 투영(State Projection) 설계를 소개합니다.
화면 전용 워커(ScreenWorker)를 통한 28개 파생 문자열 사전 포맷팅, 종목별 더티 코얼레싱(Dirty Coalescing), 적응형 주사율 쓰로틀링(RefreshPolicy), 그리고 초당 수천 건의 체결 스트림을 O(1)로 처리하는 가상 그리드(VirtualGri…
실전 개장 계측에서 발견된 3대 잔여 병목(초당 423건 윈도우 메시지 스톰, ActiveX 호가창 COM 오버헤드, 60분할 멀티 시세판의 1초 갱신 지연)을 In-Flight Latch, COM Redraw 배칭, 영속 백버퍼 클리핑과 스케줄러 튜닝으로 해결한 실전 기록입니다.
개장 피크 구간(540초) AS-IS 대비 TO-BE의 실제 프로파일링 성적표를 공개하고, 레거시 시스템에 대규모 신규 엔진을 리스크 없이 이식하기 위한 Dual-Path 아키텍처와 엔지니어링 교훈을 정리합니다.