Shared Virtual Address Access Across Server Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed systems and computer clusters face challenges in efficiently, simply, securely, and reliably summarizing inter-process computing results due to isolated address spaces and operating systems, leading to poor extensibility and low performance.
Innovation Solution
Implementing a shared virtual address space for server nodes to enable secure and reliable access between them, using a shared virtual address that does not depend on the server node's topology structure, and optimizing page table entry lengths to reduce overheads and improve efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complex packet receiving and sending is used for inter-server communication, then communication can be performed between isolated address spaces, but performance is low and system complexity increases
Solution Approach 1:
The patent introduces a shared virtual address space as an intermediary mechanism that enables direct memory access between server nodes without requiring complex packet protocols. The shared virtual address space acts as a mediator that allows processes on different server nodes to communicate directly through memory-mapped I/O, eliminating the need for traditional network packet handling while maintaining communication reliability
Solution Approach 2:
The patent replaces the mechanical network communication system (packets, protocol stacks, network interfaces) with a memory access system. By mapping remote server memory regions into the local virtual address space, the system substitutes network I/O operations with memory-mapped access operations, dramatically improving performance while reducing system complexity
2Productivity
If shared virtual address space is allocated for server nodes, then access efficiency is improved and system flexibility increases, but physical memory overhead increases
Solution Approach 1:
The patent uses page table copying and mapping mechanisms where virtual address mappings are replicated across server nodes through page table structures. Instead of physically duplicating memory, the system creates virtual copies through page table entries that map to remote physical memory, achieving the effect of memory duplication without the actual physical overhead
Solution Approach 2:
The patent changes the parameter of memory addressing from physical addresses to virtual addresses with different page table entry lengths. By optimizing page table entry lengths and using variable-sized mappings, the system reduces the memory overhead required to maintain the shared virtual address space while preserving access efficiency
3Reliability
If access credentials are implemented for security, then data access security is improved, but access complexity increases
Solution Approach 1:
The patent merges security credential verification with the existing page table and memory management structures. Access credentials are integrated into the address translation and memory access path, so that security checks occur naturally during the memory access operation rather than as separate control flow steps, reducing access complexity while maintaining security
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments of this application provide an access method and an access apparatus, and relate to the field of computer technologies, to resolve problems of poor extensibility and low performance during mutual data access between server nodes. A specific solution is: determining, based on a first virtual address, an address of a second server node corresponding to the first virtual address, where the first virtual address is an address carried in an access request obtained by a first server node (S501); and if the address of the second server node is a second virtual address, sending the access request to the second virtual address, where the second virtual address is a shared virtual address of the first server node and the second server node (S502). Embodiments of this application are applied to the process of mutual data access between the server nodes.