Centralized Resource Management Module for CPU Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource allocation systems in systems with multiple processes and devices are inefficient as they require complex handshaking between CPUs for resource management, leading to increased complexity and reduced performance.

Innovation Solution

An adjustable resource management system that groups resource requestors and uses a centralized module to dynamically allocate and deallocate resources based on usage types and group limits, offloading resource management from CPUs and allowing for real-time adjustments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a traditional resource allocation system is used with multiple CPUs managing resources, then resource management can be distributed, but the system complexity increases due to required handshaking between CPUs

Engineering Contradiction:
Improveresource management reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent consolidates resource management functionality into a single centralized module that handles all resource allocation and deallocation requests. This merging of previously distributed CPU-based management into one dedicated component eliminates the need for inter-CPU handshaking protocols, thereby reducing system complexity while maintaining reliable resource management through a single point of control.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The invention introduces a specialized resource management module as an intermediary component between processes and system resources. This mediator handles all resource allocation and deallocation operations, shielding the CPUs from direct resource management responsibilities and eliminating the need for complex CPU-to-CPU communication protocols, thus reducing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If complex handshaking protocols are implemented between CPUs for resource management, then resource allocation can be coordinated, but system performance decreases

Engineering Contradiction:
Improveresource coordinationVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts resource management functionality from the CPU operations and places it in a dedicated resource management module. This separation removes the performance-costly handshaking protocols from the critical CPU execution path, allowing CPUs to focus on productive work while the specialized module handles resource coordination independently, thereby improving overall system performance.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If resources are dynamically allocated based on process needs, then resource utilization improves, but allocation overhead increases

Engineering Contradiction:
Improveresource utilizationVSAvoidallocation overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The resource management module implements self-service mechanisms where resources automatically track their own allocation state and manage their own deallocation. When a process releases a resource, the module automatically updates allocation records and makes resources available for reallocation without requiring complex allocation overhead, thereby maintaining high resource utilization while minimizing time loss.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11689474B2Adjustable resource management system
Publication Date: 2023.06.27 NANJING TENAFE ELECTRONIC TECHNOLOGY CO LTD
  • US11689474B2 patent drawing
  • US11689474B2 patent drawing
  • US11689474B2 patent drawing

AI summary

Central processing units (CPUs) are configured to support host access instruction(s) that are associated with accessing solid state storage. A resource management module, implemented independently of the CPUs, receives a resource allocation request that includes a usage type identifier and requested amount of a resource, where the usage type identifier is associated with a group identifier. Adjustable resource configuration information is accessed to obtain: (1) a maximum associated with the usage type identifier, (2) a minimum associated with the usage type identifier, and (3) a group limit associated with the group identifier. Resource state information is accessed and it is determine whether to grant the request based at least in part on the maximum, minimum, group limit, and resource state information. The resource allocation request is then granted or denied based on the determination.