Hybrid Multi-Thread Multi-Process Model for Storage Node Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network storage systems face limitations in load balancing and concurrency when processing multiple parallel read/write requests, leading to reduced efficiency and performance due to reliance on either multi-thread or multi-process models, which do not provide adequate load balancing and are constrained by the number of streams that can be processed simultaneously.
Innovation Solution
A hybrid multi-thread and multi-process model is implemented to manage I/O operations, allowing for full control over access patterns and enabling unlimited concurrency, thereby optimizing performance and scalability by dynamically balancing process loads and managing the number of processes and sessions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single I/O process multiplexes multiple data streams sequentially, then the process can handle multiple streams, but the performance decreases as stream count increases and the process becomes saturated
Solution Approach 1:
The patent segments the single I/O process into multiple I/O processes, where each process handles a specific data stream. This segmentation allows parallel processing of multiple streams without saturation, as each process operates independently on its assigned stream, resolving the contradiction between handling multiple streams and maintaining performance.
2Productivity
If multiple I/O processes each write a single data stream, then parallel processing is enabled, but the customer must manage a large number of disk volume targets imposing large overhead requirements
Solution Approach 1:
The patent implements a universal I/O process design where each I/O process can handle both read and write operations on a single data stream, eliminating the need for separate processes for different operations. This multi-functionality reduces the number of processes needed while maintaining parallel processing capability, thereby reducing management overhead.
3Productivity
If a single I/O process writes multiple data streams in parallel by allocating time to each stream, then multiple streams can be processed simultaneously, but there is a limiting value on how many streams can be processed in parallel
Solution Approach 1:
The patent divides the workload into separate I/O processes, each dedicated to a single data stream. This segmentation removes the limitation on the number of parallel streams because each stream has its own process, eliminating the need to manage stream allocation within a single process while maintaining full parallel processing capability.
4Productivity
If existing multi-thread or multi-process models are used, then parallel data streams can be processed, but adequate load balancing among multiple processes is not provided
Solution Approach 1:
The patent implements load balancing through feedback mechanisms that monitor the state of I/O processes and dynamically adjust task distribution. This feedback-driven approach ensures adequate load balancing by continuously adapting to changing conditions, resolving the contradiction between parallel processing capability and load balancing effectiveness.
Data Source
AI summary
Methods and systems are directed to a hybrid multi-thread/multi-process model to service a large number of network requests in network storage applications and systems. The process utilizes defined parameters of target session number, maximum session number, and maximum process number to determine an optimum load balance for read/write operations of a disk access session on a single storage node. This helps to achieve higher performance when using the single node to read or write a large number of separate and parallel data streams, and represents a marked improvement over current methods that multiplex the multiple data streams or use multiple I/O processes to write each data stream.


