Heterogeneous Core Memory Sharing Across Processor Architectures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Interoperability of memory and computing resources between different processor architectures is difficult, leading to inefficiencies in memory and computing resource utilization.
Innovation Solution
A system for memory sharing and synchronization across disparate hardware engines using a parallel computing platform and application programming interface model, such as CUDA, that allows for the allocation and synchronization of memory across multiple User Mode Drivers (UMDs) and processors, including integrated and discrete GPUs, while adhering to specific allocation constraints and constraints across hardware and software boundaries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory is shared across heterogeneous processing cores, then memory usage efficiency is improved, but system complexity increases
Solution Approach 1:
The patent introduces a memory management unit (MMU) and translation layer that acts as an intermediary between heterogeneous processing cores and physical memory. This translation layer handles address space translation and memory allocation, allowing different processor architectures to access shared memory without direct complex interactions, thus improving memory efficiency while managing system complexity through abstraction.
Solution Approach 2:
The patent implements a universal memory interface and common address space that can be accessed by multiple heterogeneous processing cores simultaneously. This universal memory system provides multi-functional access patterns (read, write, synchronized access) and supports different memory allocation schemes, enabling efficient resource sharing across diverse architectures without requiring architecture-specific memory implementations for each core.
2Reliability
If synchronization mechanisms are added for memory sharing, then data consistency is improved, but access speed deteriorates
Solution Approach 1:
The patent implements fine-grained synchronization where only specific memory regions or data elements are synchronized rather than the entire address space. Different synchronization mechanisms (locks, barriers, atomic operations) are applied locally to specific critical sections, allowing non-critical memory accesses to proceed without synchronization overhead, thus maintaining data consistency where needed while preserving access speed where possible.
Solution Approach 2:
The patent applies synchronization selectively and partially - using lightweight synchronization primitives for frequently accessed data and heavier mechanisms only when absolutely necessary. The system employs optimistic concurrency control where transactions are executed without immediate synchronization checks, and conflicts are resolved only when detected, reducing overall synchronization overhead while maintaining data consistency.
Data Source
AI summary
Apparatus, systems, and techniques to share memory. In at least one embodiment, a processor comprises one or more circuits to allocate memory to at least two heterogeneous processing cores in response to performing one or more instructions associated with one or more application programming interfaces based, at least in part, on one or more attributes associated with the at least two heterogeneous processing cores.


