Proximity-Based Memory Allocation in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidsystem scalability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If processors access non-local memory, then memory availability increases, but access latency increases

Engineering Contradiction:
Improvememory availabilityVSAvoidmemory access latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #10Preliminary action

3Speed

If local memory is used for each processor, then access speed is fast, but memory flexibility is reduced

Engineering Contradiction:
Improvememory access speedVSAvoidmemory flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8150946B2Proximity-based memory allocation in a distributed memory system
Publication Date: 2012.04.03 ORACLE AMERICAN INC
  • US8150946B2 patent drawing
  • US8150946B2 patent drawing
  • US8150946B2 patent drawing

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.