Dynamic Memory Segment Allocation for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face inefficiencies in load balancing and dynamic resource allocation across server nodes sharing a storage array, leading to suboptimal performance and storage service delivery.
Innovation Solution
The memory system implements a method where server nodes request and compare load information to determine load differences, performing load balancing and segment dynamic allocation operations based on these comparisons to distribute memory operations efficiently across the storage array.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If server nodes share a storage array without dynamic load balancing, then the system structure is simple, but the input/output performance and storage service delivery are suboptimal
Solution Approach 1:
The patent implements dynamic segment allocation where server nodes can request segments from each other based on real-time load conditions. The load balancing checker dynamically determines which server node should handle which segments by comparing load information, allowing the system to adapt to changing workloads and optimize I/O performance without fixed rigid allocations.
Solution Approach 2:
The patent establishes a feedback mechanism where server nodes periodically provide load information to load balancing checkers. This feedback loop enables the system to monitor actual server node performance and adjust segment allocations accordingly, optimizing the distribution of I/O operations to improve overall productivity while maintaining manageable system complexity through automated decision-making.
2Adaptability or versatility
If server nodes perform load balancing operations, then resource utilization is optimized, but the system requires complex load information comparison and decision-making processes
Solution Approach 1:
The patent divides the storage array into multiple segments that can be independently allocated to different server nodes. This segmentation enables fine-grained load balancing where individual segments can be transferred between servers based on load conditions, providing flexible resource allocation without requiring complex system-wide redesigns or overly complicated management processes.
Solution Approach 2:
The load balancing checker automatically compares load information and makes decisions about segment allocation without requiring manual intervention. The system self-regulates by having server nodes provide load information and the checker autonomously determine optimal allocations, reducing the complexity of manual management while maintaining high adaptability in resource distribution.
3Speed
If segments are dynamically allocated based on load thresholds, then the swiftness of storage services is improved, but the system requires continuous monitoring and comparison of load information
Solution Approach 1:
The system performs preliminary actions by having server nodes proactively provide load information to load balancing checkers before I/O operations need to be dispatched. This advance preparation allows the system to have load comparison results ready in advance, enabling faster segment allocation decisions when I/O requests arrive and improving service swiftness without significant time penalties for monitoring and comparison.
Data Source
AI summary
An operating method of a memory system including a storage array including a plurality of segments and a first server node and a second server node allocating and managing the plurality of segments includes: requesting, via the first server node, load information from the second server node before performing a memory operation; receiving, via the first server node, the load information from the second server node and comparing load information of the first server node with the load information of the second server node; performing, via the first server node, a load balancing operation, based on a comparison result; and performing, via the first server node, a segment dynamic allocation operation regarding the storage array, the segment dynamic allocation operation matching the load balancing operation.


