Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
Description
Today EC with GRPC copies input data buffer several times:
- when parsing protobuf objects from the input network stream, data is copied from the original netty direct buffer to heap.
- when writing data to files, the heap buffer needs to be copied to direct buffers by NIO.
The cost of buffer copies themself is inefficient, it comes with GC consequences of cleaning up the intermediate buffers. Those together slow EC I/O down.
We can use the ZeroCopyMarshaller from RATIS-1932 to avoid all those issues.
Attachments
Attachments
Issue Links
- is duplicated by
-
HDDS-9667 Zero-Copy in EC GRPC
- Resolved
- is related to
-
HDDS-10283 Apply zero copy to Ozone client reads chunks
- Open
-
HDDS-5764 Avoid buffer copy with Grpc zero-copy marshaller
- Resolved
- requires
-
RATIS-1932 Create zero-copy Marshaller
- Resolved
-
HDDS-9192 Update Ratis to 3.0.0
- Resolved
- links to