Shared Memory Allocation Manager for Disaggregated Data Centers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data centre architectures face inefficiencies in managing memory allocation, leading to excessive resource usage, network congestion, and latency due to unnecessary data duplication and slow storage access in distributed computing systems.
Innovation Solution
A memory allocation manager that determines and allocates shared memory blocks based on the internal relationships between instances, reducing data duplication and enabling direct access from shared RAM, thereby optimizing memory usage and network transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is copied to local memory for each instance in distributed computing, then each instance can access data independently, but memory usage and network bandwidth are excessively consumed
Solution Approach 1:
The patent merges memory resources by implementing a shared memory pool that is accessible by multiple instances simultaneously, eliminating the need for each instance to have its own separate copy of the same data in local memory
Solution Approach 2:
The shared memory pool serves multiple instances universally, allowing the same memory space to be used by different instances for their respective data processing tasks, thereby reducing overall memory consumption
2Adaptability or versatility
If data is flushed from producer instance cache to shared storage and then fetched by consumer instances, then data can be shared between instances, but I/O operations and network bandwidth are consumed
Solution Approach 1:
The patent extracts the intermediate storage step by allowing producer instances to allocate memory directly in the shared memory pool, eliminating the need to flush data to persistent shared storage and then fetch it back for consumer instances
Solution Approach 2:
The shared memory pool acts as an intermediary between producer and consumer instances, enabling direct memory allocation and access without involving the slower shared storage tier and reducing network I/O operations
3Ease of operation
If multiple levels of memory transactions and storage node retrieval are used, then data can be accessed from distributed storage, but latency increases
Solution Approach 1:
The patent segments memory access into direct shared memory transactions, separating the fast path for frequently accessed data from the slower storage tier, thereby reducing latency for common operations
Solution Approach 2:
The system performs preliminary actions by pre-allocating memory blocks in the shared memory pool before data production, enabling immediate data placement and direct access by consumer instances without subsequent retrieval delays
Data Source
Figure 1a
Figure 1b
Figure 2a~2b
AI summary
A memory allocation manager and a method performed thereby for managing memory allocation, within a data centre, to an application are provided. The data centre comprises at least a Central Processing Unit, CPU, pool and at least one memory pool. The method comprises receiving (210) information associated with a plurality of instances associated with an application to be initiated, wherein individual instances are associated with individual memory requirements, the information further comprising information about an internal relationship between the instances; and determining (230) for a plurality of instances, a minimum number of memory blocks and associated sizes required based on the received information, by identifying parts of memory blocks and associated sizes that may be shared by two or more instances based on their individual memory requirements and/or the internal relationship between the instances. The method also comprises allocating (240) a number of memory blocks to the instances of the application based on the determined minimum number of memory blocks.