Distributed Data Processing Shared Count Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed data processing systems face inefficiencies in detecting failures, particularly in large systems with thousands of nodes, due to high network traffic overhead, CPU, and memory resource consumption, as seen in methods like reporting status from each node to a tracking task and the XOR-based algorithm.

Innovation Solution

A method where a shared count is used to determine the processing status of a root message by allocating and managing shared counts across nodes, with status information reported only by root and leaf nodes, reducing network traffic and resource consumption, and allowing for scalable topologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If status reporting is performed from each processing node to a tracking task, then failure detection capability is improved, but network traffic overhead and resource consumption increase

Engineering Contradiction:
Improvefailure detection capabilityVSAvoidnetwork traffic overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system segments the status reporting function by node type. Root nodes report their status to tracking tasks, and leaf nodes report status to their parent working nodes, which then report to tracking tasks. This segmentation reduces the total number of status reports compared to having every node report directly to tracking tasks, thereby reducing network traffic overhead while maintaining failure detection capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Working nodes act as intermediaries between leaf nodes and tracking tasks. Instead of leaf nodes reporting directly to tracking tasks, they report through working nodes which aggregate and forward the status information. This intermediary mechanism reduces network traffic by consolidating reports and reducing the number of direct connections to tracking tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If status tracking logic is implemented in a centralized tracking task, then failure detection accuracy is improved, but CPU and memory resource consumption increases

Engineering Contradiction:
Improvefailure detection accuracyVSAvoidtracking task complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The tracking functionality is segmented between working nodes and tracking tasks. Working nodes perform local status tracking and aggregation, while tracking tasks perform centralized monitoring. This segmentation distributes the computational burden, reducing the complexity and resource consumption of individual tracking tasks while maintaining overall detection accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Working nodes perform partial tracking actions locally by monitoring their own status and that of their child nodes, then report aggregated results to tracking tasks. This partial action at the distributed level reduces the burden on centralized tracking tasks, lowering their CPU and memory requirements while maintaining comprehensive failure detection.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of energy

If XOR-based algorithm is used for status tracking, then memory resource consumption is reduced, but network traffic overhead and end-to-end delay increase

Engineering Contradiction:
Improvememory resource consumptionVSAvoidend-to-end delay
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system changes the status reporting parameters by using node type-specific reporting behaviors. Root nodes and leaf nodes report status with different frequencies and to different destinations, optimizing the balance between memory usage and delay. This parameter change allows efficient memory usage without the excessive delays associated with XOR-based algorithms.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If comprehensive status tracking is implemented across all nodes, then system reliability is improved, but scalability is reduced

Engineering Contradiction:
Improvesystem reliabilityVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements segmented reliability monitoring where different node types have different reporting responsibilities. This segmentation allows the system to scale by adding more nodes of any type without proportionally increasing the complexity of status tracking, as each node only needs to implement its specific reporting behavior rather than comprehensive tracking logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The status reporting mechanism is designed to be universal across different node types. Each node type (root, working, leaf) follows a standardized reporting pattern appropriate to its function, allowing the system to scale uniformly by adding nodes of any type without requiring custom tracking solutions, thereby maintaining both reliability and scalability.

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

Data Source

PatentUS10681118B2Method and apparatus for distributed data processing
Publication Date: 2020.06.09 EMC IP HLDG CO LLC
  • US10681118B2 patent drawing
  • US10681118B2 patent drawing
  • US10681118B2 patent drawing

AI summary

Embodiments of the present disclosure provide a method and apparatus for distributed data processing. The method comprises: receiving from an upstream node an input message attached with a shared count, the shared count being used for determining a processing status of a root message associated with the input message; processing the input message to generate one or more new messages; allocating to each of the one or more new messages a respective new shared count based on the received shared count; and transmitting the one or more new messages to one or more downstream nodes respectively. Compared with the prior art, the methods and apparatuses for distributed data processing according to the embodiments of the present disclosure can effectively reduce network traffic overheads and the consumed CPU and memory resources, and would be scalable for different topologies of various distributed data processing systems.