Distributed Memory Pooling via Dynamic Scheduling Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing systems face challenges when memory usage approaches or exceeds available local primary memory, leading to performance issues and inefficiencies.
Innovation Solution
The implementation of distributed memory pools, where computing devices can dynamically allocate and manage memory resources across a network, allowing for adaptive use of local and non-local memory based on system parameters and indicators.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If computing systems use local primary memory, then access speed is fast, but memory capacity is limited
Solution Approach 1:
The memory system is segmented into local primary memory (fast access) and distributed memory pools (large capacity). The scheduling logic divides memory management into local allocation for performance-critical data and remote allocation for bulk storage, resolving the contradiction between speed and capacity by using appropriate memory segments for different purposes
Solution Approach 2:
The patent introduces a spatial dimension by distributing memory across multiple computing devices via network. Instead of only expanding local memory capacity (one dimension), the system adds a networked memory dimension, enabling unlimited capacity while maintaining fast local access through cache hierarchies
2Quantity of substance
If computing systems increase memory capacity, then more data can be stored, but system complexity increases
Solution Approach 1:
The scheduling logic provides universal memory allocation functionality that works for both local and remote memory. It handles diverse memory requests (local allocation, remote allocation, cache management) through a unified interface, reducing complexity by abstracting the underlying hardware diversity into a single management layer
Solution Approach 2:
The scheduling logic acts as an intermediary between applications and the heterogeneous memory system. It translates simple memory allocation requests into complex operations involving local cache, remote memory pools, and network communication, shielding applications from memory system complexity while enabling expanded capacity
3Productivity
If computing systems dynamically allocate memory, then memory utilization improves, but allocation time increases
Solution Approach 1:
The system performs preliminary actions by pre-establishing local cache memory and maintaining active memory pools before actual allocation requests. When data is needed, the scheduling logic can quickly allocate from pre-configured local memory or rapidly initiate remote allocation from pre-established pools, reducing allocation time while maintaining high utilization through dynamic redistribution
Data Source
AI summary
This application generally relates to memory provisioning and particularly describes systems and methods for distributed memory pools. For example, a computing/memory device in a distributed system may be configured to execute application logics using local cache for data maintained in non-local memory in another computing/memory device of the distributed system. The computing/memory device may further be configured to provide memory for other applications executed on other computing/memory devices of the distributed system. The local and non-local memory allocation for the applications in the computing/memory devices of may be dynamically and adaptively adjusted according to various system parameters and indicators.


