Binary Analyzer Routine for Dynamic Hardware Accelerator Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor power-performance optimization techniques face challenges due to excessive power consumption and complexity from hardware accelerators that operate regardless of workload, and reliance on software developers for explicit instructions, which lacks dynamic information and microarchitecture knowledge.

Innovation Solution

Implementing a dynamic software-based binary analysis routine that analyzes hot-code sequences to identify relevant accelerators and configure them optimally, reducing the need for continuous hardware logic application and eliminating the complexity of binary translation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware accelerators are applied continuously to improve processor performance, then throughput increases, but power consumption increases excessively

Engineering Contradiction:
Improveprocessor throughputVSAvoidprocessor power consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically configures hardware accelerators based on runtime workload analysis. A binary analysis routine executes periodically to identify hot-code sequences and determine which accelerators should be active, transitioning the system from static continuous operation to dynamic selective operation, thereby reducing power consumption while maintaining performance when needed

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The binary analysis routine executes periodically rather than continuously, analyzing workload characteristics at intervals and configuring accelerators accordingly. This periodic reconfiguration allows the system to maintain accelerator settings during workloads that benefit from them while powering down accelerators during workloads that don't require them, reducing overall power consumption

Inventive Principle:
Principle #19Periodic action

2Adaptability or versatility

If hardware accelerators include workload characterization to improve performance optimization, then adaptability increases, but device complexity increases

Engineering Contradiction:
Improveworkload optimization capabilityVSAvoidaccelerator complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A binary analysis routine acts as an intermediary between the workload and hardware accelerators. This software layer analyzes executable code to identify characteristics such as loop patterns, branch predictability, and memory access patterns, then translates these findings into appropriate accelerator configurations, avoiding the need to embed complex characterization logic directly into the hardware accelerators

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces hardware-based workload characterization mechanisms with a software-based binary analysis routine. Instead of using complex hardware circuits to analyze workload characteristics, the system uses software to perform static and dynamic analysis of executable code, generating configuration data that simplifies the hardware accelerator design

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

3Measurement precision

If software developers use explicit instructions to operate accelerators to improve performance, then control precision increases, but adaptability decreases due to missing dynamic information

Engineering Contradiction:
Improveaccelerator control precisionVSAvoidworkload optimization adaptability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The system incorporates feedback mechanisms where the binary analysis routine continuously monitors workload characteristics and adjusts accelerator configurations accordingly. The analysis routine examines actual executable code behavior and uses this feedback to optimize accelerator settings, combining precise control with adaptive response to changing workload conditions

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The binary analysis routine performs preliminary analysis of executable code before execution to identify optimization opportunities. By analyzing code patterns, loop structures, and control flow in advance, the system pre-configures accelerators with optimal settings before the actual workload executes, combining precise control with adaptive optimization

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10209764B2Apparatus and method for improving power-performance using a software analysis routine
Publication Date: 2019.02.19 INTEL CORP
  • US10209764B2 patent drawing
  • US10209764B2 patent drawing
  • US10209764B2 patent drawing

AI summary

Embodiments described herein relate to improving processor power-performance using a binary analyzer routine. In one example, a processor includes a memory interface to couple to a memory, at least one hardware accelerator circuit, and an execution pipeline including at least fetch, decode, and execute stages, wherein the processor, in response to a hot-spot hardware event indicating presence of a hot-spot sequence, is to switch context to a binary analyzer routine stored in the memory, the binary analyzer routine including instructions that, when fetched, decoded, and executed by the processor, cause the processor to analyze a region in the memory containing the hot-spot sequence, analyze hardware metrics relating to execution of the hot-spot sequence, and generate, based on the analyses, a recommendation for the at least one hardware accelerator circuit to improve at least one of power consumption and performance.