申万宏源:证券低时延交易系统全链路自主可控创新实践 |论坛实录

由中科驭数主办的第二届证券基金行业先进计算技术大会暨2024低时延技术创新实践论坛(上海站)在上海举行。会上各位嘉宾深入的分享,吸引了不少行业同仁对本次会议干货内容的关注。特此,中科驭数整理部分演讲者发言实录,与大家共享。

本次首篇分享来自申万宏源联合实验室低时延技术负责人张宏的主题演讲——《证券低时延交易系统全链路自主可控创新实践》。作为证券机构代表及申万宏源低时延实验室的技术负责人,张宏在会上分享了申万宏源联合实验室在信创生态下的探索实践,以多组实验室业务系统测试结果详实地呈现了当前信创低时延基础设施架构演进成果和市场图谱。

fd3702ade7a2d7ac0e3c48a3755785b1.jpeg

以下为申万宏源张宏演讲文字实录:

全文2538字|阅读约8分钟

大家下午好!

今天,我代表我们申万宏源与各位嘉宾、各个行业的专家一起交流和探索关于信创相关领域的技术话题。今天带来的分享主题是《证券低时延交易系统全链路自主可控创新实践》,副标题是《信创低时延基础架构新探索和应用的最佳实践》。

申万宏源联合实验室于2022年5月完成国内市场调研后,在9月份与国内多家软硬件厂商联合成立。联合实验室涵盖了低时延、AI智能投研等多个模块,其中我主要负责低时延模块。因此,我今天的分享将重点围绕低时延方面的信创实验展开。

在国产信创大背景下,证券公司需要同时推进公司金融科技进程和系统信创化改造,需要占据信创生态下的金融科技竞争先发优势,形成支持业务发展的技术亮点。传统极速交易以国外产品为主,如何在信创生态下做到极速交易的速度优势、技术优势,业界同样处于探索阶段。硬件与硬件的适配、设备与网络的适配、硬件与OS的适配、OS与应用的适配,都需要自行研究验证。

申万宏源联合实验室信创低时延项目也是希望以灵活弹性,集约高效底座支撑,推动信创的改造。自2023年5月启动筹备、协调资源以来,我们已经在9月份进行了基础设施测评。随后10月份,在基础设施测评的基础上,我们又进行了业务系统的测试。到了11月份,我们也与软硬件厂商和专家共同进行了全链路调优。整体来看,信创低时延实验室在不断迭代,持续改进。

我们信创低时延实验室引入了科学度量统计工具,有的放矢地进行全链路分析,找出痛点,并调动资源和力量进行调优,以达到最佳业务效果;为了确保公平和数据的准确性,我们还采用了控制变量法进行测评,充分验证不同场景下的低延时技术性能,并向周边系统推广以及形成公司整体技术优势,技术输出。

具体实验室度量工具和方法论:

· 交换机测试环境与方法

采用控制变量法针对 9 个不同品牌交换机,16 种不同模式进行了打点测试。

· 服务器测试环境与方法

采用标准intel官方测试方法Linkpack、MLC,针对当前最高性能的KP 3.0、HG 三号、Intel超频服务器进行测试对比。

并针对当前市场主流低时延网卡Solarflare X2522作为基准,采用开源工具cns-sfnet-test、cns-sysjitter,评测中科驭数低时延网卡性能。

· 软件系统测试环境与方法

软件系统测试分为非信创方案与信创方案。针对基础设施表现较好的对照组,结合快速交易软件系统,得到全链路时延最优的方案。

接下来,我将重点分析下本次实验室聚焦信创高频极速交易领域,在基础设施测评、以及业务系统测评下的不同技术性能表现的数据对照情况,并将全信创方案与非信创方案进行比对,验证核心业务全信创改造可能性。

■ 实验室基础设施测评

交换机方面,我们选用了市场主流的交换机进行横向测试,涉及从L1、L1.5、L2到L3层的9个不同品牌。L2&3交换机中,目前国产HW6885与国际厂商同处于纳秒级水平,虽然略有差距,但能够接受,而且这个差距也是在快速追赶之中。L1&1.5交换机的测试结果还是令我惊讶的,T804与H3 616功能齐全,与国际厂商的主流交换机A 713性能处于第一梯队。可以说,国内外厂商基础设施交换机领域已经呈现追赶的技术趋势。

