Distributed Vertex Skew Detection via Trigger Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In big data analytics, data skew leads to bottlenecks in distributed parallel processing due to uneven data distribution across network nodes, making it difficult to identify and correct the source of skew, which delays task completion.

Innovation Solution

A computing system processes performance information across vertices in a distributed stage, identifies performance outliers, and generates a trigger instruction to gather data distribution information, allowing for the adjustment of queries or pipelines to reduce skew, thereby speeding up processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed parallel processing is used to improve processing speed, then productivity increases, but data skew creates bottlenecks that reduce effectiveness

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing effectiveness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the data processing task into multiple vertices (processing units) that operate in parallel. Each vertex processes a portion of the data independently, allowing the system to maintain high productivity while monitoring individual vertex performance to detect and address data skew issues.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms by measuring performance information from each vertex and comparing it against expected norms. When a vertex exhibits outlier performance indicative of data skew, the system generates trigger instructions to investigate and correct the underlying data distribution issues, thereby maintaining processing effectiveness.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If data distribution is analyzed across all vertices to identify skew, then measurement precision improves, but processing time increases

Engineering Contradiction:
Improveskew detection accuracyVSAvoiddetection time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Instead of analyzing all vertices equally, the patent applies partial action by focusing measurement efforts only on vertices that exhibit outlier performance. Trigger instructions are generated selectively for suspected skew sources rather than uniformly across all vertices, reducing detection time while maintaining precision through targeted analysis.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent extracts performance measurement from the overall processing flow by collecting metrics during normal operation. This allows skew detection to occur without adding significant overhead, as the performance information is gathered as a byproduct of regular vertex execution rather than through separate comprehensive analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If performance monitoring is implemented across all vertices, then measurement precision improves, but device complexity increases

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent makes the vertex processing units multi-functional by enabling them to both process data and self-monitor performance. Each vertex inherently generates performance information as part of its execution, eliminating the need for separate monitoring infrastructure and reducing overall system complexity while maintaining precise measurement capability.

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

Solution Approach 2:

Vertices perform self-service by automatically generating and reporting their own performance information. This self-monitoring capability is built into the vertex execution model, allowing the system to achieve comprehensive performance measurement without external intervention or additional complex monitoring systems.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If trigger instructions are generated for all vertices to gather data distribution information, then measurement precision improves, but loss of time and energy increases

Engineering Contradiction:
Improvedata distribution analysis accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by generating trigger instructions only for vertices identified as performance outliers. Rather than universally triggering data distribution analysis across all vertices, the system selectively applies this measurement only where skew is suspected, significantly reducing the time and energy required while maintaining detection precision.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary performance measurement during normal vertex execution before generating trigger instructions. This preliminary action identifies which vertices require detailed data distribution analysis, allowing the system to prepare targeted investigations in advance and avoid unnecessary comprehensive analysis of all vertices.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10545965B2Data skew finding and analysis
Publication Date: 2020.01.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10545965B2 patent drawing
  • US10545965B2 patent drawing
  • US10545965B2 patent drawing

AI summary

Reducing data skew when performing computational jobs (such as responding to complex queries or queries on big data sets). To gather performance information for a vertex in a distributed stage, the distributed stage is processed and the resulting performance information being generated. The system then identifies a performance outlier of the vertices, which varies from a performance norm of other vertices. A trigger instruction is then generated that is structured to trigger the performance outlier vertex to gather data distribution information of the data that the performance outlier vertex previously processed. The trigger instruction may thus be executed to cause the performance outlier vertex to gather the data distribution information for evaluation for data skew.