高频交易底层优化方案

高频交易底层优化方案

💡 原文中文,约7900字,阅读约需19分钟。
📝

内容提要

随着区块链行情热度增加与玩家增多,Cefi系统构建面临新机遇与挑战。本文提供在亚马逊云科技上构建Cefi高频交易系统的优化思路与硬件选择参考。

🔎

延伸解读

超线程对高频交易的影响

文章指出,在启用超线程的CPU中,每个物理核对应两个vCPU,但L1、L2缓存为物理核独享。即使将进程绑定到vCPU,也可能因共享物理核资源而产生竞争。因此,对于时间敏感的进程,建议关闭超线程,将Threads per core设为1,以减少CPU切换,保证缓存命中率和计算效率。

EC2机型选型的关键权衡

高频交易需兼顾CPU计算能力和网络性能。文章推荐C7i、C6in和C7gn三款机型:C7i采用第四代Intel至强,计算性能强但暂无网络增强;C6in为第三代Intel至强并附带网络增强;C7gn采用Graviton3 ARM CPU,无超线程且价格约为同规格Intel的80%。选择时需根据业务对适配性、计算和网络的需求排序。

实例大小与网络带宽的关系

EC2实例从8xlarge开始提供固定网络带宽,更小规格则标注“up to”表示带宽非固定。高频交易建议使用8xlarge以上机型以保证稳定高带宽。此外,大机型可提高行情利用率,减少重复获取,提升单核性价比,并支持更多网卡和IP,便于多账号交易。

内核旁路技术的适用性与局限

DPDK通过轮询模式绕过内核协议栈,减少CPU中断和上下文切换,但需独占一个CPU核心,且配置开发复杂,优化效果为微秒级。文章认为其优先级可降低,但若采用,需结合绑核操作,并推荐使用更大机型以提供独占核心。

❓

Q&A

高频交易系统在Cefi中面临哪些挑战?

高频交易系统在Cefi中面临盈利机制单一的挑战,需要更好利用云架构以保证收益稳定。

如何选择适合高频交易的EC2实例型号?

建议优先选择C7i、C6in和C7gn型号,考虑CPU计算能力和网络性能。

在高频交易中,为什么要关闭超线程?

关闭超线程可以减少资源竞争,提高策略计算时的缓存命中率和计算效率。

使用DPDK有什么优势?

DPDK可以绕过内核协议栈处理数据包,减少CPU中断带来的性能影响,提高数据处理效率。

高频交易中如何优化网络性能?

可以启用ENA以获得额外的网络性能指标监控,及时发现网络瓶颈。

高频交易中如何处理多IP限制?

可以通过Amazon EC2的多网卡多IP功能,避免触发单个IP限制。

🏷️

标签

➡️

继续阅读