Scalable Race Detection in Multicore Programs via Selective Event Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current scalable monitoring techniques for race detection in multicore-based parallel programs face performance bottlenecks due to excessive access to shared data structures, leading to inefficient energy bug detection and increased power consumption.

Innovation Solution

A scalable monitoring apparatus and method that inserts monitoring codes into parallel programs to selectively inspect and store access events likely to participate in races, reducing the number of monitored events and minimizing access to shared data structures, while measuring and analyzing power data to detect energy bugs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all access events are monitored and stored in shared data structure, then race detection completeness is improved, but performance bottleneck and power consumption increase

Engineering Contradiction:
Improverace detection completenessVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the monitoring process by dividing access events into different categories (frequent, occasional, rare) and processing them through different paths. Thread-local storage is used to segment the data structure access, allowing most events to be processed locally without acquiring shared locks, thus resolving the contradiction between complete monitoring and performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by selectively monitoring only certain access events based on their race likelihood. Instead of monitoring all access events equally, it focuses resources on events that are more likely to be races, maintaining detection effectiveness while reducing overall monitoring overhead and power consumption

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If selective access event monitoring is implemented, then performance is improved, but race detection precision deteriorates

Engineering Contradiction:
ImproveperformanceVSAvoidrace detection precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements feedback mechanisms where monitoring results are used to adjust future monitoring behavior. The system learns from detected races and adjusts its monitoring strategy, ensuring that precision is maintained even as selective monitoring reduces overall overhead. Feedback loops verify that selected events still provide sufficient race detection coverage

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes parameters of the monitoring system dynamically, adjusting which access events are monitored based on program characteristics and execution context. By changing monitoring parameters adaptively rather than using a fixed strategy, the system maintains high precision while achieving performance improvements through selective monitoring

Inventive Principle:
Principle #35Parameter changes

3Reliability

If comprehensive race detection is performed, then reliability is improved, but power consumption increases

Engineering Contradiction:
Improverace detection effectivenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments power consumption by creating different monitoring paths with different energy costs. Thread-local storage operations consume less power than shared data structure operations with lock acquisition. By segmenting the monitoring approach, the system achieves reliable race detection while minimizing overall power consumption

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses thread-local storage as a cheap, short-living alternative to expensive shared data structures. Each thread maintains its own copy of monitoring data locally, avoiding the power-intensive operations of acquiring and releasing locks on shared structures. This disposable local storage approach reduces power consumption while maintaining detection reliability

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS9639136B2Apparatus and method for scalable monitoring of race detection in parallel programs based on multi-cores
Publication Date: 2017.05.02 ELECTRONICS & TELECOMM RES INST
  • US9639136B2 patent drawing
  • US9639136B2 patent drawing
  • US9639136B2 patent drawing

AI summary

Provided are a scalable monitoring apparatus and method for detecting a race when a multicore-based parallel program is executed. The scalable monitoring apparatus for race detection of a multicore-based parallel program includes a monitoring code inserting unit configured to add a scalable monitoring code to a source parallel program to generate a transformed source parallel program, a thread monitoring unit configured to generate a data structure of a thread generated according to execution of the transformed source parallel program, an access event selecting unit configured to inspect a race likelihood according to execution of the transformed source parallel program to select an access event, an access event storage unit configured to store the access event in a shared data structure, a power measuring unit configured to measure and store power data according to execution of the source parallel program, and a power analyzing unit configured to analyze the power data to determine whether an energy bug has been generated.