Graph-Based Coherency Verification Tool Cycle Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current coherency verification methods for shared cache components in multiprocessor systems rely on simulation and code reviews, which are inefficient and may miss hardware issues due to incorrect graph construction, limiting state exploration and test case generation.

Innovation Solution

A self-checking tool generates all possible permutations of trace events from high-level description language test cases, ensuring the correctness of graph-based coherency verification tools by producing trace files that systematically check for cycles in the graph, thereby verifying the correctness of the graph-building program.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If simulation and code review methods are used for coherency verification, then verification can be performed, but efficiency is low and hardware issues may be missed

Engineering Contradiction:
Improveverification correctnessVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The verification system performs self-verification by automatically generating test cases and executing verification without requiring external code reviews or manual simulation setup. The system generates its own test stimuli and automatically checks coherency violations, making the verification process self-sufficient and highly efficient.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-generates all possible test cases and trace permutations before actual verification execution. By preparing comprehensive test scenarios in advance, the system ensures that all potential coherency violations are covered during verification, improving both reliability and efficiency.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If graph-based verification is used, then state exploration can be performed, but incorrect graph construction may limit test case generation

Engineering Contradiction:
Improvestate exploration capabilityVSAvoidgraph construction correctness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system incorporates feedback mechanisms where verification results are used to validate and refine the graph construction process. By continuously checking verification outcomes against expected coherency rules, the system can detect and correct graph construction errors, ensuring both adaptability and reliability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The verification system dynamically adjusts the graph construction based on feedback from test execution and violation detection. The graph structure and test case generation are not static but adaptively refined during the verification process to improve accuracy and coverage.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If manual verification methods are used, then detailed analysis can be performed, but the process is time-consuming and error-prone

Engineering Contradiction:
Improveanalysis detailVSAvoidverification time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system replaces manual mechanical verification processes with automated computational verification. Instead of human analysts manually examining traces and graphs, the system uses automated algorithms to perform detailed coherency checks, achieving both high precision and speed without human error.

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

Solution Approach 2:

The verification system changes key parameters such as trace permutation combinations and graph construction algorithms to optimize both analysis depth and execution speed. By systematically varying verification parameters, the system achieves comprehensive analysis without excessive time consumption.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10282265B2Verifying a graph-based coherency verification tool
Publication Date: 2019.05.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10282265B2 patent drawing
  • US10282265B2 patent drawing
  • US10282265B2 patent drawing

AI summary

Verification is provided of a functional correctness of a graph-based coherency verification tool for logic designs of arrangements of processors and processor caches, the graph-based coherency verification tool using trace files as input for verifying memory ordering rules of a given processor architecture for accesses to the caches, wherein nodes in a graph represent memory accesses and edges represent dependencies between them. The verifying includes (i) providing a specification of a test case for a self-checking tool, the test case comprising a sequence of statements in a high-level description language format, representing memory access events and system events; and (ii) generating trace files with the self-checking tool for the graph-based coherency verification tool by producing permutations of trace events, which are defined by the sequence of statements of the test case.