The Making of an Ultra Low Latency Trading System with Go and Java
summary
An exchange-grade matching engine serializes each market as a deterministic state machine and achieves sub-50 microseconds E2E with matching times near 1 microsecond, 300,000 req/s peaks, and Aeron cluster + replicated RAFT logs for replay and debugging. Implementation details: Java with Azul Zolo Prime (warmup and pauseless GC), Aeron messaging, OpenOnload / dbdk kernel bypass, Intel Optane NVMe and cut‑through switches; it works on bare metal and can approach similar app latency on AWS only after careful AZ/spine placement, instance and NVMe choices, CPU pinning and scheduler tuning.
AI-written summary · about
chapters (12)
- 0:00Start
- 4:05Orbital view of an Exchange
- 11:51Replicated RAFT Log
- 13:37Replicating For Scalability
- 14:58Hardware Environment for CDE
- 20:44Secrets with AWS Networks
- 25:28Fast Memory Access
- 27:09Java Challenges - Warmup
- 28:21Java Challenges - Garbage Collection
- 28:41Network Optimizations
- 41:56Hint: Goroutine scheduler delay
- 45:43Realization: Golang is optimized for throughput
related talks
51mHigh Bandwidth Data & Low-latency Java
21mTime Synchronization using ML Techniques in Electronic Trading
13mLive in the Express Lane
50mHigh Performance Network Programming in Rust
25mShenango: Achieving High CPU Efficiency for Latency-sensitive Datacenter Workloads
15mAquila: A unified, low-latency fabric for datacenter networks
15mMore Than Capacity: Performance-oriented Evolution of Pangu in Alibaba
15mNaos: Serialization-free RDMA networking in Java
