Virtual Multiprocessor Dynamic Resource Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessors face limitations in achieving real-time performance across diverse multiprocessing applications due to fixed resource allocation and the need for dynamic configuration of resources within virtual multiprocessors, which is costly and inefficient.

Innovation Solution

A virtual multiprocessor system with dynamic resource configuration mechanisms, allowing virtual processing elements to allocate and reconfigure resources at runtime, including instruction set architecture and performance attributes, to optimize thread execution and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed resource allocation is used in virtual multiprocessors, then device complexity is reduced, but adaptability deteriorates

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource configuration in virtual multiprocessors, allowing resource allocation to change at runtime based on application demands. The configuration logic detects whether a virtual processing element is permitted to configure resources and updates the virtual multiprocessor context accordingly, enabling the system to adapt to different multiprocessing applications without requiring complex static configuration for each scenario.

Inventive Principle:
Principle #15Dynamics

2Productivity

If dynamic resource configuration is enabled in virtual multiprocessors, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvereal-time performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables virtual processing elements to autonomously configure their own resources through self-service mechanisms. The configuration logic within each virtual processing element detects whether it is permitted to configure resources and performs the configuration updates itself, reducing the need for external control complexity while improving real-time performance through autonomous resource optimization.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If resources are dynamically reconfigured at runtime, then adaptability is improved, but loss of time occurs due to configuration overhead

Engineering Contradiction:
ImproveflexibilityVSAvoidconfiguration overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent prepares configuration permissions and resource allocation parameters in advance within the virtual processing element contexts. By having the configuration logic and permission structures pre-established, the system can perform runtime reconfiguration with minimal overhead, as the framework for dynamic configuration is already in place and does not require complex decision-making at the moment of reconfiguration.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7694304B2Mechanisms for dynamic configuration of virtual processor resources
Publication Date: 2010.04.06 MIPS TECH INC
  • US7694304B2 patent drawing
  • US7694304B2 patent drawing
  • US7694304B2 patent drawing

AI summary

Mechanisms for dynamically configuring the resources of a virtual multiprocessor are provided. An apparatus to configure resources for virtual processing elements in a virtual multiprocessor is provided. The apparatus includes a virtual multiprocessor context, virtual processing element contexts, and configuration logic. The virtual multiprocessor context, prescribes the resources, and controls a configuration state of the virtual multiprocessor. The virtual processing element contexts each exclusively correspond to a virtual processing element. The virtual processing element contexts each have first logic, for prescribing whether the virtual processing element is permitted to configure the resources; and second logic, for prescribing a subset of the resources that is allocated to the virtual processing element. The configuration logic detects whether the virtual processing element is permitted to configure the resources, updates the virtual multiprocessor context to direct the virtual multiprocessor enter the configuration state, and configures the resources by updating a prescribed virtual processing element context.