Dynamic Microprocessor Configuration via Cloud Collaboration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microprocessor designers face challenges in achieving optimal performance across various software applications due to the need to choose between configurations that optimize one application at the expense of others, even with dynamic reconfiguration methods, as existing solutions do not fully leverage the potential for continuous performance improvement.

Innovation Solution

A server system that collects performance data from multiple systems with dynamically configurable functional units, analyzes this data to determine the best configuration settings, and iteratively refines these settings to optimize performance across a range of applications, allowing systems to continuously improve their configuration settings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a microprocessor is configured with hardcoded configuration settings or fuse-based configuration, then the device complexity is reduced and manufacturing is simplified, but the performance optimization across multiple software applications is compromised

Engineering Contradiction:
Improvemanufacturing simplicityVSAvoidperformance optimization
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic configuration capabilities that allow the microprocessor to change its operational characteristics at runtime based on the executing software application. Configuration settings are no longer fixed at manufacture but can be adjusted dynamically to optimize performance for different workloads, resolving the contradiction between manufacturing simplicity and performance optimization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes configuration parameters based on the detected software application characteristics. By monitoring which applications are running and adjusting configuration settings accordingly, the microprocessor can optimize performance for each application without requiring complex manufacturing processes or sacrificing ease of production.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If a microprocessor uses a balanced configuration setting, then it maintains acceptable performance across multiple applications, but it does not achieve optimal performance for any specific application

Engineering Contradiction:
Improveconfiguration stabilityVSAvoidapplication performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The microprocessor transitions from static balanced configuration to dynamic configuration that adapts to the current software application. The system continuously monitors application characteristics and adjusts configuration settings to achieve optimal performance for each specific application while maintaining system stability through controlled adaptation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor application performance and configuration effectiveness. Based on this feedback, the microprocessor adjusts its configuration settings to optimize performance for the current application, breaking the trade-off between stability and performance optimization.

Inventive Principle:
Principle #23Feedback

3Productivity

If designers manually select configuration settings to optimize one software application, then performance for that application is improved, but performance for other software applications deteriorates

Engineering Contradiction:
Improvetarget application performanceVSAvoidmulti-application compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The microprocessor employs dynamic configuration that automatically adapts to different software applications. Instead of manual designer selection for single-application optimization, the system dynamically adjusts configuration settings based on the detected application, maintaining both high performance for target applications and versatility across multiple applications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The microprocessor performs self-configuration by automatically detecting the running application and selecting appropriate configuration settings without external intervention. This self-service capability eliminates the need for designers to manually optimize for one application at the expense of others, achieving both performance optimization and multi-application compatibility.

Inventive Principle:
Principle #25Self-service

4Productivity

If a microprocessor includes dynamic reconfiguration capabilities, then performance optimization potential is increased, but the device complexity and manufacturing difficulty increase

Engineering Contradiction:
Improveperformance optimization potentialVSAvoidconfiguration system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic reconfiguration capabilities that enable performance optimization across multiple applications. The system manages the complexity of dynamic configuration through automated detection and adjustment mechanisms, achieving high performance optimization potential while controlling device complexity through intelligent automation rather than hardware complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9755902B2Dynamic system configuration based on cloud-collaborative experimentation
Publication Date: 2017.09.05 VIA ALLIANCE SEMICON CO LTD
  • US9755902B2 patent drawing
  • US9755902B2 patent drawing
  • US9755902B2 patent drawing

AI summary

A server includes a first module that receives information from a plurality of systems. Each system of the plurality of systems includes functional units that are dynamically configurable during operation of the system. The information from each system of the plurality of systems includes performance data collected while executing a program when the functional units are configured according to a configuration setting respective to the system. The server also includes a second module that analyzes the received information to select a best-performing configuration setting of the configuration settings received from the plurality of systems. The server also includes a third module that provides a new configuration setting to the plurality of systems. The new configuration setting is a modification of the best-performing configuration. The server iterates on receiving the information from the plurality of systems, analyzing the received information and providing the new configuration setting to the plurality of systems.