Transmit scaling using multiple queues
AssigneeIntel Corporation
InventorsAnil Vasudevan, Sujoy Sen, Partha Sarangam
Life of this patent
Estimating the term…
Abstract
In general, in one aspect, computer program instructions are to cause, when executed, at least one processor to determine a transmit queue from many transmit queues to associate with a connection, store an identifier of the transmit queue in a connection socket structure associated with the connection, and access the identifier of the transmit queue from a connection socket structure associated with a connection of an egress packet.
Claims13
Computer program instructions, disposed on a non transitory computer readable medium, to cause, when executed, at least one processor element to:
- determine a first transmit queue among a plurality of transmit queues to associate with a connection;
- store an identifier of the first transmit queue in a connection socket structure associated with the connection;
- access the identifier of the first transmit queue from the connection socket structure associated with the connection for a first egress packet, transmission of the first egress packet initiated by a first processor element and to be transmitted via the first transmit queue;
- prevent out-of-order transmission of a second egress packet within the connection due to a change in the association of the connection from the first transmit queue to a second transmit queue among the plurality of transmit queues and based on an uncompleted transmission of the first egress
- packet via the first transmit queue, the second egress packet initiated by a second processor element and to be transmitted via a second transmit queue;
- and
- change the association of the connection from the first transmit queue to the second transmit queue.
A system, comprising:
- multiple processor elements;
- at least one network interface;
- and
- computer program instructions, disposed on a computer readable medium, to cause, when executed, at least one of the multiple processor elements to:
- determine a first transmit queue among a plurality of transmit queues to associate with a connection;
- store an identifier of the first transmit queue in a connection socket structure associated with the connection;
- access the identifier of the first transmit queue from the connection socket structure associated with the connection for a first egress packet, transmission of the first egress packet initiated by a first processor element and to be transmitted via the first transmit queue;
- prevent out-of-order transmission of a second egress packet within the connection due to a change in the association of the connection from the first transmit queue to a second transmit queue among the plurality of transmit queues and based on an uncompleted transmission of the first egress packet via the first transmit queue, the second egress packet initiated by a second processor element and to be transmitted via a second transmit queue;
- and
- change the association of the connection from the first transmit queue to the second transmit queue.
Dependencies are inferred from the claim text.