Dynamic Heterogeneous Compute Relocation for AI Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing (HPC) and AI workloads face challenges in fully utilizing complex heterogeneous compute resources and optimizing performance across different architectures, leading to underutilization and suboptimal resource allocation.

Innovation Solution

Identifying significant sections of code within workloads using hardware and software techniques, such as annotations, run-time profiling, and performance counters, to dynamically relocate compute and communication portions across various heterogeneous compute resources, predicting and optimizing their placement for improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If code sections are statically assigned to specific compute resources, then implementation simplicity is maintained, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic code relocation by monitoring runtime performance metrics and automatically migrating code sections between different compute resources (CPU, GPU, FPGA) based on current system state and workload characteristics, transforming static assignments into adaptive dynamic placements that optimize resource utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors performance counters and runtime metrics from heterogeneous compute resources, uses this feedback to identify underutilized resources or performance bottlenecks, and automatically relocates code sections to optimize overall system throughput and resource efficiency

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If compute resources are heterogenized to solve diverse workloads, then versatility is improved, but performance optimization difficulty increases

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidperformance optimization difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system automatically profiles workload characteristics, identifies suitable compute resources, and performs code section relocation without manual intervention, enabling the heterogeneous system to self-optimize for different workload types and eliminating the need for manual performance tuning

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes operational parameters by monitoring performance metrics and automatically adjusting code placement decisions based on runtime conditions, transforming the static configuration into an adaptive system that optimizes for different workload characteristics

Inventive Principle:
Principle #35Parameter changes

3Productivity

If code sections are relocated to optimize performance, then resource utilization is improved, but data transfer overhead increases

Engineering Contradiction:
Improveresource utilizationVSAvoiddata transfer cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary profiling and analysis to identify code sections that are candidates for relocation, evaluates potential target resources beforehand, and only initiates data transfer when the performance benefit outweighs the transfer cost, preventing unnecessary migrations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230014741A1Dynamic cross-architecture application adaption
Publication Date: 2023.01.19 INTEL CORP
  • US20230014741A1 patent drawing
  • US20230014741A1 patent drawing
  • US20230014741A1 patent drawing

AI summary

Embodiments described herein are generally directed to improving performance of high-performance computing (HPC) or artificial intelligence (AI) workloads on cluster computer systems. According to one embodiment, a section of a high-performance computing (HPC) or artificial intelligence (AI) workload executing on a cluster computer system is identified as significant to a figure of merit (FOM) of the workload. An alternate placement among multiple heterogeneous compute resources of a node of the cluster computer system is determined for a portion of the section currently executing on a given compute resource of the multiple heterogeneous compute resources. After predicting an improvement to the FOM based on the alternate placement, the portion is relocated to the alternate placement.