Hadoop Slow Node Detection via Time-Filtered Transmission Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The accuracy of detecting slow nodes in Hadoop clusters is low, affecting the performance of data reading and writing operations, as existing methods fail to ensure timeliness and precision in identifying nodes with slow network transmission or disk access issues.

Innovation Solution

A method and device that obtain and analyze records of data transmission times between storage nodes within a preset time interval to calculate average consuming times, identifying slow nodes based on these metrics and providing timely reports to improve detection accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all generated records are used for calculation without time filtering, then the sample size increases and statistical accuracy improves, but the timeliness of detection deteriorates due to inclusion of outdated data

Engineering Contradiction:
Improvedetection accuracyVSAvoiddetection timeliness
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-filtering records within a preset time period before calculation. The NameNode filters generated records to only include those created within the time window [current_time - preset_time, current_time], ensuring that only timely and relevant data is used for detecting slow nodes, thus resolving the contradiction between using sufficient sample size and maintaining detection timeliness

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If detection threshold is set low to improve sensitivity, then more slow nodes are detected, but false positives increase reducing reliability

Engineering Contradiction:
Improvedetection sensitivityVSAvoidfalse positive rate
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the detection threshold based on the average consuming time calculated from filtered records. The threshold is set as average_consuming_time * factor where factor > 1, creating an adaptive threshold that maintains high sensitivity while reducing false positives through statistical normalization of the baseline performance

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If comprehensive data collection from all nodes is performed, then detection coverage improves, but system overhead and complexity increase

Engineering Contradiction:
Improvedetection coverageVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies self-service by having each DataNode automatically generate and send its own consuming time records to the NameNode without requiring complex coordination or additional monitoring infrastructure. This decentralized approach achieves comprehensive coverage while minimizing system overhead, as each node independently contributes its performance data

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11797218B2Method and device for detecting slow node and computer-readable storage medium
Publication Date: 2023.10.24 BEIJING XIAOMI MOBILE SOFTWARE CO LTD
  • US11797218B2 patent drawing
  • US11797218B2 patent drawing
  • US11797218B2 patent drawing

AI summary

A method for detecting a slow node includes: obtaining a generated record for a first storage node, the generated record including a storage node generation time, and a number of times and consuming time for transmitting data to second storage nodes other than the first storage node; obtaining a valid record from the generated record, the valid record being generated within a preset time period, and the preset time period being within a time period between the storage node generation time and a current time; determining an average consuming time for the first storage node transmitting the data to each of the second storage nodes, based on the number of times and the consuming time in the valid record; and detecting the slow node in the second storage nodes based on the average consuming time.