Priority-Based CPU Multitasking for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to managing CPU usage in storage systems with continuous background activity result in significant penalties due to unused CPU cycles and unnecessary context-switches, as they suspend and resume operating system threads, leading to inefficiencies in multitasking.

Innovation Solution

Implementing a method that utilizes execution priorities to manage CPU multitasking by releasing the CPU for a defined period, lowering the execution priority of the operating system thread below that of applications, allowing other applications to utilize the CPU, and then raising the priority when needed, thereby avoiding context-switch penalties and optimizing CPU usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the operating system thread suspends itself to allow other applications to utilize the CPU, then other applications can execute on the CPU, but there are significant penalties from unused CPU cycles and unnecessary context-switches

Engineering Contradiction:
ImproveCPU utilization efficiencyVSAvoidunused CPU cycles
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic CPU time-slice allocation where the operating system thread can flexibly adjust its execution timing. Instead of rigid suspension, the thread dynamically releases the CPU for a defined time period and automatically resumes when the time expires, adapting to varying system conditions and eliminating wasted CPU cycles.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces periodic CPU release mechanisms where the operating system thread releases the CPU in defined time intervals. This periodic action ensures that other applications get scheduled execution slots while the original thread maintains its position in the execution queue, preventing both CPU waste and excessive context-switching.

Inventive Principle:
Principle #19Periodic action

2Adaptability or versatility

If the operating system thread suspends itself to allow other applications to utilize the CPU, then other applications can execute on the CPU, but there are unnecessary context-switches

Engineering Contradiction:
Improvemultitasking capabilityVSAvoidcontext-switch overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a dynamic execution model where threads can voluntarily yield CPU time without full suspension. The operating system thread maintains its execution context while temporarily releasing the CPU, reducing the need for complete context switches and associated overhead while still enabling multitasking.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent ensures continuous useful action by implementing a mechanism where the operating system thread remains in the execution queue and automatically resumes after releasing the CPU for a defined period. This continuity eliminates the need for repeated suspend/resume cycles, reducing context-switch overhead while maintaining adaptability.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If conventional approaches release the CPU by suspending the operating system thread, then other applications can utilize the CPU, but there are significant penalties from unused CPU cycles

Engineering Contradiction:
ImproveCPU release mechanismVSAvoidCPU cycle utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements periodic CPU release where the operating system thread releases the CPU for defined time intervals rather than indefinite suspension. This periodic approach ensures that CPU cycles are not wasted, as the thread automatically resumes after the time period expires, maintaining both ease of operation and high productivity.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent incorporates feedback mechanisms where the operating system thread monitors CPU usage and automatically adjusts its release timing. When other applications complete their execution or when system conditions change, the thread receives feedback and resumes execution, ensuring optimal CPU utilization without manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11210141B2Priority-based CPU multitasking system and method
Publication Date: 2021.12.28 EMC IP HLDG CO LLC
  • US11210141B2 patent drawing
  • US11210141B2 patent drawing
  • US11210141B2 patent drawing

AI summary

A method, computer program product, and computing system for executing a first sub-thread of an operating system thread on a central processing unit (CPU) of the computing device. The CPU may be released for a defined period of time. One of an application and a second sub-thread of the operating system thread may be executed based upon, at least in part, an execution priority of the operating system thread and an execution priority of the application.