A collection of everything about low latency systems.
The goal of this project is to collect resources that help people to get better performance in their system.
If you have anything about this project, please submit a GitHub issue here.
-
Redhat Linux Performance Tuning Guide An essential manual of tuning Linux OS. Concepts and tools are introduced in this article. It's a perfect entry of performance optimization. It works with RHEL and Centos. Other distributions may have different toolchains. But the concepts are similar. Please select the right version number for your system.
-
Low Latency Performance Tuning for Red Hat Enterprise Linux 7 Based on concepts introduced in the article above, this article focuses on how to get low latency. To access this article needs a Red Hat account.
-
Red Hat Enterprise Linux Network Performance Tuning Guide How to tune network stack in Linux kernel. Most of low latency trading system use kernel bypass to reduce network latency.
-
Talks on Redhat Summit: Performance analysis and tuning of Red Hat Enterprise Linux, This talk series shows how engineers think about performance tuning and their practices.
- Videos: 2018 Part 1, 2018 Part 2
- Notes of 2015 talk
Server vendors have their tuning guides. Generally, a tuning guide from a server vendor contains similar sections which are hardware tuning, OS tuning, network tuning, benchmark test, etc. In a hardware tuning section, there would be some options about turning on high performance mode on a server. Some subtle differences would be in OS tuning section.
-
Configuring and tuning HP ProLiant Servers for low-latency applications This document updates when HP releases new sku. The latest version is 201710.
-
HPE Trade and Match Server: HPE ProLiant XL1x0r Gen9 servers using Intel Xeon E5-1680 v3 processors A solution that uses 1 overclocking CPU to get higher CPU frequency than dual socket servers.
-
HPE Gen10 Servers Intelligent System Tuning HP's new tech to remove jitters in G10 system.
-
HP Gen8 technologies for low latency, high-performance trading, and exchanges
-
HP Gen8 technologies for low latency, high performance trading and exchanges
-
Configuring Low-Latency Environments on Dell PowerEdge Servers
-
Optimizing the High Frequency Trading GatiRT* Application on the latest Intel® Architecture Server
Few years ago, Intel Xeon CPU was the only choice for a low latency system. It provides enough cores, CPU frequency, cache capacity, etc. Overclocked dual 2600 series CPU was the mainstream solution. Some scenarios would choose a single 1600 series CPU for higher frequency. Xeon CPU has a problem. They only could be overclocked via the base clock. That means only 1 digit percentage of frequency increment. Core i5/i7 series CPU could provide a high overclocked ratio. But the core number was a problem until core i9 released. A top core i9 CPU like i9-7980XE has 18 cores with 4.2 GHz turbo frequency. Some vendors can make all cores running at 4.6+ GHz. A single socket solution removes the latency between CPUs. Servers based on i9 is a mainstream solution now. The same thing happened with AMD. AMD's EPYC CPU is another choice now.
-
Optimizing Computer Applications for Latency: configuring the hardware
-
Optimizing Computer Applications for Latency: tuning applications
- Solarflare Server Adapter User Guide This user guide contains a chapter Performance Tuning on Linux which
-
Performance Tuning Guide for Mellanox Network Adapters
-
How to tune libvma and other tools from mellanox to improve network performance.
- STAC
-
Sockperf
-
iperf
-
IB verbs
-
ef_vi
-
libexanic
-
OpenOnload Google Talk Compared different accelerate technology approach that Solarflare used in OpenOnload compared latency, bandwidth by using openonload and kernel
-
A blog for RDMA programming and concept
-
InfiniBand Technology Overview An advanced introduction to IB
-
introduction to Infiniband just a simple introduction. The only advantage is there are many diagrams.
-
Introduction to InfiniBand An introduction to IB from Mellanox whitepaper.
-
Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Ethernet
-
A tool that measures the jitter experienced by user-level threads running on each CPU core of a computer. Such jitter may be caused by interrupts, OS threads, system management interrupts or other processes on the system.
All openOnload download is here http://www.openonload.org/download/
-
A tool used for measure OS hiccup.
-
HP-timetest I don't get this tool now. Need help.
These resources will be moved to right topics later.
-
A Low-Latency Solution for High Frequecy Trading From IBM and Solarflare It's a very old solution that looks like a system has not been tuned well.
-
Low Latency in Linux kernel An article from 2000. Very very old.
-
Understanding TCP/IP network stack and writing network programming
-
How does an algorithmic trading system architecture look like
-
Evolution and practice: Low-latency Distributed Applications in Finance
-
Low-latency networks for trading infrastructure Fujitsu An introduction of Fujitsu's optical infrastructure.
- Tolly Test Report:Mellanox Spectrum vs. Broadcom StrataXGS Tomahawk 25GbE & 100GbE Performance Evaluation
- The Next Frontiers for Low Latency Programmers
- Webinar from Mellanox: The latest Trend of Low Latency Programming
- Verbs Programming, Raw Ethernet
- Low Latency Optimization
- Tolly Test Report:Mellanox Spectrum vs. Broadcom StrataXGS Tomahawk 25GbE & 100GbE Performance Evaluation
- The Next Frontiers for Low Latency Programmers
- Webinar from Mellanox: The latest Trend of Low Latency Programming
- Verbs Programming, Raw Ethernet
-
A Low Latency Library in FPGA Hardware for High Frequency Trading (HFT) An article from alog-logic. Here is the external link. The origin link on algo-logic.com is 404 error.
-
Efficient Event Processing through Reconfigurable Hardware for Algorithmic Trading
-
NetFPGA-10G Information A FPGA solution in 2012. Should update to latest news.
-
FPGA smart NIC card A list of FPGA solution of NIC. A 2013 article, it's a little expired.
-
FPGA options for ultra low latency HFT with stunningly convincing Youtube video with Algo Logic with some technical papers A 2013 article also.
-
FPGA developer A FPGA site that focuses on tech not finance solution.
-
How are HFT systems implemented on FPGA nowadays A QA on stackexchange
The choices are not so many for low latency system.
- Zing. A JVM solution Zing is a JVM solution for performance critical usage.
- Ultra Low Latency Trading Systems: A blog about techniques used to build www.SubMicroTrading.com
- CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”
- ACCU 2017: Lock-free programming with modern C++ - Timur Doumler
- CppCon 2014: Herb Sutter "Lock-Free Programming Part I"
- CppCon 2014: Herb Sutter "Lock-Free Programming Part II"
- My LinkedIn Page
- [email protected]
- Wechat if you know: trador