Sunday 19 April 2015

Blog List


This blog is about the journey of designing and developing SubMicroTrading (TM) an ultra low latency trading system over the last 5 years. As I cover certain topics (from SuperPools to Book Conflation to Strategy Container) I will make some sections of the code freely available.

The goal of this technical blog is to raise awareness of the potential for Java in implementing Ultra Low Latency Systems and share the techniques I have used.

Please note that work on SubMicroTrading has halted. I have a full time job in an IB (alas not in ultra low latency) and after more than 4 years have no more spare time for it.

Please follow the blog, If I get enough interest I will start open sourcing components including SubMicroFix a nanosecond level fix engine in java. Possibly the fastest fix engine in the world !

Blog List (from latest to oldest, click link to view)

Avoid Unnecessary Allocations and Memcpy's

SubMicroTrading Open Sourced on GIT

SubMicroTrading Ultra Low Latency Open Source Prep

Setting Thread Affinity and Priority from Java

Coding For Ultra Low Latency

Java Bytecode Latency Impact

Java JVM Tuning for Ultra Low Latency

Hardware and Linux Tuning for Ultra Low Latency

Measuring Latency in Ultra Low Latency Systems

Recommendations for Ultra Low Latency

Holistic Latency For Ultra Low Latency

Models & Generating Codecs






Future Blog Subjects (among others)

Application Design Techniques
Avoid GC with SuperPools 
ThreadLocal cost and Alternative
Threading Model in Ultra Low Latency System
Avoiding GC in Java
Utilising Unsafe Class
Java Class Field Offsets
Disruptor Anti-Pattern
Object Models in Ultra Low Latency systems
AntiSpring
Anti Reuse Pattern Immutable
Working Set Size
Run 24 * 7
Collection Sizing
SuperPools
Thread Multiplexing
Custom NIO : bypassing lock overhead and exception stack prep
Custom Maps with Reusable Nodes
SME Persistence vs Chronicle
Dates
Book Conflation & Atomic Book Reads (snapping)
Scaling Dynamic Market Data Sessions with CME
Strategy Container
T1 Strategy
Example Spread Strategy
JMX Admin Commands
High Availability & Resiliency
What Would I do Differently Now

No comments:

Post a Comment