CN106484652B - A kind of more queue communication method and system based on NTB hardware - Google Patents
A kind of more queue communication method and system based on NTB hardware Download PDFInfo
- Publication number
- CN106484652B CN106484652B CN201610948832.5A CN201610948832A CN106484652B CN 106484652 B CN106484652 B CN 106484652B CN 201610948832 A CN201610948832 A CN 201610948832A CN 106484652 B CN106484652 B CN 106484652B
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- ntb
- sent
- side controller
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000005538 encapsulation Methods 0.000 claims abstract description 80
- 230000005540 biological transmission Effects 0.000 claims abstract description 37
- 238000012544 monitoring process Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims description 6
- 238000013467 fragmentation Methods 0.000 claims description 6
- 238000006062 fragmentation reaction Methods 0.000 claims description 6
- 239000012141 concentrate Substances 0.000 claims 1
- 239000010410 layer Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 239000012792 core layer Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
More queue communication method and system based on NTB hardware that the invention discloses a kind of, comprising: send size of data and scheduled queue selection rule of the side controller according to data to be sent, choose corresponding target NTB queue;The transmission side controller is packaged the data to be sent according to predetermined encapsulation format, and encapsulation of data is sent to reception side controller by the target NTB queue, and modifies the management data of the target NTB queue control page;The management data for receiving side controller and controlling page by monitoring the target NTB queue obtain the encapsulation of data for sending side controller and sending;As it can be seen that the communication means provided by this programme, is not in data-bag lost, situations such as data packet disorder, and due to the reliability of NTB link, the problems such as circulation that will not have message SN is overflowed, to realize efficient message transmission.
Description
Technical field
The present invention relates to computer system software design philosophy field, more specifically to a kind of based on NTB hardware
More queue communication method and system.
Background technique
PCIe is one of the primary bus agreement that modem computer systems use, there is it is nontransparent bridge joint (i.e. NTB,
Non-transparent Bridging) extend specification.Interconnection with the development of heritage storage system, for multi-controller
The bandwidth performance of communication requires also higher and higher, and PCIe also grows up along with the improvement of agreement, and the NTB of PCIe is also gradually
As the new means communicated between multi-controller, since NTB is a kind of new hardware communication device, how to realize base
In the communication means of NTB, communication task is completed, realizes that the communication between multi-controller is that those skilled in the art need to solve
Problem.
Summary of the invention
More queue communication method and system based on NTB hardware that the purpose of the present invention is to provide a kind of are based on realizing
The communication between multi-controller is realized in the communication of NTB.
To achieve the above object, the embodiment of the invention provides following technical solutions:
A kind of more queue communication methods based on NTB hardware, comprising:
Size of data and scheduled queue selection rule of the side controller according to data to be sent are sent, corresponding mesh is chosen
Mark NTB queue;
The transmission side controller is packaged the data to be sent according to predetermined encapsulation format, passes through the target
Encapsulation of data is sent to reception side controller by NTB queue, and modifies the management data of the target NTB queue control page;
The management data for receiving side controller and controlling page by monitoring the target NTB queue, obtain the transmission
The encapsulation of data that side controller is sent.
Wherein, the size of data and scheduled queue selection rule for sending side controller according to data to be sent, choosing
Take corresponding target NTB queue, comprising:
According to the size of data of the data to be sent, determine that the data to be sent are located at the target of queue range concentration
Queue range, and using with NTB queue corresponding to the object queue range as target NTB queue;
If determining that the data to be sent are not located at queue range concentration according to the size of data of the data to be sent,
The immediate NTB queue of size of data with the data to be sent is then chosen as target NTB queue, and according to immediate
The granularity of NTB queue executes Fragmentation to the data to be sent.
Wherein, NTB queue corresponding to the queue range collection includes:
Using 4KB as NTB queue corresponding to granularity, using 16KB as NTB queue corresponding to granularity, using 256KB as granularity
Corresponding NTB queue and using 1MB as NTB queue corresponding to granularity.
Wherein, the management data for receiving side controller and controlling page by monitoring the NTB queue, obtain the transmission
The encapsulation of data that side controller is sent, comprising:
If the receiving end controller monitoring changes to the idle following table information in the management data, obtain
Encapsulation of data is sent to upper layer application after encapsulation of data parses to described;
The side controller that receives updates the idle following table information managed in data.
Wherein, the encapsulation format of encapsulation of data successively includes: sequence number information, version number information, zone bit information, is returned
Complex sequences information, the length information of load data, load data verify data;Wherein, the zone bit information expression has been sealed
Fill the attribute information of data.
Wherein, after the reception side controller obtains encapsulation of data, further includes:
With the presence or absence of reply sequence number in the detection encapsulation of data;If it exists, then it judges whether there is and needs to send
To the reply data for sending side controller;
Data are replied if it exists, then according to the predetermined encapsulation format to including the reply data and the reply sequence
Number message package be packaged, and transmission side controller is sent to by NTB queue;
Data are replied if it does not exist, then after being spaced preset duration, according to the predetermined encapsulation format to including the reply
The message package of sequence number is packaged, and is sent to transmission side controller by NTB queue.
Wherein, this programme further include:
The transmission side controller judges whether that the number to be sent can be sent according to the data structure of current NTB queue
According to;If can, encapsulation of data is sent to by reception side controller by NTB queue;If cannot, by the data to be sent
It is stored in waiting list, until current NTB queue can send the data to be sent.
A kind of more queue communication systems based on NTB hardware, including send side controller and receive side controller;
Sending side controller includes:
Choose module, for according to data to be sent size of data and scheduled queue selection rule, choose it is corresponding
Target NTB queue;
Package module, for being packaged according to predetermined encapsulation format to the data to be sent;
First sending module, for encapsulation of data to be sent to reception side controller by the target NTB queue, and
Modify the management data of the target NTB queue control page;
The management data for receiving side controller and controlling page by monitoring the target NTB queue, obtain the transmission
The encapsulation of data that side controller is sent.
Wherein, the reception side controller, further includes:
Detection module, for detecting in the encapsulation of data with the presence or absence of reply sequence number;
Judgment module judges whether there is when replying sequence number for existing in the encapsulation of data and needs to send
To the reply data for sending side controller;
Second sending module, when replying data for existing, according to the predetermined encapsulation format to including the reply number
According to and the message package for replying sequence number be packaged, and transmission side controller is sent to by NTB queue;
Third sending module, when for there is no replying data, after being spaced preset duration, according to the predetermined encapsulation format
The message package for including the reply sequence number is packaged, and transmission side controller is sent to by NTB queue.
Wherein, further includes:
The transmission side controller judges whether that the number to be sent can be sent according to the data structure of current NTB queue
According to;If can, encapsulation of data is sent to by reception side controller by NTB queue;If cannot, by the data to be sent
It is stored in waiting list, until current NTB queue can send the data to be sent.
By above scheme it is found that a kind of more queue communication methods based on NTB hardware provided in an embodiment of the present invention and
System, comprising: send size of data and scheduled queue selection rule of the side controller according to data to be sent, choose corresponding
Target NTB queue;The transmission side controller is packaged the data to be sent according to predetermined encapsulation format, by described
Encapsulation of data is sent to reception side controller by target NTB queue, and modifies the management number of the target NTB queue control page
According to;The management data for receiving side controller and controlling page by monitoring the target NTB queue obtain the transmitting terminal control
The encapsulation of data that device is sent;As it can be seen that the communication means provided by this programme, is not in data-bag lost, data packet is random
Situations such as sequence, and due to the reliability of NTB link, there will not be the problems such as circulation spilling of message SN, thus real
Now efficient message transmission.
Detailed description of the invention
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below
There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this
Some embodiments of invention for those of ordinary skill in the art without creative efforts, can be with
It obtains other drawings based on these drawings.
Fig. 1 is a kind of more queue communication method flow schematic diagrams based on NTB hardware disclosed by the embodiments of the present invention;
Fig. 2 is a kind of mapping window data structure schematic diagram disclosed by the embodiments of the present invention;
Fig. 3 is a kind of data packet format schematic diagram disclosed by the embodiments of the present invention;
Fig. 4 is a kind of communication conveying flow schematic diagram disclosed by the embodiments of the present invention;
Fig. 5 is a kind of more queue communication system structure diagrams based on NTB hardware disclosed by the embodiments of the present invention.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete
Site preparation description, it is clear that described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.It is based on
Embodiment in the present invention, it is obtained by those of ordinary skill in the art without making creative efforts every other
Embodiment shall fall within the protection scope of the present invention.
More queue communication method and system based on NTB hardware that the embodiment of the invention discloses a kind of are based on NTB to realize
Communication, realize multi-controller between communication.
It should be noted that the characteristics of NTB hardware is the address space that can directly access remote memory, that is to say, that false
If node A is connected with node B using NTB, node A directly the memory headroom of accessed node B, NTB can map out a ground
Location window, this window are a part of address spaces of the memory of node B, it may be possible to 4GB, it is also possible to 2GB, it can be according to reality
The environment on border carries out corresponding adjusting, but the used data structure of this mapping window is not distinctly claimed,
But as communication means, meeting specific description data structure, while the lattice for the communication information being stored in this data structure
Formula be also it is very crucial, communication means can also be illustrated the communication format of specific message.
Referring to Fig. 1, a kind of more queue communication methods based on NTB hardware provided in an embodiment of the present invention, comprising:
S101, size of data and scheduled queue selection rule of the side controller according to data to be sent, selection pair are sent
The target NTB queue answered;
Wherein, the size of data and scheduled queue selection rule for sending side controller according to data to be sent, choosing
Take corresponding target NTB queue, comprising:
According to the size of data of the data to be sent, determine that the data to be sent are located at the target of queue range concentration
Queue range, and using with NTB queue corresponding to the object queue range as target NTB queue;
If determining that the data to be sent are not located at queue range concentration according to the size of data of the data to be sent,
The immediate NTB queue of size of data with the data to be sent is then chosen as target NTB queue, and according to immediate
The granularity of NTB queue executes Fragmentation to the data to be sent.
Specifically, NTB queue corresponding to the queue range collection includes:
Using 4KB as NTB queue corresponding to granularity, using 16KB as NTB queue corresponding to granularity, using 256KB as granularity
Corresponding NTB queue and using 1MB as NTB queue corresponding to granularity.
Specifically, NTB's maps out an address window and can form queue, pass through the encapsulation of the granularity and data of queue
Data to be sent are sent to reception side controller by format, and the granularity of each queue may be the same or different, but in order to
Reduction fragmental messages appropriate, while efficiency of transmission is also improved, increase message queue in this programme, and each queue has
Referring to fig. 24 queues are arranged, granularity is respectively 4KB, 16KB, 256KB and 1MB, is being selected in this way in one granularity in this programme
It when taking the queue of transmission, is selected according to the size of data to be sent, selection, which does not have to fragment, in principle can directly transmit number
According to queue, such as 0~4KB data selection granularity be 4KB queue, the data selection granularity of 4KB~16KB is 16KB's
Queue, the data selection granularity of 16KB~256KB are the queue of 256KB, and the data selection granularity of 256KB~1MB is the team of 1MB
Column, and for greater than 1MB fragment is then still taken using data method carry out message transmitting, need application data into
Row fragment carries out message encapsulation later, is transmitted later.And each first 4KB of queue can be stored as control page
The data of management, such as the first subscript of idle first subscript, occupancy, a queue is Priority Queues, another queue is common team
Column.
Wherein, the encapsulation format of encapsulation of data successively includes: sequence number information, version number information, zone bit information, is returned
Complex sequences information, the length information of load data, load data verify data;Wherein, the zone bit information expression has been sealed
Fill the attribute information of data.
Specifically, be packaged in this programme according to referring to encapsulation format shown in Fig. 3, disappearing for encapsulation of data is generated
Breath packet, the composition of a message package are divided into following components:
1) sequence number indicates the particular sequence number of this message, what this number was initially randomly generated, but cannot be zero,
Zero has special meaning, occupies 4 bytes;
2) version number indicates the version number of this message, occupies 4 bytes, the main format version for indicating data packet, version
It determines the specific format of data packet, that is, determines how to carry out the parsing of data packet.Sequence number and version number be it is fixed,
That is preceding 8 bytes of a message are fixed and constant, and in this series, no matter version is several, the first eight word
Section all can be sequence number and version number;
3) flag bit indicates the attribute information of some transmission data of message, such as: whether have and replys sequence number, is
No to have using data, with the presence or absence of method of calibration, what method of calibration is, occupies 4 bytes, but current flags only makes
With low 2 bytes, high two bytes be it is reserved, be all set to zero at present.The value and semanteme of specific flag bit are such as 1 institute of table
Show:
Table 1
4) sequence number is replied, also known as confirmation number, NM_REPLY, which is set, just to be existed, and is that local terminal confirms that receiving opposite end transmitted
The message SN come, occupies 4 bytes;
5) length of load data, NM_DATA, which is set, just to be existed, and is indicated the length for applying data, is occupied 4 bytes;
6) load data also known as applies data, and NM_DATA, which is set, just to be existed, and is the main body of the data of transmitting application;
7) data are verified, NM_ECHECK, which is set, just to be existed, and specific size depends on NM_CRC and NM_MD5, if it is
NM_CRC, then 4 bytes;It is then 16 bytes if it is NM_MD5.
S102, the transmission side controller are packaged the data to be sent according to predetermined encapsulation format, pass through institute
It states target NTB queue and encapsulation of data is sent to reception side controller, and modify the management of the target NTB queue control page
Data;
Specifically, need to modify the residue of NTB window idle subscript and quantity after sending data by NTB queue,
So that receive side controller finds that sending side controller has sent data in time.It should be noted that transmission packet for the first time
If, 0 is write on the position of the number of confirmation, indicates that this is first, does not confirm any message package.
S103, the reception side controller, which pass through, monitors the management data that the target NTB queue controls page, described in acquisition
Send the encapsulation of data that side controller is sent.
Wherein, the management data for receiving side controller and controlling page by monitoring the NTB queue, obtain the transmission
The encapsulation of data that side controller is sent, comprising:
If the receiving end controller monitoring changes to the idle following table information in the management data, obtain
Encapsulation of data is sent to upper layer application after encapsulation of data parses to described;
The side controller that receives updates the idle following table information managed in data.
Specifically, the free time of the management data of NTB queue control page is first checked in the receiving thread timing for receiving side controller
Subscript, discover whether new message;If so, just fetching message to come, message is subjected to corresponding parsing later, is given
Layer application processing, and the first subscript of corresponding occupancy is modified, after having handled, it can go to handle disappearing for the low queue of another priority
Breath;Receiving end to the parsing of encapsulation of data is solved according to the setting of different piece in the data packet format of encapsulation of data
Analysis.
Based on the above-mentioned technical proposal, after the reception side controller obtains encapsulation of data, further includes:
With the presence or absence of reply sequence number in the detection encapsulation of data;If it exists, then it judges whether there is and needs to send
To the reply data for sending side controller;
Data are replied if it exists, then according to the predetermined encapsulation format to including the reply data and the reply sequence
Number message package be packaged, and transmission side controller is sent to by NTB queue;
Data are replied if it does not exist, then after being spaced preset duration, according to the predetermined encapsulation format to including the reply
The message package of sequence number is packaged, and is sent to transmission side controller by NTB queue.
Specifically, in the present solution, sequence number to be confirmed is put into if there is reply sequence number in encapsulation of data
In the array of transmission to be confirmed, if there is replying data, that is, there is message transmission that sequence number is directly just put into message to opposite end
Bao Zhong, if the message not sent, wait for a period of time (this time is usually 1ms) just automatically form confirmation afterwards and disappear
Breath packet is sent to opposite end, and sending method is consistent with the side controller transmission mode of data is sent.
Based on the above-mentioned technical proposal, this programme further include:
The transmission side controller judges whether that the number to be sent can be sent according to the data structure of current NTB queue
According to;If can, encapsulation of data is sent to by reception side controller by NTB queue;If cannot, by the data to be sent
It is stored in waiting list, until current NTB queue can send the data to be sent.
It should be noted that by after data fragmentation to be sent, from the point of view of the queue data structure of current NTB window
Whether all fragments can be transmitted, if it is not, being put into waiting list, waited to be sent.
Referring to fig. 4, after data to be sent are sent to communication core layer by the upper layer application of transmitting terminal in this programme, communication
Core layer carries out fragment and encapsulation to data to be sent, and encapsulation of data is sent to the communication of receiving end by communication equipment level
Data after parsing are transferred to receiving end by equipment level, the parsing by the communication core central layer of receiving end to encapsulation of data
Application layer.
More queue communication systems provided in an embodiment of the present invention are introduced below, more queue communication systems described below
System can be cross-referenced with above-described more queue communication methods.
Referring to Fig. 5, a kind of more queue communication systems based on NTB hardware provided in an embodiment of the present invention, including transmitting terminal
Controller 100 and reception side controller 200;
Sending side controller 100 includes:
Choose module 101, for according to data to be sent size of data and scheduled queue selection rule, choose correspond to
Target NTB queue;
Package module 102, for being packaged according to predetermined encapsulation format to the data to be sent;
First sending module 103, for encapsulation of data to be sent to receiving end control by the target NTB queue
Device, and modify the management data of the target NTB queue control page;
The management data for receiving side controller 200 and controlling page by monitoring the target NTB queue, obtain the hair
The encapsulation of data that sending end controller is sent.
Based on the above-mentioned technical proposal, the reception side controller, further includes:
Detection module, for detecting in the encapsulation of data with the presence or absence of reply sequence number;
Judgment module judges whether there is when replying sequence number for existing in the encapsulation of data and needs to send
To the reply data for sending side controller;
Second sending module, when replying data for existing, according to the predetermined encapsulation format to including the reply number
According to and the message package for replying sequence number be packaged, and transmission side controller is sent to by NTB queue;
Third sending module, when for there is no replying data, after being spaced preset duration, according to the predetermined encapsulation format
The message package for including the reply sequence number is packaged, and transmission side controller is sent to by NTB queue.
Based on the above-mentioned technical proposal, further includes:
The transmission side controller judges whether that the number to be sent can be sent according to the data structure of current NTB queue
According to;If can, encapsulation of data is sent to by reception side controller by NTB queue;If cannot, by the data to be sent
It is stored in waiting list, until current NTB queue can send the data to be sent.
A kind of more queue communication method and system based on NTB hardware provided in an embodiment of the present invention, comprising: transmitting terminal control
Size of data and scheduled queue selection rule of the device processed according to data to be sent, choose corresponding target NTB queue;The hair
Sending end controller is packaged the data to be sent according to predetermined encapsulation format, will have been sealed by the target NTB queue
Dress data are sent to reception side controller, and modify the management data of the target NTB queue control page;The receiving end control
Device controls the management data of page by monitoring the target NTB queue, obtains the encapsulation number for sending side controller and sending
According to;As it can be seen that the communication means provided by this programme, is not in data-bag lost, situations such as data packet disorder, and due to
The problems such as reliability of NTB link, the circulation that will not have message SN is overflowed, to realize efficient message transmission.
Each embodiment in this specification is described in a progressive manner, the highlights of each of the examples are with other
The difference of embodiment, the same or similar parts in each embodiment may refer to each other.
The foregoing description of the disclosed embodiments enables those skilled in the art to implement or use the present invention.
Various modifications to these embodiments will be readily apparent to those skilled in the art, as defined herein
General Principle can be realized in other embodiments without departing from the spirit or scope of the present invention.Therefore, of the invention
It is not intended to be limited to the embodiments shown herein, and is to fit to and the principles and novel features disclosed herein phase one
The widest scope of cause.
Claims (9)
1. a kind of more queue communication methods based on NTB hardware characterized by comprising
Size of data and scheduled queue selection rule of the side controller according to data to be sent are sent, corresponding target is chosen
NTB queue;
The transmission side controller is packaged the data to be sent according to predetermined encapsulation format, passes through the target NTB
Encapsulation of data is sent to reception side controller by queue, and modifies the management data of the target NTB queue control page;
The management data for receiving side controller and controlling page by monitoring the target NTB queue, obtain the transmitting terminal control
The encapsulation of data that device processed is sent;
Wherein, the size of data and scheduled queue selection rule for sending side controller according to data to be sent, selection pair
The target NTB queue answered, comprising:
According to the size of data of the data to be sent, determine that the data to be sent are located at the object queue of queue range concentration
Range, and using with NTB queue corresponding to the object queue range as target NTB queue;
If determining that the data to be sent are not located at queue range concentration according to the size of data of the data to be sent, then selecting
It takes with the immediate NTB queue of the size of data of the data to be sent as target NTB queue, and according to immediate NTB
The granularity of queue executes Fragmentation to the data to be sent.
2. more queue communication methods according to claim 1, which is characterized in that NTB corresponding to the queue range collection
Queue includes:
It is right by granularity of 256KB using 16KB as NTB queue corresponding to granularity using 4KB as NTB queue corresponding to granularity
The NTB queue answered and using 1MB as NTB queue corresponding to granularity.
3. more queue communication methods according to claim 2, which is characterized in that the reception side controller passes through monitoring institute
The management data for stating NTB queue control page obtain the encapsulation of data for sending side controller and sending, comprising:
If the receiving end controller monitoring changes to the idle following table information in the management data, obtains and encapsulated
Data are sent to upper layer application after encapsulation of data parses to described;
The side controller that receives updates the idle following table information managed in data.
4. more queue communication methods according to claim 1, which is characterized in that
The encapsulation format of encapsulation of data successively includes: sequence number information, version number information, zone bit information, reply sequence number
Information, the length information of load data, load data verify data;Wherein, the zone bit information indicates encapsulation of data
Attribute information.
5. more queue communication methods according to claim 4, which is characterized in that the reception side controller acquisition has encapsulated
After data, further includes:
With the presence or absence of reply sequence number in the detection encapsulation of data;If it exists, then it judges whether there is and needs to be sent to institute
State the reply data for sending side controller;
Data are replied if it exists, then according to the predetermined encapsulation format to including the reply data and described reply sequence number
Message package is packaged, and is sent to transmission side controller by NTB queue;
Data are replied if it does not exist, then after being spaced preset duration, according to the predetermined encapsulation format to including the reply sequence
Number message package be packaged, and transmission side controller is sent to by NTB queue.
6. more queue communication methods described in any one of -5 according to claim 1, which is characterized in that further include:
The transmission side controller judges whether that the data to be sent can be sent according to the data structure of current NTB queue;If
Can, then encapsulation of data is sent to by reception side controller by NTB queue;If cannot, the data to be sent are stored in
Waiting list, until current NTB queue can send the data to be sent.
7. a kind of more queue communication systems based on NTB hardware, which is characterized in that including sending side controller and receiving end control
Device;
Sending side controller includes:
Choose module, for according to data to be sent size of data and scheduled queue selection rule, choose corresponding target
NTB queue;
Package module, for being packaged according to predetermined encapsulation format to the data to be sent;
First sending module for encapsulation of data to be sent to reception side controller by the target NTB queue, and is modified
The management data of the target NTB queue control page;
The management data for receiving side controller and controlling page by monitoring the target NTB queue, obtain the transmitting terminal control
The encapsulation of data that device processed is sent;
Wherein, the selection module is specifically used for: according to the size of data of the data to be sent, determining the data to be sent
Positioned at queue range concentrate object queue range, and using with NTB queue corresponding to the object queue range as target
NTB queue;If determining that the data to be sent are not located at queue range concentration according to the size of data of the data to be sent,
The immediate NTB queue of size of data with the data to be sent is then chosen as target NTB queue, and according to immediate
The granularity of NTB queue executes Fragmentation to the data to be sent.
8. more queue communication systems according to claim 7, which is characterized in that the reception side controller, further includes:
Detection module, for detecting in the encapsulation of data with the presence or absence of reply sequence number;
Judgment module judges whether there is when replying sequence number for existing in the encapsulation of data and needs to be sent to institute
State the reply data for sending side controller;
Second sending module, for exist reply data when, according to the predetermined encapsulation format to include the reply data and
The message package for replying sequence number is packaged, and is sent to transmission side controller by NTB queue;
Third sending module, when for there is no replying data, after being spaced preset duration, according to the predetermined encapsulation format to packet
It includes the message package for replying sequence number to be packaged, and transmission side controller is sent to by NTB queue.
9. more queue communication systems according to claim 7 or 8, which is characterized in that further include:
The transmission side controller judges whether that the data to be sent can be sent according to the data structure of current NTB queue;If
Can, then encapsulation of data is sent to by reception side controller by NTB queue;If cannot, the data to be sent are stored in
Waiting list, until current NTB queue can send the data to be sent.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610948832.5A CN106484652B (en) | 2016-10-26 | 2016-10-26 | A kind of more queue communication method and system based on NTB hardware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610948832.5A CN106484652B (en) | 2016-10-26 | 2016-10-26 | A kind of more queue communication method and system based on NTB hardware |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484652A CN106484652A (en) | 2017-03-08 |
CN106484652B true CN106484652B (en) | 2019-09-24 |
Family
ID=58271649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610948832.5A Active CN106484652B (en) | 2016-10-26 | 2016-10-26 | A kind of more queue communication method and system based on NTB hardware |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484652B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329917A (en) * | 2017-06-26 | 2017-11-07 | 郑州云海信息技术有限公司 | A kind of data transmission method and device |
CN109062708B (en) * | 2018-07-05 | 2020-07-10 | 武汉斗鱼网络科技有限公司 | Data sending method, receiving method and device |
CN109117393A (en) * | 2018-08-06 | 2019-01-01 | 郑州云海信息技术有限公司 | A kind of two-way NTB communication means, apparatus and system |
CN110618881B (en) * | 2019-09-19 | 2022-04-12 | 中国银行股份有限公司 | Method and system for simulating message queue |
CN110830972A (en) * | 2019-12-02 | 2020-02-21 | 北京深思数盾科技股份有限公司 | Data transmission method and device for Bluetooth communication and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038758A (en) * | 2010-06-02 | 2013-04-10 | 英特尔公司 | Method and system to improve the operations of an integrated non-transparent bridge device |
CN104486365A (en) * | 2014-09-28 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | Communication method and system between double controls |
CN105183677A (en) * | 2015-08-31 | 2015-12-23 | 北京神州云科数据技术有限公司 | Asynchronous non-transparent bridge based data transmission method and system |
CN105988948A (en) * | 2015-02-13 | 2016-10-05 | 浙江大华技术股份有限公司 | Data transmission method and equipment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250260B2 (en) * | 2009-12-15 | 2012-08-21 | International Business Machines Corporation | Method, arrangement, data processing program and computer program product for exchanging message data in a distributed computer system |
-
2016
- 2016-10-26 CN CN201610948832.5A patent/CN106484652B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038758A (en) * | 2010-06-02 | 2013-04-10 | 英特尔公司 | Method and system to improve the operations of an integrated non-transparent bridge device |
CN104486365A (en) * | 2014-09-28 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | Communication method and system between double controls |
CN105988948A (en) * | 2015-02-13 | 2016-10-05 | 浙江大华技术股份有限公司 | Data transmission method and equipment |
CN105183677A (en) * | 2015-08-31 | 2015-12-23 | 北京神州云科数据技术有限公司 | Asynchronous non-transparent bridge based data transmission method and system |
Also Published As
Publication number | Publication date |
---|---|
CN106484652A (en) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484652B (en) | A kind of more queue communication method and system based on NTB hardware | |
KR102144330B1 (en) | Encapsulation Enabled PCIE Virtualisation | |
CN103905300B (en) | A kind of data message sending method, equipment and system | |
CN102263698B (en) | Method for establishing virtual channel, method of data transmission and line card | |
CN105556930A (en) | NVM EXPRESS controller for remote memory access | |
EP3077914B1 (en) | System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface | |
CN106301859A (en) | A kind of manage the method for network interface card, Apparatus and system | |
CN110476156A (en) | Universal serial bus networks interchanger | |
CN106549845A (en) | A kind of communication means and system based on NTB hardware | |
CN103365810B (en) | The method and apparatus that flash memory devices programming time is reduced in C.A.N. buses | |
KR101559089B1 (en) | Communication protocol for sharing memory resources between components of a device | |
CN104484219B (en) | The method and apparatus of distributing policy in virtual platform | |
CN103282888A (en) | Data processing method, graphics processing unit (gpu) and first node device | |
JP6333120B2 (en) | Method of message confirmation and / or data collection from communication devices by packet message transmission in wireless mesh network, and method of confirmation and data collection that can be used for creation of general-purpose platform | |
CN108076529B (en) | A kind of method for transmitting uplink data, terminal and network side equipment | |
CN105939293A (en) | SKB (Struct sk_buff) recycling method and device | |
US8898353B1 (en) | System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface | |
CN109951255A (en) | A kind of data transmission method based on TCP, system, source device and target device | |
CN110166575A (en) | A kind of http Proxy Method, system, device and computer media | |
CN104580328A (en) | Virtual machine migration method, device and system | |
EP2726992B1 (en) | Network control model driver | |
CN103294560A (en) | Method and device for character string across process transmission | |
CN107483306A (en) | A kind of communication means, communication system and storage medium | |
CN111092817A (en) | Data transmission method and device | |
CN106549846A (en) | A kind of communication means based on NBT hardware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |