NUMA Binding for CPU Process Affinity in Deep Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Efficient utilization of CPUs in computing environments for deep learning workloads is challenging due to suboptimal job assignment techniques.

Innovation Solution

Implementing a system that utilizes Non-Uniform Memory Access (NUMA) binding to select and bind CPU processes based on user-specified parameters, optimizing CPU and GPU affinity, cache sharing, and socket utilization for improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional job assignment techniques are used, then system simplicity is maintained, but CPU utilization efficiency deteriorates

Engineering Contradiction:
ImproveCPU utilization efficiencyVSAvoidjob assignment system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-configuring NUMA binding parameters and CPU process binding rules before job execution. The job assignment system pre-establishes affinity relationships between CPU processes and NUMA nodes, and pre-configures cache sharing policies, so that when jobs are assigned, the optimal CPU selection is already determined based on pre-computed binding parameters, improving efficiency without adding runtime complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes parameters by dynamically adjusting CPU process binding parameters and NUMA node selection based on job characteristics. Different job types trigger different binding parameter configurations, such as changing cache sharing policies or NUMA node affinity settings, allowing the system to optimize CPU utilization for different workloads while maintaining a unified assignment framework

Inventive Principle:
Principle #35Parameter changes

2Speed

If CPU processes are bound to specific NUMA nodes, then data access speed is improved, but system flexibility deteriorates

Engineering Contradiction:
Improvedata access speedVSAvoidjob assignment flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system implements dynamics by making NUMA node binding and CPU process assignment dynamic rather than static. The job assignment system can adaptively select NUMA nodes and CPU processes based on real-time job characteristics, workload patterns, and system state. This allows the system to maintain both fast local data access through NUMA binding and the flexibility to reassign jobs to different NUMA nodes when needed

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies local quality by optimizing data access within each NUMA node while maintaining overall system adaptability. Each NUMA node is configured with specific CPU process bindings and cache sharing policies tailored to its local characteristics, ensuring fast data access for bound processes. Meanwhile, the global job assignment system can still allocate jobs across different NUMA nodes based on overall system conditions, preserving flexibility

Inventive Principle:
Principle #3Local quality

3Productivity

If advanced job assignment techniques are implemented, then processing efficiency is improved, but implementation complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem implementation ease
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The system achieves universality by creating a unified job assignment framework that handles multiple functions through a single mechanism. The same job assignment system simultaneously performs NUMA node selection, CPU process binding, cache sharing configuration, and socket utilization optimization. This multi-functional approach improves processing efficiency while avoiding the implementation complexity of multiple separate systems

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system merges multiple advanced techniques into a single integrated job assignment mechanism. NUMA binding, CPU affinity, cache sharing policies, and socket utilization are combined into one cohesive assignment process rather than separate configurations. This integration improves overall processing efficiency while simplifying implementation compared to deploying multiple independent optimization systems

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240069969A1Processor binding technique
Publication Date: 2024.02.29 NVIDIA CORP
  • US20240069969A1 patent drawing
  • US20240069969A1 patent drawing
  • US20240069969A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform software workloads. In at least one embodiment, one or more circuits of a processor cause a programming interface to select a subset of one or more processors of a non-uniform memory access (NUMA) node to perform a software workload.