Cluster Debugging via Just-in-Time Debugger Activation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cluster computing systems lack effective debugging mechanisms, making it difficult for users to diagnose and analyze job failures, as they only receive generic failure notifications without detailed information about the cause of job crashes.
Innovation Solution
Implementing a just-in-time debugging system within a cluster processing network that activates a debugger on compute nodes upon unhandled suspension events, allowing for notification and analysis of process failures, with features like memory dumping and symbolic debugger attachment for detailed analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a cluster computing system is deployed to improve performance and availability, then the system can handle more jobs and processes, but debugging and diagnosing job failures becomes more difficult
Solution Approach 1:
The patent implements a feedback mechanism where the debugger sends notifications back to the job monitor about suspension events. This creates a closed-loop system that automatically reports debugging-related information about job failures, making the previously hidden failure causes visible to users and administrators.
Solution Approach 2:
The patent introduces a job monitor as an intermediary component between the compute nodes and the user. The job monitor receives notifications from debuggers on compute nodes and presents this information to users, serving as a mediator that bridges the gap between the distributed computing system and the user interface.
2Ease of operation
If generic failure notifications are sent to users, then the system remains simple to operate, but users receive insufficient information about why jobs failed
Solution Approach 1:
The patent performs preliminary action by having the debugger automatically activate and capture suspension event information before the user can investigate the failure. The system proactively collects debugging information and prepares notifications, so that when users receive failure notifications, they already contain useful diagnostic information without having to manually investigate.
Solution Approach 2:
The debugging system performs self-service by automatically detecting suspension events, activating the debugger, and generating notifications without requiring user intervention. The system serves itself by capturing and reporting failure information autonomously, reducing the burden on users while providing them with the information they need.
Data Source
AI summary
A technology is described for debugging in a cluster processing network. A scheduler can dispatch a process that is part of the cluster job for execution. Further, a compute node can be used to execute the process dispatched by the scheduler to the compute node. A debugger can be activated in response to an unhandled suspension event in the process on the compute node. In addition, the debugger can send notification messages regarding the unhandled suspension event. A job monitor can receive a notification from the debugger that an unhandled suspension event has occurred. The notification can be displayed to a user via the job monitor.


