High Bandwidth Data & Low-latency Java
summary
Built a reliable multicast system called feedster caster that replaces TCP with a versioned multicast protocol to avoid NACK storms, keeps internal traffic near upstream rates, and handles multi‑GBps spikes (10+ Gbps observed). Publishers tag messages by key/version so retransmits are skipped when newer values exist. Parsers run in C/C++ and broadcast into shared memory + C library; Java clients use Unsafe for off‑heap reads to hit sub‑millisecond latencies while avoiding GC pressure, and the system scales in production.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 7:29Market data overload crisis
- 13:25Feedster Caster architecture
- 15:55Abandoning multicast libraries
- 20:10Reliable multicast design
- 26:30Shared memory across languages
- 30:25Unsafe for Java access
- 34:15Reading data with Unsafe
- 40:32Lock-free data access
- 45:03C library challenges
- 47:28Rebuilding results
- 49:58Language choices summary
related talks
01h 01mJava compilers: Why Java is one of the first options for Low latency apps
18mCloudcast: High-Throughput, Cost-Aware Overlay Multicast in the Cloud
20mZero-Change Object Transmission for Distributed Big Data Analytics
47mUltralow Latency with Java 11 and Terabytes of Data
46mFrameworks Unplugged: Building Distributed Systems in Pure Java
21mBig Data, Small Computers
50mUltra fast Java In Memory Database Apps and Microservices with MicroStream
52mDistributed Object Graphs with MicroStream
