Shared arithmetic logic unit
A network device, system, and method are provided. An illustrative network device includes a plurality of ports connectable to a communication network, one or more reduction units decoupled from the plurality of ports, and configurable logic to service packet transmission between the one or more reduction units and the plurality of ports.
1 . A network device, comprising:
a plurality of ports providing switching capabilities to a communication network;
a plurality of reduction units to perform data reduction operations, wherein the plurality of reduction units are decoupled from the plurality of ports performing the switching capabilities; and
one or more circuits to selectively allocate one or more reduction units from the plurality of reduction units to one or more ports in the plurality of ports such that a number of the one or more reduction units allocated for performing a data reduction operation varies according to a bandwidth of the one or more ports.
2 . The network device of claim 1 , wherein the plurality of reduction units comprise arithmetic logic units (ALUs), wherein a header of a packet is removed before the packet is processed by a reduction unit.
3 . The network device of claim 1 , wherein a number of ports in the network device is different than a total number of reduction units in the network device.
4 . The network device of claim 1 , further comprising:
a n×m crossbar switch to connected between the plurality of ports and the plurality of reduction units, wherein n is a number of the plurality of ports and m is a number of the plurality of reduction units, and wherein n and m are different numbers.
5 . The network device of claim 1 , wherein a total bandwidth for the data reduction operations is flexible to be different than a total bandwidth of the network device.
6 . The network device of claim 1 , wherein the one or more circuits are to perform scatter, gather, and rebalancing functions to allocate reduction units from the plurality of reduction units to each port performing the data reduction operations.
7 . The network device of claim 1 , wherein the one or more circuits are to perform scatter and gather functions to spread data for the data reduction operations between the plurality of reduction units in an equal manner regardless of which port originally received the data.
8 . The network device of claim 1 , wherein the one or more circuits comprise configurable forwarding circuitry.
9 . The network device of claim 1 , wherein the one or more circuits comprise configurable forwarding circuitry using multiple forwarding connection paths inside the network device.
10 . The network device of claim 1 , wherein ports performing the data reduction operations are to receive data messages comprising a reduction operation and respective data portions, and are to send the reduction operation to the plurality of reduction units, and wherein the plurality of reduction units are to apply the reduction operation to the respective data portions.
11 . A system, comprising:
a network device including:
a plurality of ports providing switching capabilities to a communication network;
a plurality of reduction units to perform data reduction operations, wherein the plurality of reduction units are decoupled from the plurality of ports performing the switching capabilities; and
one or more circuits to allocate one or more reduction units from the plurality of reduction units to one or more ports in the plurality of ports performing the data reduction operations such that a number of the one or more reduction units allocated for performing a data reduction operation varies according to a bandwidth of the one or more ports.
12 . The system of claim 11 , wherein the plurality of reduction units comprise arithmetic logic units (ALUs), wherein a header of a packet is removed before the packet is processed by a reduction unit.
13 . The system of claim 11 , wherein a number of ports in the network device is different than a total number of reduction units in the network device.
14 . The system of claim 11 , wherein a total bandwidth for the data reduction operations is flexible to be different than a total bandwidth of the network device.
15 . The system of claim 11 , wherein the one or more circuits are to perform scatter, gather, and rebalancing functions to allocate reduction units from the plurality of reduction units to each port performing the data reduction operations.
16 . The system of claim 11 , wherein ports performing the data reduction operations are to receive data messages comprising a reduction operation and respective data portions, and are to send the reduction operation to the plurality of reduction units, and wherein the plurality of reduction units are to apply the reduction operation to the respective data portions.
17 . The system of claim 11 , wherein the one or more circuits comprise configurable forwarding circuitry.
18 . A network device, comprising:
a plurality of ports connectable to a communication network;
one or more reduction units decoupled from the plurality of ports; and
configurable logic to manage allocation of the one or more reduction units to the plurality of ports such that a number of the one or more reduction units allocated for performing a data reduction operation varies according to a bandwidth of the one or more ports.
19 . The network device of claim 18 , wherein the one or more reduction units comprise one or more arithmetic logic units (ALUs), and wherein the one or more reduction units are provided in a grid of reduction units.
20 . The network device of claim 19 , wherein the configurable logic is to perform at least one of a scatter, gather, and rebalancing function to allocate the one or more reduction units from the grid of reduction units to the plurality of ports.