Proximity-Based Memory Allocation in Distributed Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed shared memory systems face challenges in efficiently allocating memory across multiple processors, leading to increased latency and reduced performance due to the lack of scalability and flexibility in managing memory access in large systems.
Innovation Solution
A proximity-based memory allocation scheme is implemented, where each processor node broadcasts memory requests to nearby memory nodes, incrementing the search radius and timeout value if initial requests are not met, to find the nearest available physical memory, thereby reducing memory access latency and improving system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a centralized scheme is used for memory allocation, then memory allocation can be managed uniformly, but the system lacks scalability to large systems
Solution Approach 1:
The patent divides the centralized memory allocation function into distributed segments, where each processor node independently performs memory allocation for its local processes. This segmentation eliminates the single point of control bottleneck, enabling the system to scale to large numbers of processors while maintaining flexible memory allocation capabilities.
Solution Approach 2:
Each processor node autonomously allocates memory to its own processes without requiring centralized coordination. The processor monitors its local memory availability and independently makes allocation decisions, allowing the system to scale efficiently while maintaining allocation flexibility through decentralized self-service operations.
2Adaptability or versatility
If processors access non-local memory, then memory availability increases, but access latency increases
Solution Approach 1:
The patent implements a proximity-based memory allocation strategy where processors prioritize allocating memory from locations closest to them. By making memory allocation quality dependent on spatial proximity, the system ensures that processes receive memory with optimal access characteristics, reducing latency while maintaining high memory availability through the distributed pool.
Solution Approach 2:
The system pre-allocates memory to processor nodes based on their local needs and proximity requirements before actual memory access occurs. This preliminary allocation ensures that memory is already positioned optimally near the requesting processor, eliminating the need for time-consuming remote access operations while maintaining high overall memory availability.
3Speed
If local memory is used for each processor, then access speed is fast, but memory flexibility is reduced
Solution Approach 1:
The patent merges the concept of local memory speed with distributed memory flexibility by allowing processors to access both local and non-local memory through a unified proximity-based allocation system. This combination maintains fast access speeds for local memory while providing the flexibility of a shared memory pool across all processors in the distributed system.
Data Source
AI summary
A system and method for allocating the nearest available physical memory in a distributed, shared memory system. In various embodiments, a processor node may broadcast a memory request to a first subset of nodes connected to it via a communication network. In some embodiments, if none of these nodes is able to satisfy the request, the processor node may broadcast the request to additional subsets of nodes. In some embodiments, each node of the first subset of nodes may be removed from the processor node by one network hop and each node of the additional subsets of nodes may be removed from the processor node by no more than an iteratively increasing number of network hops. In some embodiments, the processor node may send an acknowledgment to one node that can fulfill the request and a negative acknowledgement to other nodes that can fulfill the request.


