Message Engine Data Transfer Without Shared Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data transfer methods in data networking, such as page flipping and traditional data copying, incur high processing costs and memory sharing issues, particularly as the number of CPU cores increases, leading to inefficiencies and potential memory corruption affecting multiple applications.

Innovation Solution

The implementation of Message Engines (MEs) that transmit data without sharing memory space, using Virtual Message Engines (VMEs) and Host Physical Message Engines (HPMEs) to manage message segments through an interconnect, maintaining memory isolation and eliminating coherency protocol overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional data copying methods are used to transfer data between sender and receiver, then data transfer can be achieved, but processing cost increases and cache performance deteriorates due to cache pollution

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprocessing cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts the data transfer function from the traditional memory copy path and implements it through a dedicated message passing mechanism. The sender and receiver engage in direct message exchange without involving the general-purpose memory copy infrastructure, thereby separating the data transfer operation from the cache pollution problem that plagues traditional copying methods.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces message buffers as intermediary structures that facilitate data transfer between sender and receiver. These message buffers serve as dedicated communication channels that bypass the conventional memory copy path, reducing the processing overhead and cache pollution associated with traditional data copying methods.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If shared memory space is used for data transfer between applications, then data can be accessed by multiple components, but memory corruption can affect multiple applications and system stability decreases

Engineering Contradiction:
Improvememory sharing capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the memory space into application-specific message buffers that are dedicated to individual applications. Each application has its own isolated message buffer region, preventing memory corruption in one application from affecting others. This segmentation maintains the ability to transfer data while ensuring system stability through isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by providing each application with dedicated message buffers tailored to its specific communication needs. Rather than using a universal shared memory space, each application receives customized buffer allocation with appropriate isolation properties, ensuring that memory operations are confined to local, controlled regions.

Inventive Principle:
Principle #3Local quality

3Productivity

If the number of CPU cores increases to improve processing capacity, then system power increases, but the likelihood of efficient intervening memory existing decreases leading to DRAM interaction

Engineering Contradiction:
Improveprocessing capacityVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-allocating message buffers in memory regions that are optimally positioned for fast access. These buffers are prepared in advance with appropriate memory attributes and placements that anticipate future communication needs, ensuring that when multi-core processors need to exchange data, the memory access paths are already optimized rather than requiring dynamic allocation during runtime.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8751676B2Message communication techniques
Publication Date: 2014.06.10 INTEL CORP
  • US8751676B2 patent drawing
  • US8751676B2 patent drawing
  • US8751676B2 patent drawing

AI summary

A network protocol unit interface is described that uses a message engine to transfer contents of received network protocol units in message segments to a destination message engine. The network protocol unit interface uses a message engine to receive messages whose content is to be transmitted in network protocol units. A message engine transmits message segments to a destination message engine without the message engine transmitter and receiver sharing memory space. In addition, the transmitter message engine can transmit message segments to a receiver message engine by use of a virtual address associated with the receiver message and a queue identifier, as opposed to a memory address.