CN114024910A - Extremely-low-delay reliable communication system and method for financial transaction system - Google Patents

Extremely-low-delay reliable communication system and method for financial transaction system Download PDF

Info

Publication number
CN114024910A
CN114024910A CN202111276461.8A CN202111276461A CN114024910A CN 114024910 A CN114024910 A CN 114024910A CN 202111276461 A CN202111276461 A CN 202111276461A CN 114024910 A CN114024910 A CN 114024910A
Authority
CN
China
Prior art keywords
message
reliable
delay
performance
low
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111276461.8A
Other languages
Chinese (zh)
Inventor
陈亮
王志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Guangce Information Technology Co ltd
Original Assignee
Shanghai Guangce Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Guangce Information Technology Co ltd filed Critical Shanghai Guangce Information Technology Co ltd
Priority to CN202111276461.8A priority Critical patent/CN114024910A/en
Publication of CN114024910A publication Critical patent/CN114024910A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2491Mapping quality of service [QoS] requirements between different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses an extremely-low-delay reliable communication system and method for a financial transaction system. The low-delay exchanger is used for forwarding the transaction data packet, and the delay is hundreds of ns; the low-delay network card is used for data encapsulation and decapsulation, link management, encoding and decoding; the FPGA is used for carrying out hardware acceleration processing on the reliable communication message protocol; the server runs a high-performance communication component for reliable communication protocol software processing and can perform one-to-many or many-to-many scene publishing and subscribing. The invention relates to the technical field of financial transaction, which is applied to the market system market release of a trading place, market transaction gateways of a trading center and a trading counter. The technology and the method of the invention adopt the large-scale programmable FPGA, and the software and the hardware are accelerated cooperatively, can be flexibly customized according to the service characteristics, and have the advantages of large capacity and high processing speed; the method can effectively cope with high concurrency scenes and has short system response time.

Description