d3aeb58fdd1a75126bfb6b541b2b145b.jpeg

CPU网络性能延时测评方面,在国产信创服务器相比intel主流产品主频相差一倍情况下,性能差距约为23%-27%。小包场景(256bytes以下),KP 920与HG 三号表现相当;大包场景(256bytes及以上),KP 920更具优势(KP 主频略高)。

5e98ff378082c59f35f457f94eb9c95e.jpeg

服务器方面,我们分了四个方案来进行横向测评,分别是KP+中科驭数+QL、HG+中科驭数+QL、Intel+中科驭数+ CentOS、Intel+ Solarflare+ CentOS。测试结果显示,相比当前生产环境中普遍使用的Intel+Solarflare方案,Intel+中科驭数方案更具有时延优势。全信创方案相比非信创方案,在金融证券常用的64、128、256bytes表现接近,差距在5%左右。

d483d6884db30dce1685f2d8d2724e8f.jpeg

基础设施最后一个测的是实验室全信创环境和生产半信创环境的对比。这组测试中,服务器、主频、操作系统都是一样的,唯一不同的是,生产环境下网卡使用的是CX5,交换机是3548,而实验室环境是中科驭数2200N+HW 6885。相比当前半信创生产环境,采用HW CE6885 + KP 920 + 中科驭数SWIFT-2200N,在全信创环境下整体提升6% - 11%,这给了我们整个信创改造很大的信心。

dcad1a338afca85a8d99132a3b3ce97f.jpeg

■ 实验室基础设施测评

在上面基础设施测评的基础上,我们也叠加测试了A厂和D厂两家业务系统。接下来看下A厂和D厂快速交易系统的非信创方案和信创方案的不同表现:

A厂快速交易系统

在A厂快速交易系统的非信创方案来看,基于(搭载Intel(R) i9-10980XE)的超频服务器进行多种不同测试模型验证测试的结果显示,A厂柜台在使用中科驭数网卡时上下行性能表现更好,时延领先14% - 17%。

A厂快速交易系统的全信创方案采用KP 920服务器、HW 6885交换机、中科驭数2200N低时延网卡,组成全信创解决方案。上行穿透时延保持在5us左右,下行3.x us左右,能够满足极速交易的业务需求。

A厂信创方案全链路应答时延为相比非信创时延上下行时延均有增加,但整体时延保持在个位数微秒以下,全链路延时保持同一微秒级水平,能够满足极速交易的业务需求。

6b2bfce7863d6325dde3a0a60c1c44f4.jpeg

D厂快速交易系统

在D厂快速交易系统的非信创方案来看,基于当前性能最优(搭载Intel(R) i9-13900KS)的超频服务器,与Arista7150构成的集成测试环境中,D厂柜台在使用中科驭数网卡时性能表现同样也是最佳的,柜台应答全链路时延领先17%。

信创方案上行穿透延时中位数3.66 us,非信创上行穿透时延为中位数1.18 us。全链路延时保持同一微秒级水平,能够满足极速交易的业务需求。

404c6812aeb872c00ba1d0aa5d4e1cbd.jpeg

另外,我们在一家深度合作的私募客户实盘测速过程中,中科驭数在真实行情表现中,多数包时延表现强于Solarflare X2522,在行情快照中位&平均数、逐笔成交中位&平均数、逐笔委托中位数均具有优势。

91456d63fa3b828a3cb1e0fcc45dfc7e.jpeg

■ 实验室2024年计划

最后,实验室2024计划依然是继续探索研究金融证券行业全信创基础架构的最佳实践和解决方案。首要任务是对国产数据库、操作系统以及服务器进行全面横评,涵盖性能、可靠性、并发度、兼容性、内存性能、IO性能、功耗等多个方面。

2024年的测试图谱主要聚焦点包括硬件的兼容性,以及软件证券行业主流厂商。在网络方面,我们关注带宽、时延、稳定性和磁盘的随机读写。对于全信创网关,我们今年已经申请了将实盘行情引入实验室环境,以进行更全面的行情测试。

