Hybrid Multi-Thread Multi-Process Model for Storage Node Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveability to handle multiple data streamsVSAvoidI/O performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidnumber of disk volume targets to manage
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvenumber of parallel streamsVSAvoidprocess management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveparallel stream processingVSAvoidload balancing capability
Core Design Contradiction:
ProductivityVSEase of operation

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8683099B1Load balancing of read/write accesses on a single host device
Publication Date: 2014.03.25 EMC IP HLDG CO LLC
  • US8683099B1 patent drawing
  • US8683099B1 patent drawing
  • US8683099B1 patent drawing

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.