Many-Core Processor Testing via Dataflow Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing many-core processors is a time-consuming and resource-intensive process, especially for complex artificial intelligence accelerators, due to the need for extensive hardware coverage and the computational requirements, which limits the number of processors that can be tested in parallel.

Innovation Solution

A dataflow-aware testing method that groups processing elements into groups with a dependent and provider element, allowing for parallel testing, where test data is configured to achieve a target degree of hardware coverage for each group, reducing overall test time and memory usage by testing subsets of processing elements simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive hardware coverage testing is performed on many-core processors, then test coverage and reliability are improved, but test time and computational resources increase significantly

Engineering Contradiction:
Improvetest coverageVSAvoidtest time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the many-core processor into multiple groups of processing elements, where each group is tested independently in parallel. This segmentation allows the testing system to divide the large-scale testing task into smaller manageable units, enabling concurrent execution and significantly reducing total test time while maintaining comprehensive coverage through systematic grouping of dependent and provider elements.

Inventive Principle:
Principle #1Segmentation

2Productivity

If more processing elements are tested in parallel, then productivity is improved, but computational requirements and resource consumption increase

Engineering Contradiction:
Improvenumber of processors tested in parallelVSAvoidcomputational requirements
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by testing only the necessary subsets of processing elements at a time through strategic grouping. Instead of attempting to test all processing elements simultaneously (which would exceed resource capacity), the system groups dependent elements with their provider elements into manageable test units, enabling parallel testing of multiple groups without overwhelming computational resources.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the entire processor is tested at once, then test coverage is complete, but test time is excessive

Engineering Contradiction:
Improvehardware coverageVSAvoidtest time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the complete processor into multiple test groups, each containing dependent processing elements and their corresponding provider elements. This segmentation enables the testing system to execute multiple test groups simultaneously in parallel, achieving complete hardware coverage through systematic progression through all groups while reducing total test time by a factor of ten or more compared to sequential testing of the entire processor.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11455222B2Systems and methods for testing many-core processors
Publication Date: 2022.09.27 ALIBABA GROUP HOLDING LTD
  • US11455222B2 patent drawing
  • US11455222B2 patent drawing
  • US11455222B2 patent drawing

AI summary

Systems and methods are provided for testing many-core processors consisting of processing element cores. The systems and methods can include grouping the processing elements according to the dataflow of the many-core processor. Each group can include a processing element that only receives inputs from other processing elements in the group. After grouping the processing elements, test information can be provided in parallel to each group. The test information can be configured to ensure a desired degree of test coverage for the processing element that that only receives inputs from other processing elements in the group. Each group can perform testing operations in parallel to generate test results. The test results can be read out of each group. The processing elements can then be regrouped according to the dataflow of the many-core processor and the testing can be repeated to achieve a target test coverage.