CPC H04L 49/90 (2013.01) [G06N 3/08 (2013.01); H04L 69/22 (2013.01)] | 22 Claims |
1. A programmable switch comprising:
an input arbiter to analyze packet headers of incoming packets and determine which of the incoming packets are part of gradient vectors received from worker computing devices that are performing reinforcement learning as a group; and
an accelerator coupled to the input arbiter, the accelerator comprising a segment counter and configured to:
receive the incoming packets from the input arbiter;
assign a segment number to a gradient segment of the gradient vectors, wherein the gradient segment is a corresponding sub-portion of each respective gradient vector of the gradient vectors;
aggregate and buffer gradient data of the incoming packets that is associated with the segment number;
track buffering of the aggregated gradient data according to the segment number by incrementing the segment counter upon buffering gradient data from each incoming packet associated with a corresponding worker computing device of the worker computing devices;
responsive to the segment counter reaching a threshold number, generate an aggregated data packet containing the aggregated gradient data associated with the gradient segment of the gradient vectors; and
transfer the aggregated data packet to the input arbiter to be transmitted to the worker computing devices.
|