Multi-Process Debugging GUI with Message Arc Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging parallel computing applications is complex due to issues like race conditions, data dependencies, and deadlocks, which are difficult to detect and visualize in existing debuggers that focus on individual processes rather than providing a global view of process interactions.

Innovation Solution

A graphical user interface is provided that displays process icons and relationship arc icons representing messages between processes, with a grouping module to highlight related messages and detect deadlocks and dependency cycles, allowing users to navigate and focus on specific processes or messages for detailed debugging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a debugger focuses on individual processes, then detailed process information is provided, but global view of process interactions is lost

Engineering Contradiction:
Improveprocess information detailVSAvoidglobal view of process interactions
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent combines multiple individual process views into a unified graphical display that shows process icons and their interconnections through message arcs. This merging allows users to see both individual process details and global interaction patterns simultaneously, resolving the contradiction between detailed process information and global view.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent adds a spatial dimension to process visualization by displaying processes as icons arranged in a graphical layout with arcs representing message flows. This dimensional transformation enables users to perceive global interactions and individual process states simultaneously, overcoming the limitation of linear or single-process debugging views.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of information

If multiple processes are visualized simultaneously, then global interactions are visible, but complexity of the display increases

Engineering Contradiction:
Improveglobal view of process interactionsVSAvoiddisplay complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the complex system into discrete process icons and message arcs, allowing users to visualize multiple processes simultaneously without overwhelming complexity. Each process is represented as an individual icon with specific attributes, and interactions are shown as distinct arcs, making the overall system comprehensible through structured segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses color coding to differentiate process states, message types, and interaction patterns in the graphical display. This visual encoding reduces display complexity by conveying multiple attributes through color rather than requiring separate visual elements, enabling users to quickly comprehend global interactions without cognitive overload.

Inventive Principle:
Principle #32Color changes

3Loss of information

If detailed message information is displayed for all processes, then complete debugging data is provided, but user ability to focus on specific issues is reduced

Engineering Contradiction:
Improvedebugging information completenessVSAvoiduser focus on specific processes
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent extracts specific message information from the overall process display and presents it in a separate tabular message log. This extraction allows users to view complete debugging information globally while easily focusing on specific messages or processes by selecting them in the table, resolving the contradiction between information completeness and ease of focus.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary tabular display that bridges the graphical process view and detailed message information. This intermediary table allows users to navigate between global process visualization and specific message details, enabling both comprehensive debugging information access and easy focus on particular issues without switching between separate tools.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8429553B2Debugging in a multi-processing environment by providing debugging information on computer process nodes and messages in a GUI
Publication Date: 2013.04.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8429553B2 patent drawing
  • US8429553B2 patent drawing
  • US8429553B2 patent drawing

AI summary

Technology is described for debugging in a multi-processor environment. An example system can include a plurality of process icons representing processes executing on compute nodes. A plurality of relationship arc icons between the process icons can represent messages being sent between source processes and destination processes on the compute nodes. A tabular display control can have rows to display attributes for relationship arc icons representing the messages being sent. In addition, a grouping module can be used to identify groups of messages that are related and to highlight relationship arc icons which are part of a group.