Tyche Network Storage Protocol Adaptive Batching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network storage protocols over Ethernet face inefficiencies due to high host-overhead, limited scalability, and inability to utilize multiple network interface controllers (NICs) effectively, resulting in suboptimal I/O throughput and increased CPU utilization.

Innovation Solution

The Tyche network storage protocol is designed to operate directly on Ethernet without hardware support, employing copy-reduction techniques, pre-allocation of memory, custom packet processing, and adaptive batching to reduce overhead and enhance scalability with multiple NICs and cores, while maintaining low CPU utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional network storage protocols are used over Ethernet, then compatibility with existing infrastructure is maintained, but host-overhead is high and I/O throughput is limited

Engineering Contradiction:
ImproveI/O throughputVSAvoidhost-overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The protocol segments the I/O path into distinct components: a block layer for I/O management and a network layer for packet transmission. This segmentation allows each layer to be optimized independently, reducing overall host-overhead while maintaining high throughput by separating concerns between data processing and network communication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts critical functionality from the traditional stack by implementing custom packet processing that bypasses conventional Ethernet processing paths. By taking out unnecessary processing steps and implementing minimalistic packet handling, the system reduces host-overhead while preserving essential I/O throughput capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If multiple network interface controllers (NICs) are deployed to increase throughput, then link utilization improves, but device complexity and synchronization overhead increase

Engineering Contradiction:
ImproveI/O throughputVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each NIC is assigned to a dedicated channel with its own independent packet queues and buffers. This segmentation isolates synchronization concerns to the channel level rather than requiring global synchronization across all NICs, enabling multiple NICs to operate in parallel with minimal coordination overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces channel-level abstraction that adds a new dimension to NIC management. Instead of managing NICs directly at the system level, the channel layer provides an intermediate abstraction that simplifies resource allocation and reduces synchronization complexity when scaling to multiple NICs.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If protocol overheads are reduced for Ethernet storage access, then I/O throughput improves, but protocol design complexity increases

Engineering Contradiction:
ImproveI/O throughputVSAvoidprotocol design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The protocol is divided into distinct block layer and network layer components, each with well-defined interfaces and responsibilities. This segmentation makes the complex protocol easier to design and implement by breaking down functionality into manageable units that can be developed and tested independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The protocol design incorporates universal data structures and processing mechanisms that can handle various I/O operations through a unified framework. By creating multi-functional components that serve multiple purposes, the patent reduces overall protocol complexity while maintaining high throughput performance.

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

4Use of energy by moving object

If copy-reduction techniques and pre-allocation of memory are implemented, then CPU utilization decreases, but memory management complexity increases

Engineering Contradiction:
ImproveCPU utilizationVSAvoidmemory management complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

Memory buffers and packet queues are pre-allocated during system initialization and channel setup. By performing this allocation action in advance, the system avoids CPU-intensive dynamic memory management during I/O operations, significantly reducing CPU utilization while the static allocation structure simplifies runtime memory handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The protocol implements self-managed memory pools where buffers are automatically allocated and freed through simple pointer manipulation rather than complex memory management calls. This self-service approach reduces CPU overhead by eliminating the need for expensive memory allocation functions during high-speed I/O processing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10721302B2Network storage protocol and adaptive batching apparatuses, methods, and systems
Publication Date: 2020.07.21 FOUND FOR RES & TECH HELLAS
  • US10721302B2 patent drawing
  • US10721302B2 patent drawing
  • US10721302B2 patent drawing

AI summary

A computer network-storage protocol system, including at least one initiator device having an initiator block layer and an initiator network layer interfacing with a first network driver; at least one target device having a target block layer and a target network layer interfacing with a second network driver; a plurality of network interface controllers (NICs) interfacing with the first network driver and the second network driver; a plurality of distinct channels, each channel establishing a connection between the initiator device and the target device and being configured to transmit packets between the initiator device and the target device, wherein each channel is mapped to only one NIC; and wherein the initiator block layer includes at least one request message buffer and at least one data message buffer.