The invention discloses a low delay communication system, which can effectively reduce the system delay problem in the financial derivatives trading system without the need for additional procurement of network hardware, and is easy to use. The system includes the API interface management module, the information exchange management module, the strategy management module, the descriptor management module and the data receiving module. The API interface management module is used to provide the data transceiver interface to the user application, and the information interaction management module is used to manage the communication machine between different processes. The policy management module is used to maintain the data distribution strategy method; the descriptor management module is used to manage the descriptors applied by all user processes; the data transceiver module is used to receive and receive data between the user layer, the kernel and the network card through the descriptor.
【技术实现步骤摘要】
一种低延迟通讯系统
本专利技术涉及金融期货领域中的技术,尤其涉及基于数据层开发工具包(DPDK,DatePlaneDevelopmentKit)的低延迟通讯系统。
技术介绍
近年来,随着金融衍生品品种的丰富壮大和金融知识的传播,越来越多的投资者参与到了金融衍生品交易中来。为了满足广大投资者的需求,规范不同交易所之间的系统接口,2005年国际金融信息交换组织(FIXProtocolLimited简称FPL)提出了基于减少带宽使用率的FAST编码方法。为了提高交易系统吞吐量,降低交易延迟,2013年FPL组织又提出了符合FIX规范的简单二进制编码方法,简称SBE。简单二进制编码方法的主要思想是通过在应用层对业务数据进行快速编解码,从而达到降低应用程序处理延迟的目的。然而,这一方法仅仅只是在应用层降低了数据处理延迟,并没有解决网络层带来的系统延迟开销。为了解决这一问题,美国Solarflare公司研发了一系列定制的低延迟通讯网卡和Onload程序套件。其主要方法是通过内核旁路的方式实现网络数据包从网卡到用户态的直接交互,从而达到降低操作系统延迟的目的。然而,该方案的采用必须购买Solarflare专用网卡。相比于目前市场上广泛使用的Intel网卡,这不仅增加了额外的成本开销,而且需要经过大量的稳定性测试。2010年Intel提出了数据层开发工具包(DatePlaneDevelopmentKit,简称DPDK),其主要思想也是通过内核旁路的方式在用户层直接处理网卡数据,从而达到降低网络层延迟的目的。然而,一方面该方案会造成网卡独占,也就是说操作系统将不能再访问被D ...
【技术保护点】
1.一种低延迟通讯系统,其特征在于,包括API接口管理模块、信息交互管理模块、策略管理模块、描述符管理模块和数据收发模块,其中:API接口管理模块,用于向用户应用程序提供数据收发接口;信息交互管理模块,用于管理不同进程之间的通信机制;策略管理模块,用于维护数据分发策略方法;描述符管理模块,用于管理所有用户进程所申请的描述符;数据收发模块,用于通过描述符在用户层、内核和网卡之间的数据收发。
【技术特征摘要】
1.一种低延迟通讯系统,其特征在于,包括API接口管理模块、信息交互管理模块、策略管理模块、描述符管理模块和数据收发模块,其中:API接口管理模块,用于向用户应用程序提供数据收发接口;信息交互管理模块,用于管理不同进程之间的通信机制;策略管理模块,用于维护数据分发策略方法;描述符管理模块,用于管理所有用户进程所申请的描述符;数据收发模块,用于通过描述符在用户层、内核和网卡之间的数据收发。2.根据权利要求1所述的低延迟通讯系统,其特征在于,API接口管理模块提供发送、接收、描述符申请、描述符释放四个API接口,其中描述符申请的信息包括源IP地址、目的IP地址、源端口号、目的端口号,以及数据类型。3.根据权利要求2所述的低延迟通讯系统,其特征在于,API接口管理模块包括第一描述符请求响应单元和第一描述符维护单元,其中:第一描述符请求响应单元,用户应用程序通过用户数据隔离层提供的API接口发出描述符申请,用户数据隔离层对描述符申请进行校验后将其打包封装再通过信息交互管理模块的共享内存管理单元中的描述符请求队列传递给网络数据包分发层,并发送信号量通知消息激活网络数据包分发层的用户请求响应线程,然后阻塞等待,用户请求响应线程被激活后从描述符请求队列中提取描述符申请并向描述符管理模块的第二描述符请求响应单元进行注册,然后向用户返回注册结果;第一描述符维护单元,用于维护当前进程中各个已申请的描述符的管理和释放,用户请求响应线程通过管道将描述符在共享内存中的分配信息返回给用户数据隔离层,用户数据隔离层解除阻塞后读取分配信息并调用第一描述符维护单元更新进程内存信息。4.根据权利要求3所述的低延迟通讯系统,其特征在于,信息交互管理模块所管理的通信机制包括共享内存、管道和信号量,当用户应用程序申请到一个描述符后维护该描述符所对应的数据收发队列缓冲区;信息交互管理模块包括共享内存管理单元和进程间通信管理单元,其中:共享内存管理单元,用于维护共享内存中各个数据结构的申请和释放;进程间通信管理单元,提供用户应用程序和底层环境的一套通讯机制,包括管道和信号量。5.根据权利要求4所述的低延迟通讯系统,其特征在于,策略管理模块包括ARP表维护单元、数据分发策略表维护单元和CPU线程绑定单元,其中:ARP表维护单元,用于实时的在内存中维护ARP表,并对外提供ARP信息查询接口;数据分发策略表维护单元,用于根据当前所有用户申请的描述符,对从网卡接收到的网络数据包进行匹配路由;CPU绑定单元,用于根据当前线程要处理的网络数据包的来源,选择一个最佳逻辑CPU进行线程绑定。6.根据权利要求5所述的低延迟通讯系统,其特征在于,描述符管理模块包括第二描述符请求响应单元和第二描述符维护单元,其中:第二描述符请求响应单元,用于维护当前系统中所有的用户应用程序描述符的申请和释放,第一描述符请求响应单元通过用户请求响应线程向第二描述符请...
【专利技术属性】
技术研发人员:张飞,张备战,余峰,张海荣,
申请(专利权)人:上海金融期货信息技术有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。