Trading Platform Shared Memory Matching Engine Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional trading platforms face challenges in performance, scalability, reliability, and efficiency, particularly in areas of latency, throughput, customer interfaces, testing, monitoring, and systems security, while also requiring reduced power and cooling demands and rapid scalability, resiliency, and fault isolation.

Innovation Solution

A hardware and software architecture that combines to provide ultra-low latency and scalable throughput, featuring a distributed processing system with multiple independent trading environments, shared memory for quote processing, and a multicast protocol for messaging, along with redundant services and a container concept for hardware scalability, to support high resiliency and narrow fault domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional trading platforms are used, then basic trading functions are provided, but performance and scalability are insufficient

Engineering Contradiction:
ImprovethroughputVSAvoidperformance consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The trading platform is divided into multiple independent trading environments (clouds), each handling specific symbols or instruments. This segmentation allows parallel processing across multiple environments, significantly increasing throughput while maintaining consistent performance through independent operation of each environment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-threaded sequential processing model to a multi-dimensional parallel processing architecture using shared memory regions and multiple trading environments. This dimensional change enables simultaneous quote processing across multiple environments, dramatically improving throughput while maintaining reliability through independent failure isolation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If more servers are added to increase capacity, then throughput improves, but power and cooling demands increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidpower and cooling demands
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

Multiple trading environments share common infrastructure including hardware resources, operating system, and network connectivity through shared memory regions. This merging allows multiple processing environments to run on fewer physical servers, increasing processing capacity while reducing power and cooling demands compared to fully distributed architectures.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared memory regions and infrastructure serve multiple trading environments simultaneously, allowing a single server to perform multiple trading functions. This multi-functionality increases processing capacity without proportionally increasing power and cooling requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If a centralized architecture is used, then system operation is simplified, but fault isolation becomes difficult

Engineering Contradiction:
Improvesystem operation simplicityVSAvoidfault isolation
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system is segmented into independent trading environments that can be independently managed and monitored. Each environment handles specific symbols or instruments, providing natural fault isolation boundaries while maintaining simplified operation through standardized environment configurations and centralized monitoring capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Shared memory regions act as intermediaries between independent trading environments and the matching engine. This intermediary layer provides standardized communication protocols and data access patterns, simplifying system operation while maintaining fault isolation through the modular environment architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of time

If custom hardware is designed for high performance, then latency is reduced, but device complexity increases

Engineering Contradiction:
ImprovelatencyVSAvoidhardware architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system replaces complex custom hardware designs with software-optimized processing in standard server environments. Shared memory regions and direct memory access techniques eliminate mechanical I/O bottlenecks, achieving ultra-low latency through software architecture rather than specialized hardware, thereby reducing device complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

Shared memory regions serve as intermediaries that provide direct, high-speed access between trading environment applications and the matching engine without traditional I/O overhead. This intermediary mechanism achieves low latency through memory-level communication rather than complex hardware interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8868461B2Electronic trading platform and method thereof
Publication Date: 2014.10.21 MIAMI INTERNATIONAL HOLDINGS INC
  • US8868461B2 patent drawing
  • US8868461B2 patent drawing
  • US8868461B2 patent drawing

AI summary

An electronic trading platform performs trading of one or more types of financial instruments and includes at least one cloud providing at least one independent trading environment executed by a server. The at least one cloud includes a plurality of instances of an express interface application executed by the server and configured to receive interests in the financial instruments. The plurality of instances of the express interface application are configured to write the interests to a shared memory on the server. A matching engine, executed by the server, is configured to continuously poll the shared memory, read the interests written by the plurality of instances of the express interface application, analyze the read interests to determine if there is a matching contraside interest and allocate matching interests based on at least one allocation rule.