Speculative Execution in Distributed Streaming Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stream-oriented applications are forced to process incoming data sequentially due to traditional networking hardware handling data at a packet granularity, leading to inefficiencies in parallel processing and increased latency, as they wait for complete and error-checked data packets, which restricts their ability to overlap computation and communication effectively.

Innovation Solution

The proposed solution involves sharing incoming data with upstream system layers as soon as it is available on the input/output interface, allowing immediate processing and using a passive cache-based synchronization mechanism to ensure data validity, enabling speculative execution and overlapping of computation and communication in a distributed streaming system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional networking hardware handles data at packet granularity with error checking before making data available, then data reliability is improved, but processing latency increases and parallel processing efficiency deteriorates

Engineering Contradiction:
Improvedata validityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by making incoming data samples available to applications as soon as they arrive at the I/O interface, before the complete data packet is received and error-checked. Applications perform speculative execution on these preliminary data samples, and if errors are detected later, the results are rolled back. This allows processing to begin in advance rather than waiting for complete packet validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the data processing into individual data samples that can be independently accessed and processed. Instead of treating the entire data packet as a single unit that must be fully received and validated before processing, the system divides it into granular samples that can be shared with applications incrementally, enabling parallel processing of multiple samples simultaneously.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If applications wait for complete and error-checked data packets before processing, then data accuracy is improved, but computation and communication overlap capability deteriorates

Engineering Contradiction:
Improvedata accuracyVSAvoidcomputation and communication overlap
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system performs preliminary data sharing by making data samples available to applications before complete packet reception and error checking is finished. This preliminary action enables computation to overlap with communication, as applications can process incoming samples while the system continues to receive and validate the complete packet in the background.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where applications receive notifications about data sample availability and can perform speculative execution. The system provides feedback regarding packet completion and error status, allowing applications to adjust their processing accordingly - either committing results if validation succeeds or rolling back if errors are detected, thus maintaining accuracy while enabling overlap.

Inventive Principle:
Principle #23Feedback

3Speed

If data is shared with applications before complete packet reception and error checking, then processing speed is improved, but system complexity increases due to validity management

Engineering Contradiction:
Improvedata processing speedVSAvoidvalidity indication mechanism
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism - the I/O interface - that manages the complexity of validity indication between the data reception system and applications. This intermediary handles the coordination of making data samples available, tracking their validity status, and providing notifications to applications, thereby shielding applications from the underlying complexity while enabling fast speculative processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10657091B2Speculative execution in a distributed streaming system
Publication Date: 2020.05.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10657091B2 patent drawing
  • US10657091B2 patent drawing
  • US10657091B2 patent drawing

AI summary

Embodiments for speculative execution in a distributed streaming system by a processor. Incoming data from a data packet may be shared with one or more applications for immediate processing upon the incoming data becoming available on an input/output (I/O) interface to enable overlapping of computation and communication in the distributed streaming system. A validity of the shared incoming data may be indicated to the one or more applications.