Structured Memory Coprocessor for Concurrency-Safe Shared Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software systems using multi-core processors face challenges in efficient, concurrency-safe access to shared data, particularly due to the overhead of inter-process communication and memory traffic, which complicates development and scalability.

Innovation Solution

A structured memory system, such as HICAMP, is implemented using a coprocessor that provides immutable, copy-on-write memory with automatic deduplication and snapshot isolation, allowing direct access to shared data without inter-process communication, using iterator registers for efficient data access and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional processor and memory systems are used, then existing software can run without modification, but efficient concurrency-safe access to shared data is difficult to achieve

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidconcurrency safety
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

A coprocessor is introduced as an intermediary between conventional processors and structured memory. The coprocessor handles structured memory operations and provides a memory-mapped interface that conventional processors can access through standard load/store instructions, thus enabling existing software to benefit from structured memory without requiring changes to the software itself

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The invention implements copy-on-write semantics where memory locations are initially shared reads. When a write operation is attempted, the system creates a copy of the memory location for the writing process, allowing concurrent reads to continue unaffected while the write proceeds independently on the copy

Inventive Principle:
Principle #26Copying

2Reliability

If inter-process communication is used for shared data access, then data sharing is achieved, but memory footprint and communication overhead increase

Engineering Contradiction:
Improvedata sharingVSAvoidmemory footprint
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple processes share the same physical memory space through the coprocessor interface, merging their data access paths. This eliminates the need for separate memory spaces and inter-process communication mechanisms, reducing overall memory footprint while maintaining reliable data sharing through the unified memory architecture

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The structured memory system automatically manages data sharing and synchronization through its inherent copy-on-write and versioning mechanisms. The system self-manages consistency without requiring explicit synchronization primitives or communication protocols between processes

Inventive Principle:
Principle #25Self-service

3Ease of operation

If traditional shared memory access is used, then data access is simplified, but synchronization overhead and non-determinism increase

Engineering Contradiction:
Improvedata access simplicityVSAvoidsynchronization overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating versions of memory locations before writes occur. Each memory location maintains a version number and timestamp, allowing readers to access data without blocking writers and eliminating the need for complex synchronization protocols

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory system dynamically adapts access patterns by implementing copy-on-write semantics that automatically adjust memory behavior based on read/write operations. The system can dynamically create copies, versions, and access paths as needed, optimizing performance without requiring manual synchronization

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8407428B2Structured memory coprocessor
Publication Date: 2013.03.26 INTEL CORP
  • US8407428B2 patent drawing
  • US8407428B2 patent drawing
  • US8407428B2 patent drawing

AI summary

Intercepting a requested memory operation corresponding to a conventional memory is disclosed. The requested memory operation is translated to be applied to a structured memory.