Skip to content

TCP receive zerocopy support #8510

@kevinGC

Description

@kevinGC

Use case(s) - what problem will this feature solve?

TCP receive zerocopy can be used on Linux to increase throughput, decrease CPU usage, and decrease memory bandwidth pressure.

Proposed Solution

Add support for zerocopy receive. This breaks into a few smaller issues:

  • Add support for SO_RCVLOWAT, which reduces CPU usage and is important for zerocopy performance. SO_RCVLOWAT is used in the C++ gRPC library as well.
  • Implement support for zerocopy itself.
  • Benchmarking to prove the effectiveness of zerocopy.

The implementation may be limited to ALTS connections at first, but I'd like to expand it beyond ALTS in the future.

Alternatives Considered

N/A, as the goal here is specifically to get zerocopy working.

Additional Context

I plan on implementing this myself.

Metadata

Metadata

Assignees

Labels

Area: TransportIncludes HTTP/2 client/server and HTTP server handler transports and advanced transport features.Type: FeatureNew features or improvements in behavior

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions