01
高频交易系统概述
什么是高频交易、核心性能指标(延迟、吞吐量、抖动)、为什么需要内存池与锁优化。
入门核心概念
02
内存分配的性能陷阱
malloc/free的代价、操作系统内存管理、缓存行与伪共享问题。
内存性能
03
内存池设计原理
固定大小内存池、可变大小内存池、无锁内存池架构。
内存池架构
04
无锁编程基础
CAS操作、内存屏障、ABA问题及其解决方案。
无锁原子操作
05
自旋锁与互斥锁
自旋锁原理、互斥锁原理、适用场景对比、性能测试。
锁并发
06
读写锁优化
读写锁原理、写优先与读优先策略、在高频交易中的应用。
读写锁优化
07
无锁队列实现
单生产者单消费者队列、多生产者多消费者队列、内存屏障优化。
无锁队列SPSC
08
RCU机制
RCU原理、在高频交易中的应用、与读写锁的对比。
RCU读多写少
09
线程局部存储
TLS原理、在高频交易中的应用、性能优势。
TLS线程
10
缓存优化
数据对齐、缓存行填充、预取指令、分支预测优化。
缓存CPU
11
内存池实现实战
固定大小内存池代码实现、性能测试、与malloc对比。
实战代码
12
无锁栈实现
Treiber栈、消除ABA问题、性能测试。
无锁栈Treiber
13
无锁链表实现
有序链表、插入删除操作、性能测试。
无锁链表CAS
14
无锁哈希表实现
分桶设计、动态扩容、性能测试。
哈希表无锁
15
内存池与无锁结构结合
内存池管理无锁节点、减少GC压力。
内存池无锁
16
订单簿数据结构
限价订单簿、价格-时间优先级、内存池优化。
订单簿L2
17
事件驱动架构
事件循环、无锁事件队列、内存池管理事件。
事件驱动EDA
18
零拷贝技术
mmap、共享内存、减少数据复制。
零拷贝mmap
19
CPU亲和性与绑核
设置CPU亲和性、隔离核心、减少上下文切换。
绑核CPU
20
NUMA架构优化
NUMA感知内存分配、避免跨节点访问。
NUMA内存
21
性能分析工具
perf、火焰图、Valgrind、自定义延迟测量。
perf火焰图
22
锁竞争分析
锁粒度优化、锁分解、锁分段技术。
锁竞争粒度
23
乐观锁与悲观锁
乐观锁原理、在高频交易中的应用、适用场景。
乐观锁悲观锁
24
序列锁
序列锁原理、与读写锁对比、在高频交易中的应用。
序列锁seqlock
25
内存回收机制
引用计数、延迟回收、Epoch-Based回收。
内存回收EBR
26
原子操作深入
C++11/C11原子库、内存序模型、编译屏障。
原子操作内存序
27
SIMD优化
SIMD指令集、向量化数据处理、在高频交易中的应用。
SIMD向量化
28
网络栈优化
DPDK、内核旁路、零拷贝网络、内存池管理网络包。
DPDK网络
29
系统调优
内核参数调优、大页内存、关闭NUMA balancing。
系统调优大页
30
综合实战:低延迟订单处理系统
构建一个低延迟订单处理系统、集成所有优化技术、性能测试与对比。
综合实战项目