Verification Engine Parallelism for Hierarchical Data Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The hierarchical nature of data structures used to organize large collections of data poses difficulties in scheduling, coordinating, and balancing disparate parallel workers in distributed systems, especially when the data structure is unbalanced, leading to inefficient parallelism due to the structure's depth and hierarchy.

Innovation Solution

A verification engine utilizes a work item queue and execution threads to verify hierarchical data structures by generating work items for nodes, determining bounding ranges, and efficiently managing memory allocation and deallocation, allowing for highly parallel verification processes while preventing deadlocks and optimizing thread usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed parallel computation is used to verify hierarchical data structures, then verification speed is improved, but scheduling and coordinating parallel workers becomes difficult due to the hierarchical nature and depth of the data structure

Engineering Contradiction:
Improveverification speedVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the hierarchical data structure verification into independent work units, where each work unit corresponds to a specific node or subtree. This segmentation allows parallel workers to independently process different segments without complex coordination, as each worker receives self-contained verification tasks that can be executed autonomously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary work queue that mediates between the parallel workers and the hierarchical data structure. The queue manages the distribution of verification tasks, allowing workers to pull work units without direct coordination overhead. This intermediary layer abstracts the complexity of hierarchical traversal and task distribution from the parallel workers themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the data structure is hierarchically deep, then more comprehensive verification is achieved, but the level of parallelism is limited by the structure itself

Engineering Contradiction:
Improveverification completenessVSAvoidparallelism level
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the deep hierarchical structure into segmentable work units that can be processed in parallel. By identifying independent subtrees or nodes that can be verified separately, the system achieves parallelism without sacrificing verification depth. Each segment maintains the necessary contextual information to be verified independently while contributing to the overall completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the single-threaded depth-first verification approach into a multi-dimensional parallel processing model. Instead of traversing the hierarchy sequentially from root to leaves, the system expands verification into multiple parallel dimensions by distributing different branches and subtrees across multiple workers simultaneously, thereby achieving both depth and parallelism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If unbalanced data structures are verified, then real-world scenarios are covered, but scheduling and balancing parallel workers becomes increasingly difficult

Engineering Contradiction:
Improvehandling unbalanced structuresVSAvoidworker balancing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where work units contain all necessary information for independent verification without requiring dynamic load balancing. Each work unit is self-contained with its own verification context, allowing workers to autonomously complete tasks without needing to coordinate with other workers or the scheduler. This eliminates the complexity of balancing workers on unbalanced structures.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary segmentation of the unbalanced hierarchical structure into balanced work units before distribution. By pre-processing the structure to create evenly distributed work units regardless of the original imbalance, the system eliminates the need for runtime balancing. The preliminary action of smart segmentation ensures that even unbalanced structures are divided into comparable task sizes that can be efficiently distributed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10628407B1Efficient multithreaded data structure processing
Publication Date: 2020.04.21 AMAZON TECH INC
  • US10628407B1 patent drawing
  • US10628407B1 patent drawing
  • US10628407B1 patent drawing

AI summary

A computing resource service provider implements a verification engine for hierarchical data structures. The verification engine uses a work item queue, a node allocation counter list, and a memory deallocation list to increase parallelism and thread utilization during verification operations involving ordered, nominally sorted data structures.