Remote Memory Access via GAT Translation in Multi-Node Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-node computing systems face challenges in accessing global shared memory due to differences in operating systems across nodes, where page tables managed by an OS do not support remote memory access, leading to coordination complexities and security issues.
Innovation Solution
Implementing a multi-node computing system with a management structure that includes page tables and Global Access Tuple (GAT) tables to translate virtual addresses into physical addresses, enabling access to globally shared memory using load/store commands, and utilizing distributed agents for remote access policy enforcement and security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If page tables managed by an operating system are used for memory translation, then virtual address to physical address translation is enabled, but remote memory access is not supported
Solution Approach 1:
The patent implements a nested translation structure where the Global Access Tuple Table is embedded within the existing page table framework. Each physical address translation now involves two levels: first through the OS page table to obtain a base physical address, then through the GAT table entry at that address to obtain the final remote or local memory address. This nested approach allows remote memory access capability to be added without replacing the existing page table mechanism, thereby increasing adaptability while managing complexity through layered design.
Solution Approach 2:
The Global Access Tuple Table serves as an intermediary layer between the OS page table and the actual memory (local or remote). Instead of modifying the OS page table to support remote access, the patent introduces the GAT table as a mediator that receives physical addresses from the page table and translates them to final memory addresses, enabling remote access while preserving the existing page table structure.
2Productivity
If nodes access memory on other nodes using load/store commands, then global shared memory access is enabled, but coordination complexity increases
Solution Approach 1:
The patent implements a self-service mechanism where each node maintains its own GAT table with the necessary translation information for accessing remote memory. When a load/store command needs to access remote memory, the node's MMU autonomously performs the two-stage translation using its local GAT table without requiring coordination with the remote node's OS. The remote node simply responds to memory requests as if they were local accesses, significantly reducing coordination complexity while maintaining high productivity.
3Productivity
If memory is shared globally across nodes, then system efficiency is enhanced, but security and access control issues arise
Solution Approach 1:
The patent applies local quality by allowing each node to have customized GAT table entries with node-specific access control policies. Each GAT table entry can be configured with permissions specific to that node, enabling fine-grained control over which nodes can access which remote memory regions and under what conditions. This approach maintains high system efficiency through global sharing while ensuring security through localized access control policies at each node.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computing node in a multi-node computing system includes a local memory, at least one processor, and an access library. The at least one processor runs an operating system that runs a distributed application in a virtual address space. The application includes a process that generates a first memory access request that includes a first virtual address. The access library is responsive to the first memory access request by: converting the first virtual address into a first physical address, accessing the local memory based on the first physical address including a first indication that the first memory access request is for the local memory, and accessing a global access tuple table based on the first physical address including a second indication that the first memory access request is for memory located on a second computing node of the multi-node computing system that is remotely located from the computing node.