Extremely-low-delay reliable communication system and method for financial transaction system
Technical Field
The invention relates to the technical field of financial transactions, in particular to an extremely low-delay reliable communication system and method for a financial transaction system.
Background
The transaction processing performance is an important index for embodying the core competitiveness of the electronic transaction platform, the communication delay is one of the core factors influencing the whole transaction performance, the communication delay is reduced to be below 50 microseconds by the current global leading electronic transaction platform, and compared with the prior art, indexes such as the processing performance of the domestic transaction center transaction system still have great improvement space obviously.
The traditional trading platform consists of a market system and a market gateway, wherein a communication component is used for a central information system communication and data transmission component, and is shown in figure 1: the market data is received by the low-delay network card after passing through the switch, is sent to market gateways for FIX and SBE coding and decoding conversion after reliable transmission processing based on connection through the communication assembly, and is sent to a transaction user side through the communication assembly, one market system corresponds to a plurality of market gateways, one market gateway can be accessed to a plurality of transaction users, namely, 1-to-1 and 1-to-many scenes exist.
One existing communication mode is a TCP mode, a client/server connection mode, and multiple TCPs are used to connect a transaction user with a market gateway. Another communication mode is to use UDP mode, peer/peer connection mode, and combine multicast IP address, quotation system and quotation gateway, and use multicast address between trading users.
Both of these treatments have their disadvantages:
in the scheme 1, due to the TCP connection state machine, the performance requirements of queue processing on multiple servers are high, the transmission delay is long, and the method cannot adapt to high throughput and high concurrency scenes.
In the scheme 2, because the UDP message is not connected and unreliable, and is not retransmitted after being lost, all service subscriptions under the multicast address are consistent, and the subscription and consumption can not be carried out as required.
Disclosure of Invention
Technical problem to be solved
Aiming at the defects of the prior art, the invention provides an extremely-low-delay reliable communication system and method for a financial transaction system. The high-performance communication assembly carries out reliable UDP transmission layer protocol and Pub/Sub communication mode processing and realizes zero copy in the whole process in a memory sharing mode. Software and hardware cooperation can make full use of low delay to promote the processing performance, has solved traditional transaction system and has delayed height, the performance is low, shakes big unstable problem. The invention is used for the extremely low time delay communication of the financial transaction system, realizes a high-performance and high-concurrency reliable communication mode, and reconstructs a data transmission flow. The method supports the requirement of extremely low delay of transaction processing under the future high-throughput and high-concurrency scenes.
(II) technical scheme
In order to achieve the purpose, the invention is realized by the following technical scheme: an extremely low delay reliable communication system for a financial transaction system comprises a low delay switch, a low delay network card, an FPGA and a server;
the low-delay switch is used for forwarding a transaction data packet, and the delay is hundreds of ns;
the low-delay network card is used for data encapsulation and decapsulation, link management, encoding and decoding;
the FPGA is used for carrying out hardware acceleration processing, multi-queue distribution and CPU hash calculation on a reliable communication message protocol;
the server is used for providing reliable data transmission service through a high-performance transmission protocol stack and a communication mode, and the application software transaction post-processing is provided in a daemon process and shared library matching mode.
Preferably, the low-delay network card is an intelligent network card, and the intelligent network card is used for flexibly unloading unsuitable processing tasks of the CPU, meets the processing requirements of a data plane network, and is compatible with the existing network protocol ecology.
Preferably, the existing network protocol is one of ethernet, RDMA or InfiBand.
The invention also discloses a method for extremely-low-delay reliable communication of the financial transaction system, which specifically comprises the following steps:
s1, after the market data is received by the low-delay network card, the IP/UDP message is subjected to current limiting, classification and decoding by the FPGA, and then multi-queue hash distribution is carried out to the server;
s2, the data message is driven by the network card in the high-performance component, and is directly sent to a user mode network protocol stack of the high-performance component for UDP processing by receiving kernel bypass/RDMA;
s3, after the user mode protocol stack is processed, the reliable transport layer protocol processing is carried out to separate out a control message and a data message, the control message enters the session processing, and the data message enters the queue for caching;
s4, searching the cached message through a Pub/Sub publishing subscription mode to obtain all subscribers, and updating the write pointer of the shared buffer area of the subscribers to inform the subscribers of the arrival of the message;
s5, the application software compares the message read-write pointer to obtain the message by inquiring the shared buffer area, and the message is not copied in the whole process;
s6, the high-performance communication component provides a configurable parameter interface and performance and monitoring functions, and configures the FPGA to accelerate multi-queue and route.
Preferably, the high-performance components in step S2 include a network card driver, a user mode protocol stack, a reliable UDP communication and Pub/Sub publish-subscribe component, and the high-performance components run under the Linux system in the form of a dynamic library so and run independently with the upper layer software in the form of a user process.
Preferably, the high-performance component adopts a layered architecture, provides an API for upper-layer software to use, provides a configurable parameter interface and performance and monitoring functions in the component, and is used for configuring network card multi-queue receiving and routing by a system management process.
Preferably, the idea of the layered design of the high-performance component is to adopt a componentization/servitization idea to manage the service, abstract and layer each module of the whole system, and decouple or loosely couple each layer.
Preferably, the reliable transport layer protocol in step S3 is used for one-to-many or many-to-many scene publishing and subscribing, and is a highly extensible multi-core extension (gateway, single machine), flexibly adapts to the dpdk/rdma/bypass intelligent network card, can configure queue parameters and dynamically load a flow control algorithm, and is a user-defined reliable UDP transport protocol, and the reliable transport layer protocol supports the flow control algorithm and the congestion control algorithm, and can be modified in a user-defined manner.
(III) advantageous effects
The invention provides an extremely low-delay reliable communication system and method for a financial transaction system. Compared with the prior art, the method has the following beneficial effects:
(1) the extremely-low delay reliable communication system and the method for the financial transaction system can be flexibly customized according to the service characteristics by adopting the large-scale programmable FPGA and software and hardware cooperative acceleration, and have the advantages of large capacity, high processing speed and flexible protocol; the FPGA processing is carried out at the transmission end of the communication, so that the high concurrency scene can be effectively dealt with; the system response time is short, the throughput is typically 40B/1000w, the delay is less than 2.4us, the number of concurrent users is 10K/s connected, and the high-concurrency effect is achieved; the FPGA hardware protocol is accelerated, the flow is balanced, the protocol is processed, the priority is mapped, and the high available QOS scene is effectively responded.
(2) The extremely-low-delay reliable communication system and the method for the financial transaction system fully utilize the NUMA characteristic of the CPU of the server by adopting distributed multi-process deployment and can be expanded according to the specification level of the service; in addition, a json configuration file is adopted to modify NUMA (non uniform memory access) binding of a system network card, a CPU (central processing unit) and an internal memory, so that the system time delay is effectively reduced, and high expandability is realized; distributed software processing, multi-core CPU resources are fully utilized, and multithreading lock-free processing is achieved.
(3) According to the extremely-low-delay reliable communication system and method for the financial transaction system, the intelligent network card technology is adopted in the message receiving and sending direction, for example, the RDMA network card can unload the whole transmission processing to the network card hardware to release a CPU, the network card receiving interruption irqbalance, the multi-queue and RSS hash. The technology of penetrating the Linux Kernel comprises DPDK and Kernel bypass, and the system can be flexibly adapted. To support intelligent network cards of various scenarios, such as Mellanox, Exanic, solarfaree. The method flexibly adapts to RDMA (remote direct memory Access), Kernel bypass and DPDK (digital Pre-distortion) various user mode direct connection technologies of the intelligent network card.
(4) The extremely-low-delay reliable communication system and the extremely-low-delay reliable communication method for the financial transaction system have the characteristic of multiple receptions through unidirectional release aiming at the financial market system. The system supports the mode that the multicast IP address bears the UDP message, and receives the quotation at the equipment joining the multicast group without respectively copying. Aiming at the unicast scene, the system realizes many-to-many transmission by subscribing the publishing mode. The software does not perform message multi-path copying any more, and the FPGA performs UDP message multi-path copying; the unicast and multicast scene is a one-to-many, many-to-many scene realized based on a Pub/Sub communication model, and can be flexibly expanded.
(5) The system can be flexibly deployed on high-performance high-concurrency gateway equipment, can also be deployed on a small-specification server counter, and can also be deployed on a client of a single communication node. Modifying daemon kernel binding and memory specification through json files; the business process interacts with the daemon process through the communication library to support business applications with different specifications; by adopting a daemon process and a user instance process interaction mechanism, large-scale business application is supported, and flexible deployment is realized.
(5) The whole system design adopts a copy-free idea, and a service process and a daemon process share a sending and receiving buffer area of a large-page memory. The sending direction also sends a DMA (direct memory access) to the FPGA in a business process, zero copy, message copying and multi-path distribution are completed by the FPGA; in the receiving direction, after receiving DMA (direct memory access) of the FPGA to the buffer area, each subscribed business process reads one buffer area, a plurality of subscribers do not need to copy, and the whole process is zero-copy; the flow is directly processed to the FPGA, so that the processing time delay is effectively reduced; through a sending/receiving buffer area based on a large page shared memory, flow is directly over-ridden to hardware for use, and copy is avoided.
Drawings
FIG. 1 is a diagram illustrating a conventional market transaction data application scenario in accordance with an embodiment of the present invention;
FIG. 2 is a diagram of high performance communication component interaction relationships in an embodiment of the present invention;
FIG. 3 is a communication assembly hierarchy diagram in accordance with an embodiment of the present invention;
FIG. 4 is a flow chart of data processing in an embodiment of the present invention;
FIG. 5 is a diagram illustrating an object lookup for a data processing entity in an embodiment of the present invention;
FIG. 6 is a diagram illustrating FPGA hardware acceleration processing according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1-6, an embodiment of the present invention provides a technical solution: an extremely low delay reliable communication system for a financial transaction system comprises a low delay switch, a low delay network card, an FPGA and a server;
the low-delay switch is used for forwarding a transaction data packet, and the delay is hundreds of ns;
the low-delay network card is used for data encapsulation and decapsulation, link management, encoding and decoding;
the FPGA is used for carrying out hardware acceleration processing, multi-queue distribution and hash calculation on a reliable communication message protocol;
the server is used for providing reliable data transmission service through a high-performance transmission protocol stack and a communication mode, and the application software transaction post-processing is provided in a daemon process and shared library matching mode.
In the embodiment of the invention, the low-delay network card is an intelligent network card, and the intelligent network card is used for flexibly unloading unsuitable processing tasks of a CPU (Central processing Unit), meets the requirement of data plane network processing, is compatible with the ecology of the existing network protocol, and is one of Ethernet, RDMA (remote direct memory Access) or InfiBand.
The embodiment of the invention also provides a method for extremely-low-delay reliable communication of a financial transaction system, which specifically comprises the following steps:
s1, after the market data is received by the low-delay network card, the IP/UDP message is subjected to current limiting, classification and decoding by the FPGA, and then multi-queue hash distribution is carried out to the server;
s2, the data message is driven by the network card in the high-performance component, and is directly sent to a user mode network protocol stack of the high-performance component for UDP processing by receiving kernel bypass/RDMA;
s3, processing a user mode protocol stack, processing the user mode protocol stack through a reliable transmission layer protocol, separating out a control message and a data message, enabling the control message to enter conversation processing, enabling the data message to enter a queue for caching, enabling the reliable transmission layer protocol to be used for one-to-many or many-to-many scene publishing and subscribing, enabling high-extensible multi-core extension (gateway and single machine) to be flexibly adapted to a dpdk/rdma/bypass intelligent network card, being capable of configuring queue parameters and dynamically loading a flow control algorithm, enabling the reliable transmission layer protocol to be a user-defined reliable UDP transmission protocol, supporting the flow control algorithm and a congestion control algorithm, and being capable of being modified in a user-defined mode;
s4, searching the cached message through a Pub/Sub publishing subscription mode to obtain all subscribers, and updating the write pointer of the shared buffer area of the subscribers to inform the subscribers of the arrival of the message;
s5, the application software compares the message read-write pointer to obtain the message by inquiring the shared buffer area, and the message is not copied in the whole process;
s6, the high-performance communication component provides a configurable parameter interface and performance and monitoring functions, and configures the FPGA to accelerate multi-queue and route.
As shown in fig. 2, in the embodiment of the present invention, in step S2, the high-performance component includes a network card driver, a user-mode protocol stack, a reliable UDP communication and a Pub/Sub publish-subscribe component, and the high-performance component operates under a Linux system in a dynamic library so as to independently operate in a user process together with upper-layer software, the high-performance component adopts a layered architecture to provide an API for the upper-layer software to use, and simultaneously provides a configurable parameter interface and performance and monitoring functions in the component, a system management process is used to configure network card multi-queue receiving and routing, and the high-performance component adopts a layered design in the concept of componentization/servitization to manage services, abstract and layer each module of the whole system, and decouple or loosely couple each layer.
As shown in fig. 3, in the embodiment of the present invention, the transmission medium: the protocol of service network communication is unified, multimedia drive is developed and supported in a socket language mode, and network acceleration is adapted in a Libc/Kernel bypass/Rdma/Dpdk mode.
Common components: a large amount of common library codes and function calls frequently used in the platform development process are packaged, so that the development and the use are simpler and more convenient; such as thread, atom, counter, queue, and time.
And (3) transmission protocol: the reliable communication scheme based on the UDP protocol comprises a transmission layer message format, connection session establishment, receiving and sending, a retransmission mode, congestion control and flow control.
Socket service: and packaging realizes a programming interface in a socket style, a processing mode of a client/server and message caching. The method and the system facilitate the non-modification transplantation of the business process and improve the operation efficiency.
A communication framework: based on communication frameworks of publishers, subscribers and message Que modes, one-to-one, one-to-many, many-to-one and many-to-many communication is realized. From the perspective of the frame, high stability, high availability and high performance are achieved, and therefore business service operation can be relieved.
And a service interface layer: from the perspective of service requirements, the platform supports various API interfaces including Socket style, C/C + +/Java API, adapts to various application and service modes, and is more powerful.
Application and operation: and the operation and maintenance only need to pay attention to daily operations such as service deployment, configuration, monitoring and the like. And providing tools such as a test tool, a configuration tool, a performance statistic tool, log tracking tool, message capturing tool and the like.
As shown in fig. 4, in the embodiment of the present invention, the high performance component includes two parts, i.e., a management plane and a data plane, and interactions of each component module are shown in the figure, and sequentially pass through the smart network card hardware, the Kernel bypass/Rdma/Dpdk protocol stack, the adaptation layer, the transport layer, the protocol layer, and the communication session layer from bottom to top, and then pass through the interface layer for processing by the application process.
Management surface: referring to the line of the small arrow, the application layer may operate using an Api interface through Tools or a service process, the Api may issue a management command to the Config and Perf modules, and finally the configuration and performance module may read or modify the table or data of the component to change its behavior.
Data plane: see the line of the large arrow in the figure, and is divided into two paths of receiving and transmitting.
And (3) sending: an application process message producer writes a message into a shared memory queue by calling Api, a daemon Publisher reads the message from the shared memory, sends the message to a corresponding sending channel endpoint according to a subscription relation table, a sender starts sending processing, Segment segmentation aggregation is carried out through a transmission layer, a reliable UDP protocol DATA format is packaged, a socket sending function of an adaptation layer is called to send the message, and finally the message is sent to an intelligent network card through an Udp protocol stack or a bypass protocol stack.
Receiving: after receiving the message, the intelligent network card informs through a UDP protocol stack or a bypass protocol stack, polls in a poll or Epoll mode, and after the receiving thread calls an adaptation layer socket receiving function to receive the message, the receiving thread sends the message to a transmission layer to analyze a reliable UDP protocol DATA format, and after being subjected to Segment splitting processing, the message is sent to a corresponding receiver to be further received. And the daemon Subscriber transmits the end point message from the corresponding receiving channel according to the subscription relation and writes the end point message into the shared memory queue of the corresponding Subscriber. The application process message consumer reads the message from the shared memory queue for further processing by invoking Api polling.
The algorithm surface: based on reliable UDP communication, a reliable mechanism of message transmission, an ARQ retransmission of a packet loss processing strategy and a sliding window mechanism of a flow control mechanism are needed to be added on a transmission layer, and a congestion mechanism comprises a congestion control algorithm. The algorithm supports flexible iterative optimization and has a scalable algorithm framework.
And (3) protocol layer: reliable UDP communication supports connection establishment, heartbeat mechanisms, ACK/NAK states, RTT measurements, DATA messages. And the packet loss rate, the effective bandwidth acquisition and the timing mechanism are supported.
A communication framework layer: one-to-one, one-to-many and many-to-many communication modes are supported according to requirements, and a publisher subscriber mode is adopted for implementation.
The sending direction is as follows:
1. a sending thread scans and reads the shared memory queue and judges the incoming packet;
2. a message producer maintains a Public Image of a publisher relation graph;
3. maintaining a sending reference counter according to the release relation graph, and sending the sending reference counter to a corresponding channel;
the receiving direction is as follows:
1. receiving a thread epoll polling message, and judging a packet receiving;
2. a message consumer maintains a subscriber relationship graph (Suscrible Image);
3. maintaining a receiving reference counter according to the subscription relationship diagram, and receiving a corresponding channel;
4. and writing the data into a receiving shared memory for polling the corresponding application process.
The arrangement direction:
1. polling the shared memory by the configuration thread and judging that a configuration message arrives;
2. the configuration comprises adding and deleting a relationship graph of a publisher and a subscriber;
3. configuring reading counter and queue information;
4. and the related configuration channels of the transport layer and the protocol layer.
In the embodiment of the invention, the high-performance component runs in an independent process mode, and the instance of each application is handed over with the daemon process through a message mechanism.
As shown in fig. 5, according to the system scheme and function, the transport transmission flow includes four types, namely stran send transmission, socktran socket transmission, rtran receive transmission and ctran control transmission:
the stran thread is responsible for sending end processing: the netpubs array stores N netpub network release objects, each netpub corresponds to N sep sending endpoint objects, each sep can support N sdest sending target addresses, and 1-to-many and many-to-many scenes for supporting release are provided.
The socktran thread is responsible for sock processing: send _ list stores an array of send sockets, there are N transaction sockets,
each socket supports a client/server model, and has an accept _ list acceptance response list and a list _ list monitoring list. Corresponding to 1 socket at the sending end. Sockets support only 1-to-1 scenarios.
The rtran thread is responsible for the receiver side processing: the inst array stores N netsub network subscription objects, recv _ list is a receiving socket list, each netsub corresponds to N pe issuing entity objects, each pe can support array conns [ ] connected with N rep receiving endpoints, and a receiving node rep can receive N rdest receiving target addresses.
The ctran thread is responsible for configuration and command issue: the method comprises the steps of allocating and storing a sep sending node, a netpub network object, an inst receiving instance, a pe issuing unit, a rep receiving endpoint, a netsub network subscription object and a socket _ list socket. The method is used for operating the objects and managing the actions of heartbeat, timeout, deletion and the like of the objects.
In the embodiment of the present invention, the hardware acceleration processing of the FPGA is as shown in fig. 6:
the method supports distribution, high performance and high expandability. The characteristics of the CPU of the multi-core server can be fully utilized according to the configuration of N stran threads, N socktran threads and N rtran threads. Carrying out priority mapping on the stran and socketran distribution in the transmission direction in the FPGA, carrying out protocol processing (1 is used for copying messages which are needed more), and finally carrying out flow control and then transmitting the messages to a physical port; the receiving party firstly monitors the flow through the port (aiming at the high burst scene flow balance), then processes the flow through the protocol, finally hashes the flow to the CPU by the RSS receiving thread, and receives and processes the flow by the corresponding rtran thread.
And those not described in detail in this specification are well within the skill of those in the art.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes, modifications, substitutions and alterations can be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.

