CN113094320B - Parallel message arbitration device and method - Google Patents

Parallel message arbitration device and method Download PDF

Info

Publication number
CN113094320B
CN113094320B CN202110445793.8A CN202110445793A CN113094320B CN 113094320 B CN113094320 B CN 113094320B CN 202110445793 A CN202110445793 A CN 202110445793A CN 113094320 B CN113094320 B CN 113094320B
Authority
CN
China
Prior art keywords
message
module
unpacking
arbitration
platform
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
Application number
CN202110445793.8A
Other languages
Chinese (zh)
Other versions
CN113094320A (en
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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN202110445793.8A priority Critical patent/CN113094320B/en
Publication of CN113094320A publication Critical patent/CN113094320A/en
Application granted granted Critical
Publication of CN113094320B publication Critical patent/CN113094320B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

Abstract

The embodiment of the invention provides a parallel message arbitration device and a method, wherein the device comprises: the system comprises a message preprocessing module, a fast queue module, a message platform, a uniform rotation arbitration module, a weighted rotation arbitration module, a platform access module and a message unpacking module, wherein the message preprocessing module is used for distributing message descriptors to the message platform and the fast queue module, requests corresponding to the message descriptors are generated in the message platform and the fast queue and are sent to the arbitration module, the uniform rotation arbitration module and the weighted rotation arbitration module sequentially arbitrate id of the message platform, the message unpacking module obtains an arbitration result of the arbitration module and accesses the message platform through the message platform access module to finish read-write requests of message unpacking information. The device can balance the flow of multi-process messages, support the prior scheduling of the quick messages and realize the low-delay sending of the quick messages. While saving as much hardware resource overhead as possible.

Description

Parallel message arbitration device and method
Technical Field
The invention relates to the technical field of NIC chip design, in particular to a parallel message arbitration device and a parallel message arbitration method.
Background
The NIC chip is mainly used for a high-performance computing system and a high-speed data center, is an interface for connecting a CPU with a high-speed network, and realizes the sending and receiving of messages between nodes. The general procedure of message sending is: and the CPU sends a message descriptor to the NIC, and the NIC analyzes the descriptor, packages and sends the message descriptor to the Internet. When sending a message, each message may be split into a single or multiple message packets to complete data transmission, when the message data volume is not greater than MTU (Maximum transmission Unit), a single packet may complete all data transmission, and when the message data volume is greater than MTU, multiple packets may be needed to complete all data transmission.
When multiple processes send messages simultaneously, a CPU delivers a large number of message descriptors to an NIC, and the NIC needs to ensure that messages of each process can be sent in a balanced manner, so serial scheduling or unbalanced scheduling will cause starvation of process communication, and may also cause imbalance of network traffic, which affects overall communication performance.
Disclosure of Invention
To solve the problems in the prior art, embodiments of the present invention provide a parallel message arbitration device and method.
The embodiment of the invention provides a parallel message arbitration device, which comprises: a message preprocessing module, a fast queue module, a message platform, a uniform rotation arbitration module, a weighted rotation arbitration module, a platform access module and a message unpacking module,
the message preprocessing module is connected with the message platform and the fast queue module and is used for receiving message descriptors, distributing the message platforms for the message descriptors, extracting message unpacking information according to the message descriptors and writing the message unpacking information into the message platforms, determining whether the message descriptors contain fast message marks or not according to the message unpacking information, recording fast message platform ids distributed by the fast message descriptors containing the fast message marks, and writing the fast message platform ids into the fast queue module;
the fast queue module is connected with the message preprocessing module and the weighted round-robin arbitration module and is used for receiving and storing the fast message platform id, sending an arbitration request to the weighted round-robin arbitration module and sending a fast unpacking request to the weighted round-robin arbitration module according to the fed-back arbitration response information;
the message platform is connected with the message preprocessing module and the uniform rotation arbitration module, and is used for storing the message unpacking information, generating a non-rapid unpacking request according to the message unpacking information which contains an effective mark and does not contain the rapid message mark according to the message unpacking information, sending the non-rapid unpacking request to the uniform rotation arbitration module, and finishing corresponding read-write operation according to the read-write request of the platform access module;
the uniform rotation arbitration module is connected with the message platform and the weighted rotation arbitration module and is used for uniformly outputting non-rapid message platform id to the weighted rotation arbitration module according to the non-rapid unpacking request;
the weighted round-robin arbitration module is connected with the fast queue module, the uniform round-robin arbitration module and the message unpacking module, and is used for acquiring a preset weight, distributing the output of the fast unpacking request and the non-fast unpacking request according to the weight, and outputting the output to the message unpacking module;
the message platform access module is connected with the message platform and the message unpacking module and is used for receiving the read-write request sent by the message unpacking module and accessing a corresponding specified platform according to the read-write request;
the message unpacking module is connected with the weighted rotation arbitration module and the message platform access module and is used for generating a read-write request of a specified platform according to the output of the weighted rotation arbitration module, reading the message unpacking information from the specified platform through the message platform access module and unpacking and outputting the message unpacking information.
The embodiment of the invention provides a method for arbitrating messages based on the parallel messages, which comprises the following steps:
the message preprocessing module receives a message descriptor, distributes a message platform for the message descriptor, extracts message unpacking information through the message descriptor and writes the message unpacking information into the message platform, determines whether the message unpacking information contains a quick message mark or not according to the message unpacking information, records a quick message platform id distributed by the quick message descriptor containing the quick message mark, and writes the quick message platform id into a quick queue module;
the fast queue module receives and stores the fast message platform id, sends an arbitration request to the weighted round-robin arbitration module, and sends a fast unpacking request to the weighted round-robin arbitration module according to the feedback arbitration response information;
the message platform receives the message unpacking information, generates a non-rapid unpacking request according to the message unpacking information which contains the effective mark and does not contain the rapid message mark, sends the non-rapid unpacking request to the uniform rotation arbitration module, and completes corresponding read-write operation according to the read-write request of the platform access module;
the uniform rotation arbitration module uniformly outputs non-rapid message platform id to the weighted rotation arbitration module according to the non-rapid unpacking request;
the weighted round-robin arbitration module acquires a preset weight, distributes the output of the rapid unpacking request and the non-rapid unpacking request according to the weight and outputs the output to the message unpacking module;
the message platform access module receives the read-write request sent by the message unpacking module and accesses a corresponding specified platform according to the read-write request;
the message unpacking module generates a read-write request of a specified platform according to the output of the weighted round-robin arbitration module, reads the message unpacking information from the specified platform through the message platform access module, and unpacks and outputs the message unpacking information.
In one embodiment, the method further comprises:
and when the output of the weighted round robin arbitration module received by the message unpacking module is effective, sending a write-back request to the message platform through the message platform access module, and outputting a result of message unpacking completion.
In one embodiment, the method further comprises:
when the message platform receives a read-write request, acquiring corresponding message unpacking information from a specified platform according to the read-write request, and sending the corresponding message unpacking information to the message platform access module;
when the message station receives a write-back request, updating the message unpacking information for a specified station according to the write-back request.
In one embodiment, the method further comprises:
the weighted round-robin arbitration module assigns the current arbitration priority through a round-robin pointer and then allocates an arbitration request according to the weight;
and each time the arbitration request is finished, subtracting 1 from the weight number corresponding to the weight value distribution, restoring the weight value number to an initial value when the weight value number is subtracted to 0, and moving the round-robin pointer to another type of request.
In one embodiment, the method further comprises:
acquiring the number of the message descriptors, and correspondingly configuring the number of the message stations according to the number of the message descriptors.
In one embodiment, the message unpacking information includes:
valid flag, fast message flag, message remaining data amount, source data address of next packet, destination data address of next packet.
The parallel message arbitration device and the parallel message arbitration method provided by the embodiment of the invention finish scheduling the multi-process message when sending the multi-process message through the message preprocessing module, the fast queue module, the message platform, the uniform rotation arbitration module, the weighted rotation arbitration module, the platform access module and the message unpacking module, realize the flow balance of the multi-process message, support the priority scheduling of the fast message and realize the low-delay sending of the fast message. While saving as much hardware resource overhead as possible.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
FIG. 1 is a block diagram of a parallel message arbitration system in an embodiment of the present invention;
FIG. 2 is a flow chart of a parallel message arbitration method according to an embodiment of the present invention.
Detailed Description
Fig. 1 is a schematic structural diagram of an artificial intelligence-based educational administration management system according to an embodiment of the present invention, and as shown in fig. 1, an artificial intelligence-based educational administration management system according to an embodiment of the present invention includes: the system comprises a message preprocessing module 101, a fast queue module 102, a message station 103, a uniform round robin arbitration module 104, a weighted round robin arbitration module 105, a station access module 106 and a message unpacking module 107.
The message preprocessing module 101 is connected to the fast queue module 102 and the message stations 103, and configured to implement preprocessing of an input message descriptor and message station management, and allocate idle message stations to the input descriptor, that is, when a message descriptor request is input, it is first determined whether there is an idle message station, if there is no idle message station, it is not possible to receive the message descriptor, if there is an idle message station, the message descriptor is received and the message station is allocated, and then message unpacking information is generated according to the content of the descriptor, which includes: the method comprises the steps of marking a valid mark, marking a quick message, marking the residual data volume of the message, the source data address of the next packet and the target data address of the next packet, determining whether a quick message mark which is 1 is contained in message unpacking information, and writing the quick message platform id allocated to the message into a quick queue module when the quick message mark is 1.
The fast queue module 102 is connected to the message preprocessing module 101 and the weighted round robin arbitration module 105, and is a FIFO (First In First Out) queue structure for storing a fast message station id number corresponding to each fast message, where the depth of the fast queue is consistent with the number of message stations, and the entry bit width of the fast queue is consistent with the bit width of the message station id. When the fast queue is not empty, a fast unpacking request is generated and input to the weighted round robin arbitration module.
The message station 103 is connected to the message preprocessing module 101 and the uniform round robin arbitration module 104 for storing the message unpacking information. Each message station outputs an arbitration request, the conditions under which the arbitration request is valid are: the valid flag is 1 and the fast message flag is 0, i.e. the valid non-fast message participates in the uniform round robin arbitration. When receiving the read-write request input by the message platform access module, outputting the message unpacking information of the appointed platform to the message platform access module. When a write-back request input by the message platform access module is received, the message unpacking information of the appointed platform is updated.
The uniform round-robin arbitration module 104 is connected to the message stations 103 and the weighted round-robin arbitration module 105, and is configured to arbitrate the requests in a uniform round-robin manner according to the unpacking arbitration requests of all unpacking stations, where the output of the module is the ID of the message station being arbitrated, and the ID of the message station being arbitrated is input to the weighted round-robin arbitration module to further receive arbitration.
The weighted round-robin arbitration module 105 is connected to the fast queue module 102, the uniform round-robin arbitration module 104, and the message unpacking module 107, and is configured to perform arbitration according to an arbitration result output by the uniform round-robin arbitration module and a request output by the fast queue module. The arbitration module adopts a weighted round robin arbitration mechanism, the weights of two arbitration sources are configurable, the arbitration source with the higher weight is higher in arbitration probability, in the arbitration process, the weighted round robin arbitration module uses a round robin pointer to designate the current arbitration priority position, and the first request valid entry starting from the round robin pointer position is obtained, namely the arbitration result. And when the weight value is reduced to 0, the weight value is restored to the initial value, and the rotating pointer is moved to another position. When the fast queue request is arbitrated, the fast queue head entry is read and output, and when the request is evenly rotated by the arbitration module, the arbitration result is output, and an arbitration response is returned.
Message station access module 106 is connected to message station 103 and message unpacking module 107, and is configured to implement access control for the message station, where the access types include: and the read-write request and the write-back request initiate access to the specified message platform according to the ID number and the access type of the message platform input by the message unpacking module, and specifically, when the read-write request of the message information input by the message unpacking module is received, the message information content of the specified message platform is returned. When receiving the request for writing back the message information input by the message unpacking module, writing the message information content into the appointed message platform to cover the original content.
The message unpacking module 107 is connected with the weighted round robin arbitration module 105 and the message platform access module 106, and is configured to initiate a message unpacking information read-write request when the ID of the message platform input by the weighted round robin arbitration module is valid, unpack according to the content of the message unpacking information after the message unpacking information is read and returned, access the corresponding descriptor, and extract information therefrom to form message package control information for output. In addition, the number of unpacking is determined by the message residual data amount and the unpacking granularity configuration in the message information, and when the message residual data amount is reduced to 0 or the unpacking number specified by the packing and unpacking granularity configuration, the unpacking in the current round is finished, and the message information is written back to the corresponding message platform. If the residual data amount of the message is reduced to 0, the unpacking of the message is completed, and the valid flag in the written-back message information is changed to 0.
By adopting the parallel message arbitration device provided in the embodiment, the scheduling of the multi-process message during transmission is completed through the message preprocessing module, the fast queue module, the message platform, the uniform rotation arbitration module, the weighted rotation arbitration module, the platform access module and the message unpacking module, so that the flow balance of the multi-process message is realized, the priority scheduling of the fast message is supported, and the low-delay transmission of the fast message is realized. While saving as much hardware resource overhead as possible.
Based on the parallel message arbitration system shown in fig. 1, the present embodiment further provides a parallel message arbitration method, as shown in fig. 2, the method mainly includes the following steps:
step S201, the message preprocessing module receives a message descriptor, allocates a message platform to the message descriptor, extracts message unpacking information from the message descriptor and writes the message unpacking information into the message platform, determines whether the message unpacking information includes a fast message flag, records a fast message platform id allocated to the fast message descriptor including the fast message flag, and writes the fast message platform id into a fast queue module.
Specifically, the message preprocessing module preprocesses an input message descriptor and allocates an idle message station for the input descriptor, that is, when a message descriptor request is input, it is first determined whether there is an idle message station, if there is no idle message station, a message descriptor cannot be received, if there is an idle message station, the message descriptor is received and allocated, and then message unpacking information is generated according to the content of the descriptor, including: the method comprises the steps of marking a valid mark, marking a quick message, marking the residual data volume of the message, the source data address of the next packet and the target data address of the next packet, determining whether a quick message mark which is 1 is contained in message unpacking information, and writing the quick message platform id allocated to the message into a quick queue module when the quick message mark is 1.
And step S202, the fast queue module receives and stores the fast message platform id, sends an arbitration request to the weighted round-robin arbitration module, and sends a fast unpacking request to the weighted round-robin arbitration module according to the feedback arbitration response information.
Specifically, the fast queue module receives and stores a fast message station id number corresponding to each fast message, the depth of the fast queue is consistent with the number of message stations, and the entry bit width of the fast queue is consistent with the id bit width of the message stations. When the fast queue is not empty, a fast unpacking request is generated and input to the weighted round robin arbitration module.
Step S203, the message platform receives the message unpacking information, generates a non-fast unpacking request according to the message unpacking information that includes the valid flag and does not include the fast message flag, and sends the non-fast unpacking request to the uniform rotation arbitration module, and completes a corresponding read-write operation according to the read-write request of the platform access module.
Specifically, the message station stores the message unpacking information and outputs an arbitration request, wherein the effective conditions of the arbitration request are as follows: the valid flag is 1 and the fast message flag is 0, i.e. the valid non-fast message participates in the uniform round robin arbitration. When receiving the read-write request input by the message platform access module, outputting the message unpacking information of the appointed platform to the message platform access module. When a write-back request input by the message platform access module is received, the message unpacking information of the appointed platform is updated.
Step S204, the uniform round robin arbitration module uniformly outputs the non-fast message platform id to the weighted round robin arbitration module according to the non-fast unpacking request.
Specifically, the uniform rotation arbitration module arbitrates the requests in a uniform rotation mode according to the unpacking arbitration requests of all unpacking stations, the output of the module is the arbitration message station ID, and the arbitration message station ID is input to the weighted rotation arbitration module to be further arbitrated.
And step S205, the weighted round robin arbitration module obtains a preset weight, distributes the output of the fast unpacking request and the non-fast unpacking request according to the weight and outputs the output to the message unpacking module.
Specifically, the weighted round-robin arbitration module outputs the arbitration result according to the uniform round-robin arbitration module and the request according to the fast queue module. The arbitration module adopts a weighted round robin arbitration mechanism, the weights of two arbitration sources are configurable, the arbitration source with the higher weight is higher in arbitration probability, in the arbitration process, the weighted round robin arbitration module uses a round robin pointer to designate the current arbitration priority position, and the first request valid entry starting from the round robin pointer position is obtained, namely the arbitration result. And when the weight value is reduced to 0, the weight value is restored to the initial value, and the rotating pointer is moved to another position. When the fast queue request is arbitrated, the fast queue head entry is read and output, and when the request is evenly rotated by the arbitration module, the arbitration result is output, and an arbitration response is returned.
Step S206, the message platform accessing module receives the read-write request sent by the message unpacking module, and accesses a corresponding specified platform according to the read-write request.
Specifically, the message platform access module implements access control on the message platform according to the request of the message unpacking module, and the access types include: and the read-write request and the write-back request initiate access to the specified message platform according to the ID number and the access type of the message platform input by the message unpacking module, and specifically, when the read-write request of the message information input by the message unpacking module is received, the message information content of the specified message platform is returned. When a message information write-back request input by the message unpacking module is received, the message information content is written into the appointed message platform to cover the original content.
Step S207, the message unpacking module generates a read-write request of a designated station according to the output of the weighted round robin arbitration module, reads the message unpacking information from the designated station through the message station accessing module, and unpacks and outputs the message unpacking information.
Specifically, when the message unpacking module detects that the ID of the message platform input by the weighted round robin arbitration module is valid, a message unpacking information reading and writing request is initiated, after the message unpacking information is read and returned, unpacking is performed according to the content of the message unpacking information, a corresponding descriptor needs to be accessed, and information is extracted from the descriptor to form message package control information for output. In addition, the number of unpacking is determined by the message residual data amount and the unpacking granularity configuration in the message information, when the message residual data amount is reduced to 0 (the output of the weighted round-robin arbitration module is 0) or the unpacking number specified by the packing unpacking granularity configuration, the round of unpacking is finished, and the message information is written back to the corresponding message platform. If the residual data amount of the message is reduced to 0, the unpacking of the message is completed, and the valid flag in the written-back message information is changed to 0.
The parallel message arbitration method provided by the embodiment of the invention completes scheduling of multi-process message transmission through the message preprocessing module, the fast queue module, the message platform, the uniform rotation arbitration module, the weighted rotation arbitration module, the platform access module and the message unpacking module, realizes flow balance of multi-process messages, supports priority scheduling of fast messages and realizes low-delay transmission of the fast messages. While saving as much hardware resource overhead as possible.
On the basis of the foregoing embodiment, the parallel message arbitration method further includes:
obtaining the number of the message descriptors, and correspondingly configuring the number of the message stations according to the number of the message descriptors.
In the embodiment of the present invention, when configuring the parallel message arbitration device, the number of message descriptors may be obtained first, and the number of message stations is configured according to the number of message descriptors, and generally speaking, the number of message stations should be slightly greater than the number of message descriptors, so as to ensure that the message descriptors can enter the message stations.
The embodiment of the invention correspondingly configures the number of the message stations according to the number of the message descriptors, thereby ensuring that the message descriptors can enter the message stations.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (7)

1. A parallel message arbitration apparatus, comprising: a message preprocessing module, a fast queue module, a message platform, a uniform rotation arbitration module, a weighted rotation arbitration module, a message platform access module and a message unpacking module,
the message preprocessing module is connected with the message platform and the fast queue module and is used for receiving message descriptors, distributing the message platforms for the message descriptors, extracting message unpacking information according to the message descriptors and writing the message unpacking information into the message platforms, determining whether the message descriptors contain fast message marks or not according to the message unpacking information, recording fast message platform ids distributed by the fast message descriptors containing the fast message marks, and writing the fast message platform ids into the fast queue module;
the fast queue module is connected with the message preprocessing module and the weighted round robin arbitration module and is used for receiving and storing the fast message platform id, sending an arbitration request to the weighted round robin arbitration module and sending a fast unpacking request to the weighted round robin arbitration module according to the fed back arbitration response information;
the message platform is connected with the message preprocessing module and the uniform rotation arbitration module and is used for storing the message unpacking information, generating a non-rapid unpacking request according to the message unpacking information which contains an effective mark and does not contain the rapid message mark according to the message unpacking information, sending the non-rapid unpacking request to the uniform rotation arbitration module and finishing corresponding reading and writing operations according to the reading and writing request of the message platform access module;
the uniform rotation arbitration module is connected with the message platform and the weighted rotation arbitration module and is used for uniformly outputting non-rapid message platform id to the weighted rotation arbitration module according to the non-rapid unpacking request;
the weighted round-robin arbitration module is connected with the fast queue module, the uniform round-robin arbitration module and the message unpacking module, and is used for acquiring a preset weight, distributing the output of the fast unpacking request and the non-fast unpacking request according to the weight, and outputting the output to the message unpacking module;
the message platform access module is connected with the message platform and the message unpacking module and is used for receiving the read-write request sent by the message unpacking module and accessing a corresponding specified platform according to the read-write request;
the message unpacking module is connected with the weighted rotation arbitration module and the message platform access module and is used for generating a read-write request of a specified platform according to the output of the weighted rotation arbitration module, reading the message unpacking information from the specified platform through the message platform access module and unpacking and outputting the message unpacking information.
2. A parallel message arbitration method based on the parallel message arbitration device of claim 1, characterized in that said method comprises:
the message preprocessing module receives a message descriptor, distributes a message platform for the message descriptor, extracts message unpacking information through the message descriptor and writes the message unpacking information into the message platform, determines whether the message unpacking information contains a quick message mark or not according to the message unpacking information, records a quick message platform id distributed by the quick message descriptor containing the quick message mark, and writes the quick message platform id into a quick queue module;
the fast queue module receives and stores the fast message platform id, sends an arbitration request to the weighted round robin arbitration module, and sends a fast unpacking request to the weighted round robin arbitration module according to the fed back arbitration response information;
the message platform receives the message unpacking information, generates a non-rapid unpacking request according to the message unpacking information which contains the effective mark and does not contain the rapid message mark, sends the non-rapid unpacking request to the uniform rotation arbitration module, and completes corresponding read-write operation according to the read-write request of the message platform access module;
the uniform rotation arbitration module uniformly outputs non-rapid message platform id to the weighted rotation arbitration module according to the non-rapid unpacking request;
the weighted round-robin arbitration module acquires a preset weight, distributes the output of the rapid unpacking request and the non-rapid unpacking request according to the weight and outputs the output to the message unpacking module;
the message platform access module receives the read-write request sent by the message unpacking module and accesses a corresponding specified platform according to the read-write request;
the message unpacking module generates a read-write request of a specified platform according to the output of the weighted round-robin arbitration module, reads the message unpacking information from the specified platform through the message platform access module, and unpacks and outputs the message unpacking information.
3. The parallel message arbitration method of claim 2, wherein said method further comprises:
and when the output of the weighted round robin arbitration module received by the message unpacking module is effective, sending a write-back request to the message platform through the message platform access module, and outputting a result of message unpacking completion.
4. The method of claim 3, wherein the performing the corresponding read/write operations according to the read/write requests of the message station access module comprises
When the message platform receives a read-write request, acquiring corresponding message unpacking information from a specified platform according to the read-write request, and sending the corresponding message unpacking information to the message platform access module;
when the message station receives a write-back request, updating the message unpacking information for a specified station according to the write-back request.
5. The parallel message arbitration method according to claim 2, wherein the message unpacking information, the weighted round robin arbitration module, according to the weight, distributes the outputs of the fast unpacking request and the non-fast unpacking request, comprising:
the weighted round-robin arbitration module assigns the current arbitration priority through a round-robin pointer and then allocates an arbitration request according to the weight;
and each time the arbitration request is completed, subtracting 1 from the weight number corresponding to the weight value distribution, restoring the weight number to an initial value when the weight number is subtracted to 0, and moving the round-robin pointer to another type of request.
6. The parallel message arbitration method of claim 2, wherein said method further comprises:
acquiring the number of the message descriptors, and correspondingly configuring the number of the message stations according to the number of the message descriptors.
7. The parallel message arbitration method of claim 2, wherein the message unpacking information comprises:
valid flag, fast message flag, message remaining data amount, source data address of next packet, destination data address of next packet.
CN202110445793.8A 2021-04-25 2021-04-25 Parallel message arbitration device and method Active CN113094320B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110445793.8A CN113094320B (en) 2021-04-25 2021-04-25 Parallel message arbitration device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110445793.8A CN113094320B (en) 2021-04-25 2021-04-25 Parallel message arbitration device and method

Publications (2)

Publication Number Publication Date
CN113094320A CN113094320A (en) 2021-07-09
CN113094320B true CN113094320B (en) 2022-11-25

Family

ID=76680037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110445793.8A Active CN113094320B (en) 2021-04-25 2021-04-25 Parallel message arbitration device and method

Country Status (1)

Country Link
CN (1) CN113094320B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325327A1 (en) * 2009-06-17 2010-12-23 Freescale Semiconductor, Inc. Programmable arbitration device and method therefor
CN103543954A (en) * 2012-07-16 2014-01-29 中兴通讯股份有限公司 Data storage management method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325327A1 (en) * 2009-06-17 2010-12-23 Freescale Semiconductor, Inc. Programmable arbitration device and method therefor
CN103543954A (en) * 2012-07-16 2014-01-29 中兴通讯股份有限公司 Data storage management method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《MPI自动并行化编译系统中消息传递代码生成算法》;陈达智 等;《计算机科学》;20120630;全文 *
《Parallel multi-scale computation using the message passing interface》;B. Fox 等;《 2003 International Conference on Parallel Processing Workshops, 2003. Proceedings》;20031231;全文 *

Also Published As

Publication number Publication date
CN113094320A (en) 2021-07-09

Similar Documents

Publication Publication Date Title
US11861203B2 (en) Method, apparatus and electronic device for cloud service migration
WO2021051914A1 (en) Gpu resource-based data processing method and system, and electronic device
US20220382460A1 (en) Distributed storage system and data processing method
US20200133909A1 (en) Writes to multiple memory destinations
US9998531B2 (en) Computer-based, balanced provisioning and optimization of data transfer resources for products and services
CN111880750A (en) Method, device and equipment for distributing read-write resources of disk and storage medium
US20100199275A1 (en) Server switch integration in a virtualized system
US10310974B2 (en) Systems and methods for input/output computing resource control
CA2882446A1 (en) Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities
US20190327190A1 (en) Technologies for scalable packet reception and transmission
US8607231B1 (en) Method and system for processing isochronous data packets using virtual USB controller and placing the isochronous data packets into a look-ahead queue having a plurality of blank packets
US20150067695A1 (en) Information processing system and graph processing method
CN104636185A (en) Service context management method, physical host, PCIE equipment and migration management equipment
WO2023201987A1 (en) Request processing method and apparatus, and device and medium
CN112087332B (en) Virtual network performance optimization system under cloud edge cooperation
EP4113298A1 (en) Task scheduling method, computing device and storage medium
CN111176829A (en) Flexible resource allocation for physical and virtual functions in a virtualized processing system
CN112087471A (en) Data transmission method and FPGA cloud platform
JPWO2019100984A5 (en)
CN113094320B (en) Parallel message arbitration device and method
US20140160954A1 (en) Host ethernet adapter frame forwarding
US20090182927A1 (en) Direct Memory Move of Multiple Buffers Between Logical Partitions
US20030236819A1 (en) Queue-based data retrieval and transmission
US10270715B2 (en) High performance network I/O in a virtualized environment
CN112328519B (en) PCIE equipment, and SR-IOV-based data packet ordered transmission method and system

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
GR01 Patent grant
GR01 Patent grant