User Space File System Thread Queue Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in efficiently generating thread queues for multiple processor cores, leading to increased latency and overhead in file serving operations between user space and operating system applications.

Innovation Solution

A method is introduced where a user space file system generates thread queues based on CPU socket data, ordering thread handles for each core and saving them in shared memory, allowing direct access to physical memory without intermediaries, thus reducing latency and enhancing bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional thread queue generation methods are used, then system compatibility is maintained, but latency increases and bandwidth efficiency decreases

Engineering Contradiction:
ImprovelatencyVSAvoidthread queue management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent pre-generates thread queues for each processor core before file serving operations begin. By preparing the thread queues in advance and organizing thread handles according to core topology, the system eliminates the need for complex runtime thread queue management, thereby reducing latency without significantly increasing operational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the thread queue management into separate segments for each processor core. Each core has its own dedicated thread queue with pre-organized thread handles, allowing independent and efficient management without interference between cores. This segmentation reduces contention and improves overall system efficiency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If intermediary buffers are used for communication, then data transfer stability is improved, but bandwidth efficiency decreases due to additional copying operations

Engineering Contradiction:
Improvedata transfer stabilityVSAvoidbandwidth efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and eliminates the intermediary buffer layer from the data transfer path between user space file system and operating system applications. By enabling direct access to physical memory through shared memory regions, the system maintains data transfer stability through proper memory management while removing the inefficiency of additional copying operations, thereby improving bandwidth efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If direct physical memory access is implemented, then bandwidth efficiency improves, but system security and stability may be compromised

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a shared memory region as a controlled intermediary between user space and kernel space. This shared memory allows direct physical memory access for improved bandwidth efficiency while maintaining system stability through controlled access mechanisms. The shared memory acts as a mediator that enables efficient data transfer without compromising the protective boundaries between different memory spaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If thread queues are generated without CPU socket data, then generation speed is faster, but core identification efficiency decreases

Engineering Contradiction:
Improvethread queue generation speedVSAvoidcore identification accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent performs preliminary organization of thread handles based on CPU socket data during thread queue generation. By pre-sorting thread handles according to their associated processor cores using the socket data, the system ensures accurate core identification is established upfront, eliminating the need for complex runtime lookup operations and maintaining both generation speed and identification accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11875152B2Methods and systems for optimizing file system usage
Publication Date: 2024.01.16 EMC IP HLDG CO LLC
  • US11875152B2 patent drawing
  • US11875152B2 patent drawing
  • US11875152B2 patent drawing

AI summary

A method for generating a thread queue, that includes obtaining, by a user space file system, central processing unit (CPU) socket data, and based on the CPU socket data, generating a plurality of thread handles for a plurality of cores, ordering the plurality of thread handles, in the thread queue, for a first core of the plurality of cores, and saving the thread queue to a region of shared memory.