全链路延时统计度量路径上,我们也会从进行行情服务器调优、策略机调优、极速交易柜台调优、交易报盘服务器调优、以及全链路部署调优。整个优化过程中,我们也要提供更智能的负载亲核设置、更深度的系统底座优化、提供更灵活、智能的电源管理方案、更低时延的网络通信解决方案。

以上就是我今天的主题分享,谢谢大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/440244.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django学习之orm框架

八、Django学习之orm框架 其他关于Python Web开发笔记:(如果遇到问题可以一起交流~) 一、Flask学习之HTML-CSDN博客 二、Flask学习之CSS-CSDN博客 【接上篇】二、Flask学习之CSS(下篇)-CSDN博客 三、Flask学习之Bo…

BUUCTFSQL注入(部分)

原来靶场不是最折磨的,新手做ctf才是 1.[极客大挑战 2019]LoveSQL 我一共做了三题,先来讲里面最简单的题吧 看见一个登录框,先尝试注入,发现会报错,而且不过滤# ,于是就开始常规操作 1 union select 1,d…

3985. 辗转相除法

一、题目 Problem #3985 - ECNU Online Judge 二、思路 第一眼还以为是最基本的欧几里得,然后一个劲地在那里找合适的一组整数,找了一会没找到,后面直接用随机查找一下子找到了 三、代码 import sun.misc.GC;import java.util.Random; impo…

类和对象 第五部分第六小节:函数调用运算符重载

1、函数调用运算符&#xff08;&#xff09;可以重载 由于重载后使用方式非常像函数的调用&#xff0c;因此称此为仿函数 代码案例&#xff1a;打印输出仿函数 #include<iostream> using namespace std; class MyPrint { public://重载函数调用运算符void operator()(str…

2分钟快速了解!全网最详细的性能测试教程之【Redis 简介和安装】

本篇文章主要介绍基于Redis的的简介和安装&#xff0c;其中参考了许多大佬写的文章&#xff0c;算是做一个Redis的基础教程吧。 Redis 简介 Redis 是完全开源的&#xff0c;遵守 BSD 协议&#xff0c;是一个高性能的 key-value 数据库。 Redis 与其他 key - value 缓存产品有…

【数据结构:顺序表】

文章目录 线性表顺序表1.1 顺序表结构的定义1.2 初始化顺序表1.3 检查顺序表空间1.4 打印1.5 尾插1.6 头插1.7 尾删1.8 头删1.9 查找1.10 指定位置插入1.11 删除指定位置数据1.12 销毁顺序表 数据结构(Data Structure)是计算机存储、组织数据的方式&#xff0c;指相互之间存在一…

2024情人节爱心表白--python代码

# coding=utf-8 import random import turtle from datetime import *# 抬起画笔,向前运动一段距离放下 def Skip(step):turtle.penup()turtle.forward(step)turtle

学会用Python分割、合并字符串

在很多情况下&#xff0c;我们需要对字符串进行分割或合并&#xff0c;以满足特定的需求&#xff0c;例如将字符串拆分成多个部分、将多个字符串合并成一个等等。Python提供了多种方法来进行字符串的分割和合并&#xff0c;本文将介绍其中几种常用的方法。 一、使用split()函数…

git仓库批量备份

git的mirror参数 在git中&#xff0c;--mirror是一个用于克隆和推送操作的参数。它用于创建一个镜像仓库&#xff0c;包含了源仓库的所有分支、标签和提交历史记录。 当使用git clone --mirror <source-repo>命令时&#xff0c;会创建一个完全相同的镜像仓库&#xff0…

promethues之POD搭建

服务自动发现 consonl node主机发现 kube-api自动发现 prometheus的容器化部署 mdkir prometheus cd prometheus mdkir node cd node vim node.yaml apiVersion: apps/v1 kind: DaemonSet metadata:name: node-exporternamespace: monitor-salabels:name: node-exporter sp…

Shell中sed编辑器

1.简介 sed是一种流编辑器&#xff0c;流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据&#xff0c;这些命令要么从命令行中输入&#xff0c;要么存储在一个 命令文本文件中。 2.sed编辑器的工作流程 sed…

实战教程:如何用Spring Boot和MySQL存储共享单车数据

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…