Explainable-DSE Framework Bottleneck Analysis Hardware Software Codesign

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing system design optimization techniques lack explainability, leading to inefficient and time-consuming processes in identifying optimal hardware/software configurations for deep learning accelerators, as they fail to reason about execution costs and underlying inefficiencies, resulting in suboptimal solutions and excessive trial iterations.

Innovation Solution

The Explainable-DSE framework employs bottleneck analysis to provide insights into execution inefficiencies and mitigation strategies, enabling agile and efficient design space exploration by constructing bottleneck models and using an API for domain-specific bottleneck models to guide hardware-software codesign optimizations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current non-explainable optimization methods are used to explore hardware/software configurations, then the search space can be covered, but the optimization process takes excessively long time and produces suboptimal solutions

Engineering Contradiction:
Improveoptimization speedVSAvoidsolution quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements feedback by continuously analyzing execution costs and bottleneck factors from simulation results, then using this information to guide subsequent configuration explorations. The system learns from each evaluation which hardware/software parameters contribute most to performance degradation and prioritizes exploring configurations that address these identified bottlenecks, creating a closed-loop optimization process that improves both speed and solution quality.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent dynamically changes exploration parameters based on bottleneck analysis results. When specific bottleneck factors (e.g., memory bandwidth, compute capacity) are identified as limiting performance, the system adjusts its exploration strategy to prioritize configurations that modify related parameters, such as adjusting hardware resource allocation or software scheduling policies, thereby directing the search toward higher-quality solutions more efficiently.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If random trial methods are used to explore configurations, then all possibilities can be covered, but the number of iterations required becomes unmanageably large

Engineering Contradiction:
Improveexhaustiveness of searchVSAvoidoptimization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary bottleneck analysis on initial configurations and uses the results to pre-guide the exploration direction before exhaustive search begins. By identifying critical bottleneck factors early and establishing priority lists of parameters to explore first, the system performs useful preliminary work that reduces the overall search space, allowing exhaustive exploration to be completed in fewer iterations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent makes the exploration process dynamic by continuously updating the priority list of bottleneck factors and adjusting exploration strategies based on current system state. Rather than following a static random sequence, the system adapts its exploration behavior in real-time, dynamically shifting focus between different hardware and software parameters as bottlenecks are resolved and new ones emerge, thereby reducing total iterations needed.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If detailed simulation of each configuration is performed to ensure accuracy, then execution cost characterization is precise, but the evaluation time for each configuration becomes excessively long

Engineering Contradiction:
Improveexecution cost accuracyVSAvoidevaluation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts and analyzes only the critical bottleneck factors from detailed simulations rather than evaluating all performance metrics. By identifying and focusing measurement efforts on the few key parameters that dominate execution cost (such as memory access patterns, compute utilization, or dataflow efficiency), the system maintains measurement precision for the most important metrics while reducing overall evaluation time by ignoring less critical measurements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs partial simulation analysis by focusing computational resources on evaluating bottleneck-related metrics rather than conducting full exhaustive simulations of all configuration aspects. This partial action approach evaluates only the necessary subset of performance characteristics needed to identify optimization opportunities, achieving sufficient precision for decision-making without the excessive time cost of complete detailed simulation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240134769A1Systems and methods for agile and explainable optimization of efficient hardware/software codesigns for domain-specific computing systems using bottleneck analysis
Publication Date: 2024.04.25 THE ARIZONA BOARD OF REGENTS ON BEHALF OF THE UNIV OF ARIZONA
  • US20240134769A1 patent drawing
  • US20240134769A1 patent drawing
  • US20240134769A1 patent drawing

AI summary

A system applies bottleneck analysis for design and optimization of computing systems. In particular, the system constructs a bottleneck model, including a bottleneck cost graph for a workload or a function, through which factors corresponding to the execution costs of an arbitrary processor can be modeled. By using the bottleneck analysis, the system can determine bottleneck factors for an obtained cost value (e.g., time taken by an application's execution on a processor) and can reason about obtained high cost. The system determines and uses information about parameters impacting bottlenecks for execution costs and their approximate relationship with the bottlenecks to produce an optimized hardware-software configuration for execution of one or more workloads. Systematic, bottleneck-guided analysis and optimization can introduce explainability in the design and optimization process and can achieve more efficient design configurations much faster.