Compute Kernel Scheduling via Data Transfer Pipelining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current scheduling approaches for compute kernels on heterogeneous accelerator devices fail to consider temporal and spatial relationships, leading to inefficiencies in data movement and compute invocation, resulting in suboptimal latency, throughput, and power performance due to inefficient data movement and memory thrashing.

Innovation Solution

The proposed solution involves cooperative full and partial data movement and kernel invocation pipelining, which optimizes data transfers and kernel invocations by temporally staggering data transfers across computing devices, avoiding concurrent data transfers and leveraging compilation and runtime systems for automatic workload optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If eager execution or lazy batching approaches are used for data movement and compute invocation, then implementation simplicity is maintained, but system-level optimization performance deteriorates due to lack of temporal and spatial relationship consideration

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsystem-level optimization performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system performs preliminary analysis of temporal and spatial relationships between compute tasks and data movement operations before execution. The compiler or runtime system pre-determines optimal scheduling by analyzing dependency graphs and resource availability, preparing optimized execution plans in advance that consider both computation and data transfer operations together, rather than handling them separately as in traditional eager or lazy approaches.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If compute tasks scheduling and data movement are performed independently without considering temporal or spatial relationships, then scheduling complexity is reduced, but data movement efficiency deteriorates leading to memory thrash and data shuffle

Engineering Contradiction:
Improvescheduling complexityVSAvoiddata movement efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent merges the scheduling of compute tasks with the scheduling of data movement operations into a unified optimization framework. The compiler or runtime system jointly analyzes compute dependency graphs and data flow requirements, creating an integrated schedule that coordinates when computations occur with when data is transferred, thereby eliminating independent scheduling overhead while preventing memory thrashing through coordinated resource management.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If independent scheduling of compute tasks and data movement is used, then coordination overhead is minimized, but latency and throughput performance deteriorate due to inefficient resource utilization

Engineering Contradiction:
Improvecoordination overheadVSAvoidlatency and throughput performance
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system achieves continuity of useful action by overlapping data movement operations with compute operations through intelligent scheduling. While data is being transferred between memory and processing units, compute operations that do not depend on that data are executed, maximizing resource utilization. The unified scheduling framework identifies opportunities for such overlap and coordinates them to maintain continuous productive work without increasing coordination complexity.

Inventive Principle:
Principle #20Continuity of useful action

4Device complexity

If conventional scheduling methods are used without temporal and spatial relationship analysis, then power consumption management is simplified, but power efficiency deteriorates due to suboptimal performance

Engineering Contradiction:
Improvepower management complexityVSAvoidpower efficiency
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The system dynamically changes operational parameters such as clock frequencies, voltage levels, and processing modes based on the optimized schedule that considers temporal and spatial relationships. The unified scheduler identifies periods where data movement and computation can be overlapped or sequenced efficiently, and adjusts power management parameters accordingly to match actual workload demands, improving power efficiency without requiring complex dedicated power management mechanisms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20220365813A1Apparatus, Device, Method, and Computer Program for Scheduling an Execution of Compute Kernels
Publication Date: 2022.11.17 INTEL CORP
  • US20220365813A1 patent drawing
  • US20220365813A1 patent drawing
  • US20220365813A1 patent drawing

AI summary

Examples relate to an apparatus, a device, a method, and a computer program for scheduling an execution of compute kernels on one or more computing devices, and to a computer system comprising such an apparatus or device. The apparatus comprises processing circuitry and interface circuitry. The processing circuitry is configured to determine an impending execution of two or more compute kernels to the one or more computing devices. The processing circuitry is configured to pipeline a data transfer related to the execution of the two or more compute kernels to the one or more computing devices via the interface circuitry.