Multicast communication arbitration
Apparatuses, systems, and techniques to perform multicast data transmissions in parallel. In at least one embodiment, a plurality of pending multicast data transmissions are analyzed to select a subset of multicast transmissions that can be performed in parallel. In at least one embodiment, the selection is made by prioritizing senders using a rotating priority scheme.
1 . A system comprising: one or more circuits to:
identify, in accordance with priorities of sources associated with a plurality of multicast transmissions, multicast transmissions able to be performed concurrently by successively adding, individual multicast transmissions, from the plurality of multicast transmissions, to a set of multicast transmissions as a result of determining that the individual multicast transmissions do not have conflicting destinations with any multicast transmission already in the set of multicast transmissions; and
perform the set of multicast transmissions at least partly concurrently.
2 . The system of claim 1 , wherein the one or more circuits are to determine the priorities of the sources.
3 . The system of claim 1 , wherein the priorities of the sources define a priority order that is to be rotated and applied to a next plurality of multicast transmissions.
4 . The system of claim 1 , wherein the priorities of the sources define a priority order used to identify the multicast transmissions able to be performed concurrently, and a different priority order is to be applied to a next plurality of multicast transmissions.
5 . The system of claim 1 , wherein the priorities of the sources are determined in order of least-recently-used sources.
6 . The system of claim 1 , wherein the one or more circuits are to further:
determine a second set of multicast transmissions to be performed concurrently in accordance with a priority order different from a priority order corresponding to the priorities of the sources; and
perform the second set of multicast transmissions.
7 . The system of claim 1 , wherein the set of multicast transmissions are to be performed concurrently in a network in an integrated circuit.
8 . The system of claim 1 , wherein the individual multicast transmissions of the plurality of multicast transmissions each comprise one or more parameters of a machine-learned model on which multiple concurrent threads are to operate.
9 . The system of claim 1 , wherein the one or more circuits are to further:
split at least one multicast transmission of the plurality of multicast transmissions into a first multicast transmission having a first set of destinations, and a second multicast transmission having a second set of destinations, the first set of destinations having no destinations in common with the second set of destinations;
add the first multicast transmission to the set of multicast transmissions to be performed concurrently; and
add the second multicast transmission to a future set of multicast transmissions to be performed concurrently.
10 . A computer-implemented method, comprising:
identifying, in accordance with priorities of sources associated with a plurality of multicast transmissions, multicast transmissions able to be performed concurrently by successively adding, individual multicast transmissions, from the plurality of multicast transmissions, to a set of multicast transmissions as a result of determining that the individual multicast transmissions do not have conflicting destinations with any multicast transmission already in the set of multicast transmissions; and
performing the set of multicast transmissions at least partly concurrently.
11 . The computer-implemented method of claim 10 , further comprising: determining the priorities of the sources for the plurality of multicast transmissions.
12 . The computer-implemented method of claim 10 , wherein the priorities of the sources define a priority order that is to be rotated and applied to a next plurality of multicast transmissions.
13 . The computer-implemented method of claim 10 , wherein and the priorities of the sources define a priority order used to identify the multicast transmissions able to be performed concurrently, and a different priority order is to be applied to a next plurality of multicast transmissions.
14 . The computer-implemented method of claim 10 , wherein the priorities of the sources are determined in order of least-recently-used sources.
15 . The computer-implemented method of claim 10 , further comprising:
identifying a second set of multicast transmissions to be performed concurrently in accordance with an order of priority that is different from an order of priority defined by the priorities of the sources; and
performing the second set of multicast transmissions.
16 . The computer-implemented method of claim 10 , wherein the set of multicast transmissions are to be performed concurrently in a communication network comprising a network in an integrated circuit.
17 . The computer-implemented method of claim 10 , wherein the individual multicast transmissions of the plurality of multicast transmissions each comprise one or more parameters of a machine-learned model and multiple concurrent threads are to operate on the one or more parameters.
18 . The computer-implemented method of claim 10 , further comprising:
splitting at least one multicast transmission of the plurality of multicast transmissions into a first multicast transmission having a first set of destinations, and a second multicast transmission having a second set of destinations, the first set of destinations having no destinations in common with the second set of destinations;
adding the first multicast transmission to the set of multicast transmissions to be performed concurrently; and
adding the second multicast transmission to a future set of multicast transmissions to be performed concurrently.
19 . Non-transitory computer-readable memory storing executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to:
identify, in accordance with priorities of sources associated with a plurality of multicast transmissions, multicast transmissions able to be performed concurrently by successively adding, individual multicast transmissions, from the plurality of multicast transmissions, to a set of multicast transmissions as a result of determining that the individual multicast transmissions do not have conflicting destinations with any multicast transmission already in the set of multicast transmissions; and
perform the set of multicast transmissions at least partly concurrently.
20 . The non-transitory computer-readable memory of claim 19 , wherein the executable instructions, if executed by the one or more processors, cause the computer system to further determine the priorities of the sources.
21 . The non-transitory computer-readable memory of claim 19 , wherein the priorities of the sources defines a priority order that is to be rotated and applied to a next plurality of multicast transmissions.
22 . The non-transitory computer-readable memory of claim 19 , wherein the priorities of the sources define a priority order used to identify the multicast transmissions able to be performed concurrently, and a different priority order is to be applied to a next plurality of multicast transmissions.
23 . The non-transitory computer-readable memory of claim 19 , wherein the priorities of the sources are determined in order of least-recently-used sources.
24 . The non-transitory computer-readable memory of claim 19 , wherein the executable instructions, if executed by the one or more processors, cause the computer system to further:
identify a second set of multicast transmissions to be performed concurrently from the plurality of multicast transmissions in accordance with an order of priority that is different from an order of priority defined by the priorities of the sources; and
perform the second set of multicast transmissions.
25 . The non-transitory computer-readable memory of claim 19 , wherein the set of multicast transmissions are performed concurrently in a communication network that is a network in an integrated circuit.
26 . The non-transitory computer-readable memory of claim 19 , wherein the individual multicast transmissions of the plurality of multicast transmissions each comprise one or more parameters of a machine-learned model and multiple concurrent threads are to operate on the one or more parameters.
27 . The non-transitory computer-readable memory of claim 19 , wherein the executable instructions cause the computer system to further:
split at least one multicast transmission of the plurality of multicast transmissions into a first multicast transmission having a first set of destinations, and a second multicast transmission having a second set of destinations, the first set of destinations having no destinations in common with the second set of destinations;
add the first multicast transmission to the set of multicast transmissions to be performed concurrently; and
add the second multicast transmission to a future set of multicast transmissions to be performed concurrently.