Claims (8)

1. A very low latency reliable communications system for use in a financial transaction system, comprising: the system comprises a low-delay switch, a low-delay network card, an FPGA and a server;
the low-delay switch is used for forwarding a transaction data packet, and the delay is hundreds of ns;
the low-delay network card is used for data encapsulation and decapsulation, link management, encoding and decoding;
the FPGA is used for carrying out hardware acceleration processing, multi-queue distribution and CPU hash calculation on a reliable communication message protocol;
the server is used for providing reliable data transmission service through a high-performance transmission protocol stack and a communication mode, and the application software transaction post-processing is provided in a daemon process and shared library matching mode.
2. The extremely low latency reliable communication system for financial transaction systems as claimed in claim 1, wherein: the low-delay network card is an intelligent network card, and the intelligent network card is used for flexibly unloading unsuitable processing tasks of a CPU (central processing unit), meets the processing requirements of a data plane network and is compatible with the ecology of the existing network protocol.
3. The extremely low latency reliable communication system for financial transaction systems as claimed in claim 2, wherein: the existing network protocol is one of ethernet, RDMA or infiniband.
4. A method for implementing the extremely low latency reliable communication system for financial transaction systems of any one of claims 1 to 3, wherein: the method specifically comprises the following steps:
s1, after the low-delay network card receives market data, the FPGA carries out IP/UDP message current limiting, classification and decoding, and then multi-queue hash distribution is carried out to the server CPU;
s2, the data message is driven by the network card in the high-performance component, and is directly sent to a user mode network protocol stack of the high-performance component for UDP processing by receiving kernel bypass/RDMA;
s3, after the user mode protocol stack is processed, the reliable transport layer protocol processing is carried out to separate out a control message and a data message, the control message enters the session processing, and the data message enters the queue for caching;
s4, searching the cached message through a Pub/Sub publishing subscription mode to obtain all subscribers, and updating the write pointer of the shared buffer area of the subscribers to inform the subscribers of the arrival of the message;
s5, the application software compares the message read-write pointer to obtain the message by inquiring the shared buffer area, and the message is not copied in the whole process;
s6, the high-performance communication component provides a configurable parameter interface and performance and monitoring functions, and configures an FPGA protocol to accelerate multi-queue and route.
5. The method of claim 4, wherein the communication is reliable and has very low latency, and the method further comprises: the high-performance components in the step S2 include a network card driver, a user mode protocol stack, a reliable UDP communication and Pub/Sub publish-subscribe component, and the high-performance components run under the Linux system in the form of a dynamic library so and independently run with upper-layer software in a user process.
6. The method of claim 5, wherein the communication is reliable and has very low latency, and the method further comprises: the high-performance component adopts a layered architecture, provides an API for upper-layer software to use, provides a configurable parameter interface and performance and monitoring functions in the component, and is used for configuring FPGA multi-queue receiving and routing by a system management process.
7. The method of claim 6, wherein the method further comprises the step of: the idea of adopting the layered design of the high-performance component is to adopt the modularization/service idea to manage the service, abstract and layer each module of the whole system, and decouple or loosely couple each layer.
8. The method of claim 4, wherein the communication is reliable and has very low latency, and the method further comprises: the reliable transport layer protocol in the step S3 is used for one-to-many or many-to-many scene publishing and subscribing, is highly extensible and multi-core extensible, flexibly adapts to the dpdk/rdma/bypass intelligent network card, can configure queue parameters and dynamically load a flow control algorithm, is a user-defined reliable UDP transport protocol, supports the flow control algorithm and the congestion control algorithm, and can be modified in a user-defined manner.
CN202111276461.8A 2021-10-29 2021-10-29 Extremely-low-delay reliable communication system and method for financial transaction system Pending CN114024910A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111276461.8A CN114024910A (en) 2021-10-29 2021-10-29 Extremely-low-delay reliable communication system and method for financial transaction system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111276461.8A CN114024910A (en) 2021-10-29 2021-10-29 Extremely-low-delay reliable communication system and method for financial transaction system

