Clustered Memory Resiliency via Segmentation and Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Clustered memory systems face higher latency and lower bandwidth compared to local memory, and are susceptible to failures that can cause computing devices to crash, as they lack redundancy and efficient resource management.
Innovation Solution
Implementing redundancy through replication and erasure coding techniques, such as internal and external erasure coding, to ensure data availability and improve latency and bandwidth constraints, while also using management hosts to monitor and manage memory resources across the network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is stored in clustered memory servers to improve memory utilization efficiency, then memory resource availability increases, but access latency increases and bandwidth decreases compared to local memory
Solution Approach 1:
The patent segments memory resources by dividing clustered memory into multiple chunks and distributing them across different memory servers. Each computing device is assigned specific chunks, allowing direct access to frequently used data while maintaining overall memory pool utilization. This segmentation reduces access latency for hot data while preserving the expanded memory capacity.
Solution Approach 2:
The patent implements local quality by caching frequently accessed memory chunks in local memory of computing devices. This creates a two-tiered system where hot data resides in fast local memory while cold data remains in clustered memory servers, optimizing both access speed and resource utilization efficiency.
2Quantity of substance
If clustered memory systems are implemented to expand memory capacity, then memory availability increases, but system reliability decreases due to susceptibility to failures
Solution Approach 1:
The patent implements preliminary action through proactive data replication and redundancy mechanisms. Before failures occur, data is replicated across multiple memory servers and chunks are pre-loaded into local memory caches. This ensures that even if a memory server fails, the computing device can continue operating with data already present in local memory or quickly retrieve it from replicated locations.
Solution Approach 2:
The patent provides beforehand cushioning by maintaining redundant copies of critical data and implementing error correction codes in the clustered memory system. This creates a buffer against failures, allowing the system to withstand memory server failures without crashing and maintaining data integrity even when capacity is expanded across multiple nodes.
3Quantity of substance
If memory servers are used to provide additional memory resources, then memory utilization efficiency improves, but resource management complexity increases
Solution Approach 1:
The patent implements universality by creating a unified memory management system that treats local memory and clustered memory as a single resource pool. The memory manager can allocate, move, and manage chunks across different locations transparently, providing multi-functional capabilities including caching, replication, and load balancing within a single management framework, thereby improving utilization without proportionally increasing complexity.
Solution Approach 2:
The patent enables self-service through automated memory management mechanisms where the system autonomously performs chunk allocation, data replication, cache management, and failure recovery. The memory manager automatically monitors system state and makes optimization decisions without manual intervention, reducing the operational complexity despite the enhanced resource utilization capabilities.
Data Source
AI summary
Disclosed are various embodiments for improving the resiliency and performance for clustered memory. A computing device can mark a page of the memory as being reclaimed. The computing device can then set the page of the memory as read-only. Next, the computing device can submit a write request for the contents of the page to individual ones of a plurality of memory hosts. Subsequently, the computing device can receive individual confirmations of a successful write of the page from the individual ones of the plurality of memory hosts. Then, the computing device can mark the page as free in response to receipt of the individual confirmations of the successful write from the individual ones of the plurality of memory hosts.


