Unified Host Memory for Coprocessors via Virtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in efficiently coordinating memory access between main processors and coprocessors, especially when multiple coprocessors with different API protocols are involved, leading to unbalanced loading and synchronization issues across distributed systems.
Innovation Solution
Implementing a unified address range and memory synchronization strategy using a virtualization layer that allows for CPU/coprocessor-transparent memory allocations, enabling a common address space across all nodes and robust synchronization mechanisms without requiring modifications to system software or applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If separate memory allocations are performed on client and server for coprocessor access, then memory access transparency is improved, but system complexity and synchronization overhead increase
Solution Approach 1:
The patent merges the address spaces of the host system and coprocessor into a unified address space, allowing both to access the same physical memory regions without separate allocations. This eliminates the need for complex pointer rewriting and synchronization mechanisms while maintaining memory access transparency.
Solution Approach 2:
The unified address space serves multiple functions simultaneously: it provides memory access transparency for host applications, enables direct coprocessor access to shared memory, and eliminates the need for separate memory management mechanisms. This multi-functional approach reduces overall system complexity.
2Productivity
If multiple coprocessors with different API protocols are integrated into a unified system, then processing capability is improved, but system coordination and memory management complexity increase
Solution Approach 1:
The unified address space provides a universal interface that works with multiple coprocessor types having different API protocols. Each coprocessor can access the shared memory space through its own protocol while the underlying memory management remains standardized, enabling heterogeneous coprocessor integration without increasing coordination complexity.
3Adaptability or versatility
If distributed coprocessors are deployed across multiple nodes, then processing scalability is improved, but network dependency and synchronization requirements increase
Solution Approach 1:
The patent merges the memory address spaces across distributed nodes into a unified virtual address space. This allows coprocessors on different nodes to access shared memory regions without requiring explicit network synchronization, as the unified address space abstraction handles the coordination transparently.
Data Source
AI summary
At least one application of a client executes via system software on a hardware computing system that includes at least one CPU and at least one coprocessor. A virtualization layer establishes unified memory address space between the client and the hardware computing system, which also includes memory associated with the at least one coprocessor. The virtualization layer then synchronizes memory associated with the client and memory associated the at least one coprocessor. The virtualization layer may be installed and run in a non-privileged, user space, without modification of the application or of the system software running on the hardware computing system.


