Parallel Computer Node Configuration for Serial and Parallel Segments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel computing, the underutilization of computing resources occurs when compute nodes execute serial code segments, as they can only utilize a single processor, even in multi-processor architectures, limiting the performance of multi-threaded applications.

Innovation Solution

Configuring applications to boot up subsets of compute nodes in either serial or parallel processing modes, profiling to identify serial and parallel segments, and deploying them based on proximity within the data communications network to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If compute nodes are configured to execute serial code segments, then serial processing capability is improved, but resource utilization deteriorates because only a single processor can be used even in multi-processor architectures

Engineering Contradiction:
Improveserial processing capabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The compute nodes are segmented into different operational modes (serial mode and parallel mode) based on the code segment being executed. The system divides the execution environment into distinct configurations that can be dynamically activated, allowing serial segments to use dedicated serial processing resources while parallel segments utilize parallel processing resources, thereby resolving the contradiction between serial capability and resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The compute nodes employ dynamic reconfiguration capability, allowing them to switch between serial and parallel processing modes during execution. This dynamic adaptation enables the system to optimize resource utilization by activating the appropriate processing mode based on the current code segment requirements, preventing the waste of multi-processor resources during serial execution while maintaining reliable serial processing when needed.

Inventive Principle:
Principle #15Dynamics

2Productivity

If compute nodes are configured for parallel processing, then parallel segment execution is improved, but overhead increases due to the complexity of coordinating multiple processors

Engineering Contradiction:
Improveparallel processing performanceVSAvoidprocessing coordination overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the application code into identified parallel segments that are specifically designated for parallel execution. By isolating only the portions of code that require parallel processing, the system avoids the overhead of coordinating multiple processors for the entire application, thereby improving parallel performance while minimizing coordination complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different compute nodes or processing units are assigned different operational qualities based on local requirements. Nodes executing parallel segments are configured with parallel processing capabilities, while nodes handling serial segments use simplified serial processing. This localized optimization reduces the overall system overhead by applying complex parallel coordination only where necessary.

Inventive Principle:
Principle #3Local quality

3Productivity

If compute nodes are dynamically reconfigured between serial and parallel modes, then resource utilization is improved, but system complexity increases due to the need for mode switching mechanisms

Engineering Contradiction:
Improveresource utilizationVSAvoidconfiguration management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary identification and classification of code segments into serial and parallel categories before execution begins. This advance preparation allows the compute nodes to be pre-configured with appropriate execution plans, reducing the complexity of dynamic reconfiguration during runtime. The mode switching is triggered by pre-determined segment boundaries rather than requiring complex real-time analysis.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9268614B2Configuring a parallel computer based on an interleave rate of an application containing serial and parallel segments
Publication Date: 2016.02.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9268614B2 patent drawing
  • US9268614B2 patent drawing
  • US9268614B2 patent drawing

AI summary

Methods, systems, and products are disclosed for configuring an application for execution on a parallel computer that include: booting up a first subset of a plurality of nodes in a serial processing mode; booting up a second subset of the plurality of nodes in a parallel processing mode; profiling, prior to application deployment on the parallel computer, the application to identify the serial segments and the parallel segments of the application; and deploying the application for execution on the parallel computer in dependence upon the profile of the application and proximity within the data communications network of the nodes in the first subset relative to the nodes in the second subset.