Core-to-core communication via message router serialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, core-to-core communication using ad hoc techniques faces challenges in coordinating communications and resource management, especially when shared memory resources are involved, leading to inefficiencies such as cache pollution and the need for expensive context switches.

Innovation Solution

The implementation of a core-to-core communication system that uses a message router to serialize writes from source cores to target cores without direct synchronization, avoiding cache pollution and context switches by using dedicated buffers and asynchronous data access, allowing for improved processor resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ad hoc communication techniques are used between cores, then communication flexibility is improved, but coordination efficiency deteriorates due to difficulties in coordinating communications and resources

Engineering Contradiction:
Improvecommunication flexibilityVSAvoidcoordination efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a message router as an intermediary component that mediates communication between source cores and target cores. The message router receives messages from source cores, determines appropriate target cores based on message content, and routes messages accordingly. This intermediary structure maintains communication flexibility while significantly improving coordination efficiency, as the message router centralizes the coordination function and eliminates the need for cores to directly coordinate with each other.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If shared memory resources are used for communication, then resource utilization is improved, but cache pollution occurs leading to performance degradation

Engineering Contradiction:
Improveresource utilizationVSAvoidcache pollution
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent segments the communication path by introducing dedicated communication buffers between source cores and target cores, separating communication traffic from general shared memory access. This segmentation allows communication messages to be transmitted through dedicated buffer structures rather than contaminating the cache with unrelated data accesses, thus maintaining resource utilization while eliminating cache pollution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The message router acts as an intermediary that manages communication buffers, receiving messages from source cores and forwarding them to target cores without requiring direct shared memory access between cores. This intermediary structure enables efficient resource utilization through dedicated buffers while preventing cache pollution by isolating communication traffic from the cache hierarchy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If direct core-to-core communication is implemented, then communication speed is improved, but context switches are required increasing system overhead

Engineering Contradiction:
Improvecommunication speedVSAvoidsystem overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The message router serves as an intermediary that enables direct communication between source cores and target cores without requiring context switches to user space or kernel space. The message router handles message routing, buffer management, and target core determination in kernel space, allowing application cores to communicate directly while the message router manages the complexity of context switching and resource coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The message router implements self-service mechanisms by automatically determining target cores based on message content, managing communication buffers, and handling routing decisions without requiring intervention from application cores. This self-service capability reduces system overhead by eliminating the need for application cores to perform context switches or manage communication state, while maintaining high communication speed through direct core-to-core message passing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11397697B2Core-to-core communication
Publication Date: 2022.07.26 AMAZON TECH INC
  • US11397697B2 patent drawing
  • US11397697B2 patent drawing
  • US11397697B2 patent drawing

AI summary

Apparatus, methods, and computer-readable storage media are disclosed for core-to-core communication between physical and/or virtual processor cores. In some examples of the disclosed technology, application cores write notification data (e.g., to doorbell or PCI configuration memory space accesses via a memory interface), without synchronizing with the other application cores or the service cores. In one examples of the disclosed technology, a message selection circuit is configured to, serialize data from the plurality of user cores by: receiving data from a user core, selecting one of the service cores to send the data based on a memory location addressed by the sending user core, and sending the received data to a respective message buffer dedicated to the selected service core.