Dynamic Custom Instruction Generation for Workload Optimization

Solution Overview

Problem

Deep neural networks and software-defined networks often require significant computing resources, leading to repetitive instruction sequences that existing solutions, such as custom hardware or instruction sets, are costly and lack on-the-fly customization capabilities.

Innovation Solution

A method and apparatus that utilize a processor with a writable instruction set to identify and generate custom instructions from frequently repeated sequences, allowing for on-the-fly optimization of instruction sets by writing these custom instructions to processor memory and recompiling program code to service workloads efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If custom hardware or specialized accelerators are developed to service workloads like deep neural networks, then computing performance is improved, but cost and device complexity increase significantly

Engineering Contradiction:
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a software-based solution that copies and executes custom instructions within the existing processor architecture. Instead of building custom hardware, the system generates and stores custom instruction sequences in processor memory, allowing the same hardware to perform specialized functions through software emulation rather than physical duplication of hardware circuits

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical/custom hardware approach with a software-based instruction set modification system. By modifying the instruction set architecture through software generation and execution, the system achieves specialized computing performance without requiring physical hardware changes or custom circuit designs

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

2Productivity

If custom instruction sets are pre-defined and shipped with processors, then workload optimization is achieved, but adaptability and customization capability are reduced

Engineering Contradiction:
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic instruction set architecture where custom instructions can be generated, stored, and executed on-demand based on workload requirements. The system includes mechanisms to dynamically create custom instructions from repeated instruction sequences and store them in processor memory for later execution, enabling adaptability without sacrificing optimization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary analysis of executed instruction sequences to identify repeated patterns, then generates custom instructions based on this analysis. This preliminary action enables the system to optimize future executions of similar workloads by pre-generating appropriate custom instructions from observed execution patterns

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If existing default instruction sets are used for all workloads, then device simplicity is maintained, but execution time and processing efficiency increase for repetitive instruction sequences

Engineering Contradiction:
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system automatically analyzes executed instruction sequences and generates custom instructions without requiring manual programming or external intervention. The profiler and code generator work autonomously to identify repeated patterns and create optimized instruction sets, allowing the system to self-optimize based on observed workload characteristics

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent modifies the instruction set parameters by generating custom instructions with different opcodes and execution characteristics tailored to specific workloads. By changing the instruction parameters based on workload analysis, the system optimizes execution time for repetitive operations while maintaining the simplicity of the base instruction set architecture

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11360776B2Machine learning for workloads for instruction set architecture optimization
Publication Date: 2022.06.14
  • US11360776B2 patent drawing
  • US11360776B2 patent drawing
  • US11360776B2 patent drawing

AI summary

An apparatus for machine learning for workloads for ISA optimization is disclosed. The apparatus includes a processor and a memory that stores code executable by the processor. The executable code is executable to run program code to service a workload with a default instruction set of the processor, identify an instruction sequence from execution results for the workload, the instruction sequence called repeatedly during execution for the workload, and generate a custom instruction that includes the instruction sequence. The executable code is executable to write the custom instruction to a writable area of processor memory storing the default instruction set, recompile program code used to service the workload, where the recompiled program code includes the custom instruction, and run the recompiled program code to service the workload.