Scalable Group Synthesis for Peta-Scale Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional debugging techniques for massively parallel applications, such as those executing at a peta-scale, face challenges in identifying and isolating failing processes due to the vast number of execution contexts, as they typically can only view a single process at a time, making it difficult to determine which thread or process needs debugging.

Innovation Solution

A computer-implemented process for scalable group synthesis that receives a group definition, applies a subset of conditions to form a conditioned group definition, and populates group membership using a set of entities, allowing each member to respond affirmatively to the conditions, enabling dynamic and transitive grouping of execution contexts without requiring explicit enumeration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional debugging techniques are applied to peta-scale applications, then detailed examination of individual processes is enabled, but the ability to locate failing processes among millions of execution contexts becomes ineffective

Engineering Contradiction:
Improvedebugging detail levelVSAvoidfailure location efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the massive set of execution contexts into smaller, manageable groups based on shared characteristics or conditions. This allows the debugging system to focus on specific subsets of processes rather than attempting to examine all million+ execution contexts individually, thereby maintaining detailed examination capability while improving failure location efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces grouping mechanisms as intermediaries between the user and the execution contexts. These groups act as mediators that organize and filter the vast number of processes, enabling users to navigate and search through execution contexts more efficiently without losing the ability to examine individual processes in detail.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If grouping of execution contexts is introduced to reduce information volume, then debugging complexity is reduced, but the difficulty of creating groups increases

Engineering Contradiction:
Improvedebugging information volumeVSAvoidgroup creation difficulty
Core Design Contradiction:
Device complexityVSEase of manufacture

Solution Approach 1:

The patent enables execution contexts to self-group based on their own characteristics and the conditions defined by users. Rather than requiring complex external algorithms to create groups, the system allows processes to automatically organize themselves into appropriate groups, significantly simplifying the group creation process while reducing the volume of debugging information presented to users.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent allows dynamic definition of grouping conditions through parameter changes. Users can specify different conditions or criteria for grouping, and the system adapts the grouping mechanism accordingly. This flexibility simplifies group creation by allowing users to define groups based on relevant debugging parameters without requiring complex pre-configured group structures.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If a debugger views a single process at a time, then detailed examination is possible, but guidance on which thread or process needs debugging is lost

Engineering Contradiction:
Improveprocess examination detailVSAvoiddebugging guidance
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent segments the set of execution contexts into groups that can be systematically explored. By organizing processes into groups based on shared characteristics, the system provides guidance on which processes are most likely to contain failures, while still allowing detailed examination of individual processes within those groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms that provide guidance during the debugging process. By analyzing group characteristics and failure patterns, the system can suggest which processes or groups warrant further investigation, thereby guiding users through the vast number of execution contexts while maintaining the ability to examine individual processes in detail.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9043794B2Scalable group synthesis
Publication Date: 2015.05.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9043794B2 patent drawing
  • US9043794B2 patent drawing
  • US9043794B2 patent drawing

AI summary

An illustrative embodiment of a computer-implemented process for scalable group synthesis receives a group definition, applies a sub-set of conditions to the group definition to form a conditioned group definition, receives a set of entities and populates group membership using the received set of entities and the conditioned group definition, wherein each member responds in the affirmative to the sub-set of conditions.