Partitioned I/O OS Offloading Network Protocol Stack Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The processing of network protocol stacks by the CPU in computer systems consumes significant processing power, especially in server systems handling numerous network transactions concurrently, which reduces overall CPU performance.

Innovation Solution

Designating a processing unit to handle network protocol processing, partitioning the system to separate General Purpose OS and I/O OS, with the I/O OS processing the network protocol stack and interacting with the Network Interface Card, freeing the General Purpose OS to handle other activities without the need for specialized TCP/IP Offload Engines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the CPU processes the network protocol stack, then network communication functionality is achieved, but CPU processing power is consumed and overall system performance decreases

Engineering Contradiction:
Improvenetwork communication functionalityVSAvoidCPU processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system is divided into two distinct operating systems: a General Purpose OS for application processing and an I/O OS for network protocol processing. This segmentation allows network protocol processing to be separated from general CPU tasks, enabling concurrent execution on different processors without interfering with each other's performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The network protocol processing function is extracted from the General Purpose OS and assigned to a dedicated processing unit running the I/O OS. This extraction removes the network processing burden from the general-purpose CPU, allowing it to focus on application-level tasks while network transactions are handled independently.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If specialized TCP/IP Offload Engines are used to process network protocols, then network processing efficiency is improved, but system cost increases

Engineering Contradiction:
Improvenetwork processing efficiencyVSAvoidsystem cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The I/O processing unit runs a full operating system (I/O OS) that can handle multiple I/O operations including network protocols, storage, and other device operations. This multi-functional approach eliminates the need for specialized hardware offload engines for each protocol, as a single I/O processing unit can handle various protocols through software implementation.

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

Solution Approach 2:

Instead of using expensive specialized hardware offload engines, the patent uses software-based protocol processing in the I/O OS that replicates the functionality of hardware offload engines. This software copying approach achieves similar performance benefits without the high hardware cost.

Inventive Principle:
Principle #26Copying

3Productivity

If the system is partitioned to separate General Purpose OS and I/O OS, then processing bottlenecks are reduced and performance improves, but system complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A shared memory space acts as an intermediary communication channel between the General Purpose OS and the I/O OS. This shared memory allows the two operating systems to exchange data and coordinates their operations without requiring complex inter-process communication mechanisms, simplifying the overall system architecture despite the dual-OS design.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8046576B2Offloading the processing of a network protocol stack
Publication Date: 2011.10.25 INTEL CORP
  • US8046576B2 patent drawing
  • US8046576B2 patent drawing
  • US8046576B2 patent drawing

AI summary

A computer system is partitioned during a pre-boot phase of the computer system between a first partition and a second partition, wherein the first partition to include a first processing unit and the second partition to include a second processing unit. An Input/Output (I/O) operating system is booted on the first partition. A general purpose operating system is booted on the second partition. Network transactions are issued by the general purpose operating system to be performed by the I/O operating system. The network transactions are performed by the I/O operating system.