A comprehensive collection of resources for building low-latency systems.
The goal of this project is to collect resources that help engineers achieve better performance in their systems.
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 achieving low latency. Accessing this article requires a Red Hat account.
Red Hat Enterprise Linux Network Performance Tuning Guide How to tune the network stack in the Linux kernel. Most low-latency trading systems 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.
Server vendors provide their own tuning guides. Generally, these guides contain similar sections: hardware tuning, OS tuning, network tuning, and benchmark tests. Hardware tuning sections typically cover enabling high-performance mode on servers. Subtle differences can be found in the OS tuning sections.
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
Configuring Low-Latency Environments on Dell PowerEdge Servers
Optimizing the High Frequency Trading GatiRT* Application on the latest Intel® Architecture Server
A few years ago, Intel Xeon CPUs were the only choice for low-latency systems, offering sufficient cores, CPU frequency, and cache capacity. Overclocked dual 2600-series CPUs were the mainstream solution, while some scenarios favored a single 1600-series CPU for higher frequency.
However, Xeon CPUs could only be overclocked via the base clock, limiting frequency gains to single-digit percentages. Core i5/i7 series CPUs offered higher overclocking ratios, but core counts were limited until Core i9 was released. A top Core i9 CPU like the i9-7980XE features 18 cores with 4.2 GHz turbo frequency, and some vendors can achieve 4.6+ GHz on all cores. Single-socket solutions eliminate inter-CPU latency, making i9-based servers a mainstream choice today. AMD’s EPYC CPUs now offer another competitive option.
Optimizing Computer Applications for Latency: configuring the hardware
Optimizing Computer Applications for Latency: tuning applications
Sockperf
iperf
IB verbs
ef_vi
libexanic
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.
Miscellaneous resources that may be reorganized into specific topics later.
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.
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.