Zero-Copy Object Serialization via DMA and RDMA

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serialization and deserialization processes in digital information transmission across data networks are resource-intensive, leading to high memory consumption and increased processor usage due to data copying, which results in inefficiencies.

Innovation Solution

The use of Direct Memory Access (DMA) and Remote Direct Memory Access (RDMA) techniques to transmit metadata and addresses of data members, allowing for the creation of a new object instance without the need for duplicate memory allocation and data copying, thereby reducing memory copy overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional serialization and deserialization processes are used to transfer objects across a data network, then objects can be converted into byte sequences and reconstructed, but memory consumption increases due to duplicate storage and processor usage increases due to additional copying operations

Engineering Contradiction:
Improveobject reconstruction accuracyVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential metadata and addresses of data members from the original object, transmitting these through the network while leaving the actual data in the original memory location. This eliminates the need to create complete duplicate copies of the object in memory during serialization and deserialization, thereby reducing memory consumption while preserving the ability to reconstruct the object.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism where metadata and addresses serve as proxies for the actual data. Instead of copying the entire object, the system transmits these intermediary representations that can be used to locate and reconstruct the original data, reducing the quantity of data that needs to be stored and transmitted.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional serialization and deserialization processes are used to transfer objects across a data network, then objects can be converted into byte sequences and reconstructed, but processor usage increases due to additional copying operations

Engineering Contradiction:
Improveobject reconstruction accuracyVSAvoidprocessor usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential metadata and addresses from the object, avoiding the need to perform extensive copying operations on the actual data. This extraction approach significantly reduces the number of processor operations required during serialization and deserialization, thereby reducing energy consumption while maintaining the ability to accurately reconstruct objects.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary actions by pre-calculating and storing metadata and addresses during object creation or before transmission. This preliminary preparation eliminates the need for time-consuming data copying operations during the actual serialization and deserialization processes, reducing processor usage and energy consumption.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If data is copied during serialization and deserialization, then objects can be reconstructed in memory, but memory copy overhead increases resulting in high memory consumption and cache pollution

Engineering Contradiction:
Improveobject reconstruction capabilityVSAvoidmemory copy overhead
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary metadata and address information from the object, avoiding the need to copy the entire data set. This extracted information is sufficient to locate and reconstruct the original object in memory, thereby maintaining ease of operation while significantly reducing memory copy overhead and preventing cache pollution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a form of selective copying where only metadata and addresses are copied to the byte sequence, rather than copying the actual data. This minimal copying approach maintains the ability to reconstruct objects while dramatically reducing the memory overhead associated with traditional full-data copying methods.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10496595B2Method for zero-copy object serialization and deserialization
Publication Date: 2019.12.03 MELLANOX TECHNOLOGIES LTD(IL)
  • US10496595B2 patent drawing
  • US10496595B2 patent drawing
  • US10496595B2 patent drawing

AI summary

Serialization and deserialization of an object are performed by transmitting metadata and addresses of data members in a byte stream through a data network, receiving the byte stream from the data network, defining a container for the object, obtaining the addresses of the data members in the first memory from the input byte stream, applying direct memory access (DMA) or remote direct memory access (RDMA) to read the data members using the obtained addresses, and writing the data members into the container to create a new instance of the object.