| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ultra low latency
- 주문 오더북
- trading engineering
- fep개발
- high frequency trading
- algo trading
- dma fep
- hft개발
- hft tuning
- dma hft
- kernel bypass
- hft programming
- korea inbound
- Korea dma
- speed trading
- HFT system
- 시스템 트레이딩
- DMA개발
- mmlp
- Korea HFT
- 자동매매
- nic offload
- 프랍데스크
- low latency
- system trading
- fontesfintech
- 트레이딩 엔지니어링
- 주문fep
- dma development
- 저지연시스템
- Today
- Total
목록분류 전체보기 (50)
Fontes Fintech
epoll과 Busy Polling은 저지연 트레이딩 시스템에서 어떻게 다른가?Trading Engineering — Deep Dive #5Linux에서 네트워크 프로그램을 개발하다 보면 epoll()을 자주 만나게 됩니다.일반적인 서버 프로그램에서는 매우 효율적인 방식입니다.하지만 저지연 트레이딩 시스템에서는 조금 다른 접근이 필요할 수 있습니다.특히 시장 데이터나 주문 데이터를 매우 짧은 latency로 처리해야 하는 시스템에서는CPU가 데이터를 기다리는 방식 자체가 latency에 영향을 줄 수 있습니다.이번 글에서는 Linux의 epoll과 Busy Polling / Busy Loop의 차이를 살펴보고, 왜 저지연 시스템에서는 CPU를 적극적으로 사용하는 방식이 선택되기도 하는지 알아보겠습니다.1..
저지연 트레이딩 시스템에서 NUMA와 Memory Locality가 중요한 이유Trading Engineering — Deep Dive #4저지연 트레이딩 시스템에서는 CPU의 성능만큼 메모리가 어디에 위치하는가도 중요합니다.특히 여러 CPU 소켓과 NUMA(Non-Uniform Memory Access) 구조를 사용하는 서버에서는 모든 메모리 접근이 동일한 비용을 가지지 않습니다.같은 서버 안에서도어떤 CPU가 어떤 메모리에 접근하는가에 따라 메모리 접근 시간과 시스템의 latency가 달라질 수 있습니다.1. NUMA란 무엇인가?NUMA는 Non-Uniform Memory Access의 약자입니다.말 그대로 메모리 접근 비용이 균일하지 않은 구조를 의미합니다.전통적인 단일 CPU 시스템에서는 다음과 ..
Why CPU Affinity and Core Pinning Matter in Low-Latency Trading SystemsTrading Engineering — Deep Dive #3In low-latency trading systems, CPU utilization alone does not tell the whole story.It also matters which thread runs on which CPU core, how often threads move between cores, and how efficiently each thread can reuse the data already present in the CPU cache.This is where CPU Affinity and Cor..
저지연 트레이딩 시스템에서 CPU Affinity와 Core Pinning이 중요한 이유Trading Engineering — Deep Dive #3저지연 Trading System에서 CPU 성능을 이야기할 때 흔히 다음과 같은 질문을 합니다."CPU 사용률을 최대한 높이면 성능도 좋아지는 것 아닌가?"반드시 그렇지는 않습니다.저지연 시스템에서는 CPU를 얼마나 많이 사용하는가뿐만 아니라,어떤 Thread가 어떤 Core에서 실행되는가도 중요합니다.Operating System의 Scheduler는 일반적으로 시스템 전체의 CPU 자원을 효율적으로 사용하기 위해 Thread를 여러 CPU Core에 분산시킵니다.하지만 매우 짧은 시간 안에 반복적으로 데이터를 처리해야 하는 Trading System에서..
Why False Sharing Matters in Multithreaded Low-Latency SystemsTrading Engineering — Deep Dive #2Understanding CPU Cache is not enough to build a low-latency trading system.Even when data is already in the CPU cache, performance can be significantly affected by how that data is laid out and accessed by multiple threads.One of the most important examples is False Sharing.False Sharing occurs when ..
저지연 멀티스레드 시스템에서 False Sharing이 중요한 이유Trading Engineering — Deep Dive #2저지연 트레이딩 시스템에서는 CPU Cache를 이해하는 것만으로 충분하지 않습니다.데이터가 Cache에 올라와 있더라도 서로 다른 스레드가 데이터를 어떻게 배치하고 접근하는가에 따라 성능이 크게 달라질 수 있습니다.그 대표적인 문제가 False Sharing입니다.False Sharing은 여러 스레드가 서로 다른 데이터를 사용하고 있음에도 불구하고, 그 데이터가 같은 Cache Line에 위치하면서 불필요한 Cache Line 이동과 동기화 비용이 발생하는 현상입니다.특히 다음과 같은 환경에서 문제가 될 수 있습니다.멀티스레드 Trading SystemMarket Data P..