Distributed KVS Data Allocation by Server Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing, constructing a distributed Key-Value Store (KVS) system is challenging due to varying server performance, leading to degraded access performance and memory usage efficiency, as existing methods require manual data allocation settings that do not account for performance differences among servers.
Innovation Solution
A system that automatically sets data management ranges and allocates replicated data based on server performance using algorithms like 'down staircase' and 'inverted V shape' to optimize data distribution across servers, ensuring balanced performance and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If data is allocated equally across servers using consistent hashing, then distribution simplicity is maintained, but access performance and memory usage efficiency degrade due to server performance differences
Solution Approach 1:
The patent applies local quality by allocating different amounts of replicated data to different servers based on their specific performance characteristics. High-performance servers receive larger allocation ratios while low-performance servers receive smaller ratios, optimizing the overall system balance. This is implemented through the allocation ratio determination unit that assigns ratios proportional to each server's performance level.
Solution Approach 2:
The patent changes the allocation parameter from equal distribution to performance-proportional distribution. The system dynamically adjusts the allocation ratio parameter based on measured server performance metrics, transforming the static equal allocation into a dynamic performance-based allocation that adapts to varying server capabilities.
2Productivity
If manual data allocation settings are used, then performance differences among servers can be considered, but operational complexity and time consumption increase
Solution Approach 1:
The system implements self-service by automatically measuring server performance, determining allocation ratios, and allocating replicated data without requiring manual intervention. The allocation ratio determination unit and data allocation unit work autonomously to optimize data distribution based on current server performance levels, eliminating the need for manual configuration while maintaining high efficiency.
Solution Approach 2:
The system establishes a feedback loop where server performance is continuously measured, allocation ratios are determined based on these measurements, and the results are applied to data allocation. This closed-loop feedback mechanism enables the system to automatically adapt to performance changes and maintain optimal allocation without manual reconfiguration.
3Productivity
If high-performance servers hold more replicated data, then access performance improves, but memory capacity of low-performance servers is underutilized
Solution Approach 1:
The system dynamically adjusts the allocation ratio parameter based on server performance, transforming the fixed equal allocation into a flexible performance-proportional allocation. This parameter change ensures that high-performance servers receive more replicated data while low-performance servers receive appropriate amounts, optimizing both access performance and overall memory utilization across the cluster.
Data Source
AI summary
A computer system comprises a plurality of computers for executing a service by using databases constructed of storage areas included in the plurality of computers. Each of the plurality of computers is configured to hold performance management information for managing respective performances of the plurality of computers. The each of the plurality of computers is allocated master data and replicated data of the master data managed by one of the plurality of computers other than the each of the plurality of computers. The computer system comprises a performance information management part configured to update the performance management information; and a cluster configuration management part configured to determine, based on the performance management information, the management range of the master data managed by a computer and a sub-computers configured to hold the replicated data of the master data managed by the computer.


