Sparse Volume Cache Mechanism for Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Sparse Volume storage systems in large-scale environments face memory inefficiencies due to the instantiation of all slice-objects in memory, consuming significant memory resources, even though not all slices are actively accessed simultaneously, leading to wasted memory and performance issues.
Innovation Solution
Implementing a cache mechanism that instantiates slice-objects only when accessed and releases them if not accessed within a threshold period, using a slice-object cache and a slice map sector cache with a least recently used policy to reclaim memory, thereby optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If all slices are instantiated in memory, then slice access speed is improved, but memory consumption increases significantly
Solution Approach 1:
The patent applies preliminary action by pre-instantiating slice-objects in memory before they are actually needed. When a slice is accessed, its slice-object is already available in memory, enabling fast access. The system proactively manages memory by releasing slice-objects that haven't been accessed within a threshold period, thus balancing fast access with memory efficiency.
Solution Approach 2:
The patent implements dynamics by making the slice-object instantiation state dynamic rather than static. Slice-objects are instantiated on-demand when accessed and released when not accessed within the threshold period. This dynamic allocation allows the system to adapt memory usage to actual access patterns, improving both access speed for active slices and memory efficiency for inactive ones.
2Productivity
If slice-objects are maintained in memory for fast access, then access performance is improved, but system scalability deteriorates due to memory limits
Solution Approach 1:
The patent applies partial action by maintaining only the necessary subset of slice-objects in memory at any given time, rather than all possible slice-objects. By using a threshold period to determine which slice-objects to retain, the system keeps enough slice-objects in memory to maintain good access performance while releasing others to enable system scalability and support more total slices.
3Quantity of substance
If slice-objects are released when not accessed, then memory usage is optimized, but access time increases due to re-instantiation
Solution Approach 1:
The patent applies preliminary action by pre-instantiating slice-objects in memory before they are actually needed. When a slice is accessed, its slice-object is already available in memory, enabling fast access. The system proactively manages memory by releasing slice-objects that haven't been accessed within a threshold period, thus balancing fast access with memory efficiency.
Solution Approach 2:
The patent uses parameter changes by adjusting the threshold period to balance memory usage and access time. By tuning this parameter, the system can optimize the trade-off between keeping slice-objects in memory (faster access) and releasing them (lower memory usage). This parameter adjustment allows flexible adaptation to different workload patterns and memory constraints.
Data Source
AI summary
A method, computer program product, and computer system for instantiating, by a computing device, a slice-object associated with a slice when the slice-object is accessed. The slice-object is released to a slice object cache when accessing is complete. It is determined whether the slice is accessed within a threshold period of time. If the slice is accessed within the threshold period of time, the slice-object is retrieved from the slice-object cache. If the slice is not accessed within the threshold period of time, memory used for the slice-object is released.


