Global Event Vector for Decentralized Error Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processing systems for complex or high-volume applications, effectively propagating error events across multiple processing units to initiate appropriate actions is challenging, as existing systems often require central coordination, which can be inefficient and prone to errors.

Innovation Solution

A processing system with a global event vector that is replicated across multiple processing nodes, allowing each node to update and propagate event information independently, enabling decentralized action without a central controller, ensuring consistent system-wide event awareness and allowing nodes to take necessary actions such as halting application processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a central controller is used to coordinate error event propagation across processing units, then system-wide event awareness can be achieved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improvesystem-wide event awarenessVSAvoidcentral coordination mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides the central coordination function into distributed segments at each processing unit. Each unit maintains its own event vector and independently propagates events to neighbors, eliminating the need for a single central controller while achieving system-wide awareness through distributed collaboration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processing unit autonomously manages error event propagation by maintaining local event vectors and independently deciding when and how to propagate events to neighboring units. This self-service approach eliminates coordination overhead while ensuring reliable event distribution across the system.

Inventive Principle:
Principle #25Self-service

2Reliability

If error events are propagated across all processing units, then system resilience improves, but communication overhead and propagation time increase

Engineering Contradiction:
Improvesystem resilienceVSAvoidevent propagation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the event propagation process into localized steps between neighboring processing units rather than requiring simultaneous system-wide broadcasting. This segmentation allows events to propagate efficiently through the system in manageable increments, reducing overall propagation time while maintaining complete event distribution.

Inventive Principle:
Principle #1Segmentation

3Extent of automation

If each processing unit maintains a copy of the global event vector, then autonomous action capability is improved, but memory usage and data synchronization complexity increase

Engineering Contradiction:
Improveautonomous action capabilityVSAvoidmemory storage per node
Core Design Contradiction:
Extent of automationVSQuantity of substance

Solution Approach 1:

The global event vector is segmented into local event vectors maintained at each processing unit. Each unit maintains only the portion of event information relevant to its autonomous decision-making, reducing memory requirements while preserving the ability to take independent actions based on system-wide event knowledge.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12124892B2Global event aggregation
Publication Date: 2024.10.22 GRAPHCORE LTD
  • US12124892B2 patent drawing
  • US12124892B2 patent drawing
  • US12124892B2 patent drawing

AI summary

Each of the processing devices stores an event vector, which is updated when certain events (e.g. memory errors, overtemperature events) occur on the device. Different elements of the vector correspond to different types of events. When an event of a given type occurs on one device, the update to the event vector on that device is propagated to other devices in the system. Those other devices, in response, update the corresponding element in their own event vector to indicate that an event of that given type has occurred in the system. In this way, events are aggregated between the different devices using the event vector. The event vector is considered to be a global event vector, since its elements indicate whether certain events have occurred across the entire system, and the vector is consistent across the system.