Processing, on multiple processors, data flows received through a single socket
First Claim
Patent Images
1. A data processing system supporting a network interface device for connection to a network, the data processing system comprising:
- a plurality of sets of one or more data processing cores configured to receive process data received from the network, via the network interface device; and
an operating system arranged to support at least one socket configured to accept said receive processed data, the data belonging to one of a plurality of data flows;
wherein at least one socket is configured to have a plurality of queues, each queue of the plurality of queues dedicated to a respective one of the sets of data processing cores, a particular one of the sets of data processing cores including a processing core which receive processed said data of said one of the data flows, wherein state associated with said one data flow is provided in one of the queues dedicated to the particular set of data processing cores; and
wherein an application thread executing at a particular processing core of the data processing system invokes an operation on the socket using state provided in a queue for the set of processing cores that includes the particular processing core.
11 Assignments
0 Petitions
Accused Products
Abstract
A data processing system supporting a network interface device and comprising: a plurality of sets of one or more data processing cores; and an operating system arranged to support at least one socket operable to accept data received from the network, the data belonging to one of a plurality of data flows; wherein the socket is configured to provide an instance of at least some of the state associated with the data flows per said set of data processing cores.
163 Citations
21 Claims
-
1. A data processing system supporting a network interface device for connection to a network, the data processing system comprising:
-
a plurality of sets of one or more data processing cores configured to receive process data received from the network, via the network interface device; and an operating system arranged to support at least one socket configured to accept said receive processed data, the data belonging to one of a plurality of data flows; wherein at least one socket is configured to have a plurality of queues, each queue of the plurality of queues dedicated to a respective one of the sets of data processing cores, a particular one of the sets of data processing cores including a processing core which receive processed said data of said one of the data flows, wherein state associated with said one data flow is provided in one of the queues dedicated to the particular set of data processing cores; and wherein an application thread executing at a particular processing core of the data processing system invokes an operation on the socket using state provided in a queue for the set of processing cores that includes the particular processing core. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for receiving data packets at a data processing system supporting a network interface device and having a plurality of sets of data processing cores, the method comprising the steps of:
-
receiving at the network interface device a data packet belonging to one of a plurality of data flows; performing receive processing at a first data processing core of the plurality of sets of data processing cores; selecting a socket supported by an operating system of the data processing system, the socket having a plurality of queues and configured to accept said receive processing data, each queue of the plurality of queues dedicated to a respective one of the sets of data processing cores, a particular one of the sets of data processing cores including the first data processing core which receive processed said data packet, state associated with said data packet being provided in a respective queue dedicated to the particular set of data processing core; and wherein an application thread executing at a particular processing core of the data processing system invokes an operation on the socket using state provided in a queue for the set of processing cores that includes the particular processing core. - View Dependent Claims (18, 19, 20, 21)
-
Specification