Shared Resource Analysis for Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for detecting and mitigating shared resource violations in multi-core systems are inadequate, lacking standardization and systematic methods to predict and prevent concurrency and synchronization issues, as well as resource conflicts, which can lead to unpredictable hardware behavior.

Innovation Solution

A systematic approach involving both static and dynamic analysis is employed to identify and mitigate shared resource violations, using semi-formal notation for design and architecture phases, and automated methods to analyze hardware-software interactions, providing comprehensive and standardized detection and mitigation measures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual inspection is used to detect resource violations, then detection capability is provided, but the process is not standardized and is subjective

Engineering Contradiction:
Improvedetection capabilityVSAvoidstandardization
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent replaces manual inspection (mechanical human effort) with an automated analysis system that uses software tools to systematically detect shared resource violations. This substitution eliminates subjectivity and non-standardization while maintaining detection capability, directly resolving the technical contradiction.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If no HW atomic access mechanism is used, then hardware flexibility is maintained, but shared resource violations cannot be verified

Engineering Contradiction:
Improvehardware flexibilityVSAvoidverification capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary analysis system that operates between the hardware components and the verification process. This intermediary systematically analyzes hardware-software interactions and detects shared resource violations without requiring modification of the hardware's atomic access mechanisms, thus maintaining hardware flexibility while providing verification capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If protection mechanisms are not systematically analyzed, then implementation simplicity is maintained, but incorrect use leads to unpredictable hardware behavior

Engineering Contradiction:
Improveimplementation simplicityVSAvoidpredictability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent performs preliminary analysis of protection mechanisms during the design and architecture phases, identifying potential issues before implementation. This preliminary action ensures that protection mechanisms are used correctly, preventing unpredictable hardware behavior while maintaining implementation simplicity by providing clear guidance upfront.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11061745B2Shared resource analysis for embedded multi-core systems
Publication Date: 2021.07.13 INFINEON TECHNOLOGIES AG
  • US11061745B2 patent drawing
  • US11061745B2 patent drawing
  • US11061745B2 patent drawing

AI summary

Various embodiments discussed herein systems and methods that facilitate analysis of shared resources for a multi-core system. One example embodiment comprise a method involving identifying, via static data based on analysis of the multi-core system, shared resource(s) of the multi-core system that are subject to potential resource violation(s), wherein the static data identifies each read and write access of those shared resource(s) in a software of the multi-core system; receiving hardware trace data for the multi-core system comprising each read and write access of those shared resource(s) in the software as executed by the multi-core system; and making a determination, for each shared resource of the one or more shared resources, based on a comparison between the static data and the hardware trace data, whether at least one of the one or more associated potential resource violations of that shared resource is an associated resource violation of that shared resource.