Network adapter utilizing a hashing function for distributing packets to multiple processors for parallel processing
US6631422B1 · kind B1 · utility
Assignee
Inventors
Key dates
| Filing date | Aug 26, 1999 |
| Grant date | Oct 7, 2003 |
| Priority date | — |
| Expiry date | Aug 26, 2019 |
Classification
- Technology area (CPC H)Electricity
- CPC primaryH04L69/326
- WIPO fieldDigital communication
- WIPO sectorElectrical engineering
Abstract
Network input processing is distributed to multiple CPUs on multiprocessor systems to improve network throughput and take advantage of MP scalability. Packets are received by the network adapter and are distributed to N receive buffer pools set up by the device driver, based on N CPUs being available for input processing of packets. Each receive buffer pool has an associated CPU. Packets are direct memory accessed to one of the N receive buffer pools by using a hashing function, which is based on the source MAC address, source IP address, or the packet's source and destination TCP port numbers, or all or a combination of the foregoing. The hashing mechanism ensures that the sequence of packets within a given communication session will be preserved. Distribution is effected by the network adapter, which sends an interrupt to the CPU corresponding to the receive buffer pool, subsequent to the packet being DMAed into the buffer pool. This optimizes the efficiency of the MP system by eliminating any reliance on the scheduler and increasing the bandwidth between the device driver and the network adapter, while maintaining proper packet sequences. Parallelism is thereby increased on netw…
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.