Extended Page Tables for Remote Memory Access in Large Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory management hardware is unable to address the total system memory in large multi-node clusters due to limitations in address bits and network functionality, preventing effective access to memory across nodes in supercomputers.
Innovation Solution
Partition memory into fixed-size, block-size aligned blocks for a global memory pool, generate a global virtual address by combining a physical address with a global bit, and translate using global access tuple tables to access memory blocks, enabling standard load/store operations across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional memory management hardware is used, then the system can address memory within a single node, but the total system memory cannot be addressed when it exceeds the number of address bits available
Solution Approach 1:
The patent segments the physical address space into multiple regions, each managed by separate page tables (e.g., page table 0, page table 1, etc.). Each page table handles a portion of the total memory, allowing the system to address memory beyond the capacity of a single page table by selecting the appropriate segment based on the virtual address bits
Solution Approach 2:
The patent introduces an additional dimension to the address space by using multiple page tables indexed by virtual address bits. Instead of relying on a single page table with insufficient address bits, the system uses the upper bits of the virtual address to select among multiple page tables, effectively extending the addressable memory space by adding this new dimensional layer
2Ease of operation
If the network is designed to transmit messages, then communication between nodes is enabled, but standard load/store operations cannot access memory in other nodes
Solution Approach 1:
The patent creates a universal address space that can reference memory in any node through standard load/store operations. The extended page table mechanism allows the same instruction set to access both local and remote memory uniformly, making the system versatile enough to handle both traditional memory access and distributed memory access without requiring different operation types
Data Source
AI summary
A method to address memory in nodes of a distributed memory system includes partitioning the memory in each node into one or more memory blocks available for a global memory pool. The method also includes combining, in response to a request to address memory in the global memory pool, a global bit from a global page table with a physical address to generate a global virtual address. The global bit indicates whether the memory is local or remote. The method also includes translating, using global access tuple (GAT) tables, the global virtual address to a global physical address, and addressing a memory block in the global memory pool based on the global physical address.