Publications (1)

Publication Number Publication Date
CN114024910A true CN114024910A (en) 2022-02-08

Family

ID=80059347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111276461.8A Pending CN114024910A (en) 2021-10-29 2021-10-29 Extremely-low-delay reliable communication system and method for financial transaction system

Country Status (1)

Country Link
CN (1) CN114024910A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002087A (en) * 2022-05-31 2022-09-02 济南浪潮数据技术有限公司 Audio and video data transmission method, system, device and storage medium
CN115344527A (en) * 2022-10-18 2022-11-15 上海特高信息技术有限公司 High-speed market data caching method based on FPGA

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460540A (en) * 2019-06-28 2019-11-15 杨涛 A kind of low latency high frequency transaction system and method
CN110517136A (en) * 2019-07-30 2019-11-29 上海兮通信息科技有限公司 A kind of quotation accelerated processing method and system
CN110611624A (en) * 2018-06-15 2019-12-24 上海仪电(集团)有限公司中央研究院 Massive market quotation data acceleration system and acceleration method based on FPGA
CN113485823A (en) * 2020-11-23 2021-10-08 中兴通讯股份有限公司 Data transmission method, device, network equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110611624A (en) * 2018-06-15 2019-12-24 上海仪电(集团)有限公司中央研究院 Massive market quotation data acceleration system and acceleration method based on FPGA
CN110460540A (en) * 2019-06-28 2019-11-15 杨涛 A kind of low latency high frequency transaction system and method
CN110517136A (en) * 2019-07-30 2019-11-29 上海兮通信息科技有限公司 A kind of quotation accelerated processing method and system
CN113485823A (en) * 2020-11-23 2021-10-08 中兴通讯股份有限公司 Data transmission method, device, network equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
涂云山;储佳佳;张耀;翁楚良;: "面向新硬件的数据处理软件技术", 华东师范大学学报(自然科学版), no. 05, 25 September 2018 (2018-09-25) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002087A (en) * 2022-05-31 2022-09-02 济南浪潮数据技术有限公司 Audio and video data transmission method, system, device and storage medium
CN115344527A (en) * 2022-10-18 2022-11-15 上海特高信息技术有限公司 High-speed market data caching method based on FPGA
CN115344527B (en) * 2022-10-18 2023-01-13 上海特高信息技术有限公司 High-speed market data caching method based on FPGA

