User Mode OVS IO Request Processing via Kernel Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance of virtual machines using user mode Open vSwitch (OVS) for processing IO requests is low due to context switching and quality of service control, leading to inefficiencies in network traffic management.

Innovation Solution

Direct conversion of IO requests into formats processable by the user mode OVS, eliminating the need for context switching between user and kernel modes, and optimizing Quality of Service control within the user mode OVS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the IO packet is forwarded by switching between user mode OVS and kernel mode, then the network traffic can be managed with QoS control, but the processing performance of virtual machines deteriorates due to context switching and packet copying

Engineering Contradiction:
ImproveQoS control capabilityVSAvoidIO request processing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a kernel module as an intermediary component that enables the user mode OVS to access the physical network interface card directly through a character device interface. This intermediary allows the user mode OVS to perform packet forwarding and QoS control without requiring context switching to kernel mode, thus maintaining reliability while improving productivity. The kernel module acts as a bridge that provides necessary kernel-level access capabilities to the user space application.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If context switching is performed between user mode and kernel mode for packet forwarding, then proper system management is achieved, but the processing speed and efficiency deteriorate

Engineering Contradiction:
ImproveSystem management capabilityVSAvoidPacket forwarding speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The kernel module serves as an intermediary that provides system management capabilities to the user mode OVS through a well-defined character device interface. This interface allows the user mode OVS to perform packet forwarding, QoS control, and other management functions without exiting user mode, thereby maintaining ease of operation while significantly improving packet forwarding speed by eliminating context switching overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If packet copying is performed to forward IO packets from user mode to storage stack, then data can be accessed by kernel components, but the processing performance deteriorates

Engineering Contradiction:
ImproveData accessibilityVSAvoidIO request processing throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the packet copying operation from the data path by enabling the user mode OVS to send packets directly to the physical network interface card through the kernel module intermediary. This eliminates the unnecessary packet copying step between user mode OVS and storage stack, thereby improving IO request processing throughput while maintaining data accessibility through the character device interface.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3441878B1Method and device for data transmission in virtual switch technique
Publication Date: 2024.01.24 HUAWEI TECH CO LTD
  • EP3441878B1 patent drawingFigure 1
  • EP3441878B1 patent drawingFigure 2
  • EP3441878B1 patent drawingFigure 3~4

AI summary

A data transmission method and an apparatus used in a virtual switch technology are provided, and the method includes: receiving an IO request of a virtual machine VM for accessing a file or a disk, and determining whether the IO request is to be sent to a physical NIC by using a user mode Open vSwitch OVS, where the user mode OVS implements network interworking between virtual machines on a same host and between virtual machines on different hosts; and if it is determined that the IO request is to be sent to the physical NIC by using the user mode OVS, converting the IO request into an Internet Small Computer Systems Interface iSCSI command in a user mode, and then sending the iSCSI command to the user mode OVS, where the user mode OVS sends the iSCSI command to the physical NIC. The method and apparatus disclosed in the present invention resolve a prior-art problem that performance of a virtual machine of the user mode OVS for processing the IO request is relatively low.