Monitoring Circuitry for Data Processing Apparatus Race Condition Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex data processing systems face challenges in analyzing performance and detecting race conditions due to invasive and imprecise methods, such as dynamic and static race detection mechanisms, which incur significant overhead and limitations in real-time monitoring and data collection.

Innovation Solution

A data processing apparatus with monitoring circuitry that uses start and end events to limit and summarize accesses to specific addressable locations, reducing bandwidth and storage requirements by generating targeted monitoring data summaries, and allowing continuous monitoring with segmented data output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dynamic race detection mechanisms are used to detect race conditions, then race condition detection capability is improved, but system performance deteriorates substantially (10 to 30 times slowdown)

Engineering Contradiction:
Improverace condition detection capabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the monitoring function into separate monitoring circuitry that operates independently from the main processors. The monitoring circuitry divides monitoring tasks across multiple monitoring units, each responsible for specific addressable locations, allowing race condition detection without burdening the main system processors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces monitoring circuitry as an intermediary component between processors and memory. This intermediary captures memory access information without requiring processors to execute monitoring code, thereby detecting race conditions while maintaining normal system performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If static analysis is used to detect race conditions, then detection overhead is reduced, but detection precision deteriorates (unable to find some race conditions that dynamic detection can catch)

Engineering Contradiction:
Improvedetection overheadVSAvoidrace condition detection precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The monitoring circuitry autonomously performs detection without requiring external analysis tools. It automatically captures memory access information, identifies race conditions, and generates reports, eliminating the need for separate static or dynamic analysis phases while maintaining detection accuracy.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If performance counters are read in periodic sampling mode, then measurement coverage is improved, but measurement precision deteriorates (imprecise performance figures when tasks start/end halfway through sampling period)

Engineering Contradiction:
Improvemeasurement coverageVSAvoidperformance measurement precision
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The monitoring circuitry is pre-configured with start and end event definitions before monitoring begins. When these events occur, the circuitry automatically captures relevant memory access information, ensuring that measurements are taken at precisely the right moments rather than at fixed intervals that may miss critical events.

Inventive Principle:
Principle #10Preliminary action

4Loss of information

If comprehensive monitoring data is collected for complex systems, then analysis completeness is improved, but data processing overhead increases

Engineering Contradiction:
Improveanalysis completenessVSAvoiddata processing overhead
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The monitoring circuitry extracts only the specific memory access information needed for race condition detection, rather than collecting all possible system performance data. It filters and captures only relevant addresses, access types, and timing information, reducing data volume while maintaining detection completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements selective monitoring of specific addressable locations rather than comprehensive monitoring of all system activities. The monitoring circuitry is configured to watch only those memory locations that are relevant to race condition detection, providing sufficient data for complete race condition analysis without excessive processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9858169B2Monitoring a data processing apparatus and summarising the monitoring data
Publication Date: 2018.01.02 ARM LTD
  • US9858169B2 patent drawing
  • US9858169B2 patent drawing
  • US9858169B2 patent drawing

AI summary

A data processing apparatus is disclosed that comprises monitoring circuitry for monitoring accesses to a plurality of addressable locations within said data processing apparatus that occur between start and end events said monitoring circuitry comprising: an address location store for storing data identifying said plurality of addressable locations to be monitored and a monitoring data store; said monitoring circuitry being responsive to detection of said start event to detect accesses to said plurality of addressable locations and to store monitoring data relating to a summary of said detected accesses in said monitoring data store; and said monitoring circuitry being responsive to detection of said end event to stop collecting said monitoring data; said monitoring circuit being responsive to detection of a flush event to output said stored monitoring data and to flush said monitoring data store.