High performance connection scheduler
AssigneeGoogle Inc.
InventorsAbhishek Agarwal, Weihuang Wang, Weiwei Jiang, Srinivas Vaduvatha, Jiazhen Zheng
Life of this patent
Estimating the term…
Abstract
Aspects of the disclosure are directed to a high performance connection scheduler for reliable transport protocols in data center networking. The connection scheduler can handle enqueue events, dequeue events, and update events. The connection scheduler can include a connection queue, scheduling queue, and quality of service arbiter to support scheduling a large number of connections at a high rate.
Claims18
A method for scheduling connections related to data packets, the method comprising:
- queueing, with the one or more processors, a connection in a scheduling queue of a plurality of scheduling queues associated with different transaction types based on the connection being within one or more congestion windows associated with a transaction type of the connection, the one or more congestion windows comprising a network congestion window and an end-node congestion window;
- selecting, with the one or more processors, the connection from the scheduling queue based on a quality of service (QOS) arbiter decision;
- and
- queueing, with one or more processors, the selected connection in a connection queue of a plurality of connection queues associated with different transaction types based on the transaction type of the selected connection.
A system comprising:
- one or more processors;
- and one or more storage devices coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations for scheduling connections related to data packets, the operations comprising:
- queueing a connection in a scheduling queue of a plurality of scheduling queues associated with different transaction types based on the transaction type of the connection and the connection being within one or more congestion windows associated with the transaction type of the connection, the one or more congestion windows comprising a network congestion window and an end-node congestion window;
- selecting the connection from the scheduling queue based on a quality of service (QOS) arbiter decision;
- and
- queueing the selected connection in a connection queue of a plurality of connection queues associated with different transaction types based on the transaction type of the selected connection.
A non-transitory computer readable medium for storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for scheduling connections related to data packets, the operations comprising:
- queueing a connection in a scheduling queue of a plurality of scheduling queues associated with different transaction types based on the transaction type of the connection and the connection being within one or more congestion windows associated with a transaction type of the connection, the one or more congestion windows comprising a network congestion window and an end-node congestion window;
- selecting the connection from the scheduling queue based on a quality of service (QOS) arbiter decision;
- and
- queueing the selected connection in a connection queue of a plurality of connection queues associated with different transaction types based on the transaction type of the selected connection.
Dependencies are inferred from the claim text.