Similar Documents

Publication Publication Date Title
US11522734B2 (en) Method for controlling a remote service access path and relevant device
US8458280B2 (en) Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations
US10521283B2 (en) In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives
US20070208820A1 (en) Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations
CN111277616A (en) RDMA (remote direct memory Access) -based data transmission method and distributed shared memory system
CN108494817A (en) Data transmission method, relevant apparatus and system
CN114024910A (en) Extremely-low-delay reliable communication system and method for financial transaction system
WO2022148363A1 (en) Data transmission method and data transmission server
US20210218808A1 (en) Small Message Aggregation
WO2024037296A1 (en) Protocol family-based quic data transmission method and device
US8539089B2 (en) System and method for vertical perimeter protection
CN105141603A (en) Communication data transmission method and system
US10154079B2 (en) Pre-boot file transfer system
US20220327011A1 (en) Data Processing Method and Apparatus
CN106131162B (en) A method of network service agent is realized based on IOCP mechanism
WO2024082990A1 (en) Network system, service mesh configuration method, storage medium, and electronic device
CN115834660A (en) Non-blocking RDMA connection establishment method and device
US20200044880A1 (en) Multicast system
CN111866157B (en) Cloud service gateway and cloud service internal and external request format conversion method
CN113676544A (en) Cloud storage network and method for realizing service isolation in entity server
AU2014200243B2 (en) System(s) and method(s) for multiple sender support in low latency fifo messaging using tcp/ip protocol
CN114615187B (en) Logic interface data communication method and device
CN115866010B (en) RDMA connection establishment method and device
CN113162864B (en) RoCE network flow control method, device, equipment and storage medium
Chen et al. DTS: A Dual Transport Switching Scheme for RDMA-based Applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination