Shadow Mode Grid Testing for HPC Job Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing high-performance computing (HPC) grids and clusters is challenging due to the need for manual creation and updating of tests for framework applications, cluster managers, and APIs, and capturing performance metrics across shared nodes, which can lead to inconsistencies and inefficiencies in ensuring that updates do not alter computing results.

Innovation Solution

Implementing a 'shadow mode' approach where jobs launched on HPC grids are recorded and replayed on new builds to compare reference and candidate results, using a job submission service to capture and store job definitions, inputs, and outputs, allowing for scalable and accurate testing without manual test composition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual creation and updating of tests is performed for framework applications, cluster managers, and APIs, then testing coverage can be achieved, but the complexity and time consumption of the testing process increases significantly

Engineering Contradiction:
Improvetesting coverageVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent captures actual production jobs and creates copies for replay during testing. Instead of manually creating test cases, the system automatically copies real job definitions, inputs, and outputs from the production environment and replays them against new builds, eliminating manual test composition while maintaining comprehensive testing coverage

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary capture and storage of job definitions, inputs, and outputs from production jobs before testing is needed. This pre-captured data is then replayed during testing, allowing tests to be executed without manual intervention at test creation time, thus reducing time consumption while ensuring reliability

Inventive Principle:
Principle #10Preliminary action

2Reliability

If manual creation and updating of tests is performed for framework applications, cluster managers, and APIs, then testing coverage can be achieved, but the complexity of the testing process increases

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The testing system serves itself by automatically capturing production jobs, storing them, and replaying them without external manual intervention. The system autonomously generates its own test cases from real production data, eliminating the need for manual test creation and updating, thus reducing testing process complexity while maintaining comprehensive coverage

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The job capture and replay mechanism serves multiple functions: it captures production jobs for future replay, stores job definitions and inputs, and automatically generates test cases. This multi-functional approach replaces multiple manual processes with a single automated system, reducing overall testing process complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If performance metrics are captured across shared nodes, then comprehensive monitoring is achieved, but inconsistencies and inefficiencies occur in ensuring that updates do not alter computing results

Engineering Contradiction:
Improveperformance metrics monitoringVSAvoidcomputing results consistency
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The system captures job outputs from production runs and uses them as expected results for comparison during replay. This feedback mechanism automatically verifies whether new builds produce consistent results with production, providing precise measurement of computing result consistency without manual intervention and eliminating inconsistencies that would otherwise occur

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10521272B1Testing in grid computing systems
Publication Date: 2019.12.31 AMAZON TECH INC
  • US10521272B1 patent drawing
  • US10521272B1 patent drawing
  • US10521272B1 patent drawing

AI summary

Techniques are disclosed for testing applications and systems used to provide a high performance computing (HPC) system, such as a cluster or grid. A grid computing system is tested using a “shadow mode” approach, where information regarding a parallel computing job launched on a first instance of a computing grid is recorded, stored, and used to replay the parallel computing job on a second instance of the computing grid. For example, the parallel computing job may be executed using a production build of grid applications and replayed on a candidate build of grid applications. Output from executing the parallel computing job is also captured in order to provide a reference result which may be compared with candidate results generated by replaying the parallel computing job. The parallel computing job may specify a set of inputs and execution logic along with any other requirements or dependencies needed to accurately replay the parallel computing job.