Processor Redundancy Control for Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor systems with multiple cores face challenges in efficiently executing applications with varying degrees of redundancy, as existing methods do not effectively determine the optimal redundancy level based on application characteristics and hardware conditions, leading to suboptimal performance and resource utilization.

Innovation Solution

The implementation of a processor system that determines the degree of redundancy for executing applications based on criteria such as delay sensitivity, error sensitivity, and hardware load, allowing for non-redundant or redundant execution using one or multiple processor cores, and employing fault domains for error isolation and recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redundant execution is used for all applications, then reliability is improved, but resource utilization deteriorates

Engineering Contradiction:
Improveapplication execution reliabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically changes the redundancy parameter based on application characteristics. Critical applications receive redundant execution across multiple processor cores, while non-critical applications run on single cores. This parameter adjustment resolves the contradiction by optimizing reliability only where necessary, thereby maintaining high resource utilization.

Inventive Principle:
Principle #35Parameter changes

2Speed

If multiple processor cores are used simultaneously, then execution speed is improved, but system complexity increases

Engineering Contradiction:
Improveapplication execution speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments applications into different categories (critical and non-critical) and assigns different execution strategies to each segment. Critical applications are distributed across multiple processor cores with coordinated execution, while non-critical applications run independently on single cores. This segmentation reduces overall system complexity while maintaining speed improvements for critical tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically determines the degree of redundancy and core allocation based on real-time application characteristics and system conditions. This dynamic adaptation allows the system to optimize execution speed when needed while minimizing complexity overhead during normal operation.

Inventive Principle:
Principle #15Dynamics

3Reliability

If redundant execution is implemented, then fault tolerance is improved, but execution time increases

Engineering Contradiction:
Improvefault toleranceVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system changes the redundancy parameter selectively based on application criticality and timing requirements. For time-sensitive applications, the system may use lighter redundancy mechanisms or single-core execution with error detection, while for non-time-critical applications, full redundant execution is applied. This resolves the contradiction by balancing fault tolerance with execution time constraints.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7941698B1Selective availability in processor systems
Publication Date: 2011.05.10 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7941698B1 patent drawing
  • US7941698B1 patent drawing
  • US7941698B1 patent drawing

AI summary

Processor operating methods and integrated circuits are described. According to one embodiment, an integrated circuit includes a processor configured to execute a first application and to redundantly execute a second application while executing the first application, the first application being different from the second application. According to another embodiment, a processor operating method includes receiving a request to execute an application using a processor having a plurality of processor cores. The method also includes, in response to the receiving, determining whether the application should be executed redundantly or non-redundantly, non-redundantly executing the application using one processor core of the plurality if the determining comprises determining that the application should be executed non-redundantly, and redundantly executing the application using two or more processor cores of the plurality if the determining comprises determining that the application should be executed redundantly.