让交易路径拥有专属内核
专为在 Linux 上运行行情、策略与订单执行的交易机构打造。内核调优可以减少交易核心上的操作系统噪声,Multikernel 则从源头消除噪声:交易路径运行在独占核心与内存的独立内核中,驱动、中断、内存回收以及其他一切都运行在另一个内核、另一组核心上。
调优为何存在下限
CPU 隔离、无时钟节拍运行、RCU 卸载与中断亲和性,可以把大部分噪声移出交易核心,却无法移走这些核心仍在共享的东西:内核本身。
共享的内核状态
隔离后的核心仍然使用同一个页分配器、同一条内存回收路径和同一组全局锁。其他核心上的风控进程、日志程序或批处理作业,都可能借此拖慢交易线程。
全局性打断
代码修补、内核 TLB 刷新等全局操作会打断该内核所运行的每一个 CPU,无论是否隔离。启动参数只能推迟这类工作,无法消除。
一个内核 · 一个变更窗口
所有策略、行情处理程序和研究任务共享同一个内核版本和同一套启动配置。改动其中任何一项,都意味着要在交易时段之外重启。
每条交易路径一个内核
Multikernel 把每台服务器划分为多个独立的 Linux 内核,各自拥有专用核心与内存。延迟敏感的路径与系统其余部分共享硬件,而不共享内核。
每条路径都在自己的核心与内存上运行自己的内核。一个内核的后台维护工作,永远不会跑到另一个内核的核心上。
无中断的交易核心
磁盘、管理网络以及其他所有设备的中断都归设备内核所有,在它自己的核心上处理。交易内核只会收到分配给它的设备所产生的中断。
直接拥有网卡
按 PCI 地址把面向交易所的网卡分配给交易内核。网卡驱动运行在该内核中,数据包从不经过其他内核。
无人能回收的内存
交易内核拥有自己的分配器、页缓存与内存回收。在我们的高内存压力测试中,缺页处理的 p99 比共享内核低 153 倍,而大量占用内存的作业依然全速运行。阅读测试详情(英文)。
按内核保留您的调优
保留您的低延迟配置:无时钟节拍核心、时钟频率、抢占模型、大页与内存回收策略。每个内核都启动自己的构建和命令行参数,交易内核可以深度调优,研究任务则运行通用内核。
围绕交易时段的运维
独立的内核也意味着独立的变更窗口与独立的故障域。
内核变更无需重启
LiveUpdate 在运行中的内核旁启动打过补丁或重新调优的内核,在您选定的时机迁移工作负载,并保留旧内核以便即时回滚。研究内核可以在交易时段内变更,而不触碰交易路径。
崩溃不扩散
研究或分析内核的崩溃只局限在该内核内,交易内核持续运行。保存在 DAXFS 共享内存上的状态可在应用内核崩溃后完好保留,重启无需从零开始。
托管机房与云
同一套技术栈既可运行在托管机房的裸金属服务器上,也可运行在您已租用、用于研究与回测的云实例上。两处都不会额外引入虚拟机管理程序。