Process Count Determination for HPC Application Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing (HPC) systems face challenges in determining optimal process counts for executing applications efficiently, leading to increased wall clock times and decreased parallelization efficiency due to synchronization overhead and resource allocation inefficiencies.

Innovation Solution

An electronic device determines the wall clock time and parallelization efficiency for various process counts by analyzing function call contexts and training models to select the target process count that minimizes wall clock time while maintaining sufficient parallelization efficiency, using techniques such as latency modeling and reinforcement learning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If process count is increased to improve parallelization efficiency, then productivity increases, but wall clock time increases due to synchronization overhead

Engineering Contradiction:
Improveparallelization efficiencyVSAvoidwall clock time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts process count parameters based on multiple factors including application characteristics, hardware resources, and workload conditions. By changing the process count parameter adaptively rather than using a fixed value, the system optimizes the balance between parallelization efficiency and synchronization overhead, resolving the contradiction between improved productivity and reduced wall clock time.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If process count is increased to reduce wall clock time, then speed improves, but parallelization efficiency decreases due to resource allocation inefficiencies

Engineering Contradiction:
Improvewall clock timeVSAvoidparallelization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system implements dynamic process count adjustment where the number of processes is not fixed but adapts based on real-time conditions including application behavior, resource availability, and performance metrics. This dynamic approach allows the system to optimize wall clock time while maintaining adequate parallelization efficiency by responding to changing conditions rather than relying on static process allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms that monitor parallelization efficiency and wall clock time metrics, then use this information to adjust process count decisions. By continuously measuring performance and feeding this information back into the process selection logic, the system resolves the contradiction between reducing wall clock time and maintaining parallelization efficiency through data-driven optimization.

Inventive Principle:
Principle #23Feedback

3Productivity

If process count is manually configured to optimize performance, then productivity improves, but device complexity increases due to explicit input requirements

Engineering Contradiction:
Improveexecution efficiencyVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service capabilities where the process count is automatically determined based on application characteristics, hardware resources, and workload conditions without requiring explicit user input. The system analyzes job descriptions, profiles application behavior, and autonomously selects optimal process counts, thereby maintaining high execution efficiency while eliminating the complexity of manual configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of application characteristics, hardware capabilities, and workload parameters before execution to pre-determine the optimal process count. By conducting this analysis in advance and caching the results, the system achieves optimized execution efficiency without requiring complex real-time configuration or user input during job submission.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240411562A1Method and electronic device with process count determination for executing application
Publication Date: 2024.12.12 SAMSUNG ELECTRONICS CO LTD
  • US20240411562A1 patent drawing
  • US20240411562A1 patent drawing
  • US20240411562A1 patent drawing

AI summary

A process-implemented method includes: based on obtaining a job description on an application, determining a wall clock time of the application according to processes of a corresponding candidate count for each of a plurality of candidate counts; determining parallelization efficiency for each of the candidate counts based on the determined wall clock time and a wall clock time of the application according to a single process; and executing the application with processes of a target count selected based on the determined parallelization efficiency among the plurality of candidate counts.