Parallel Decision Tree Execution via SIMD Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing endpoint security systems face inefficiencies in executing security classification decision trees due to high computational resource usage, limiting their ability to process large numbers of malware samples effectively.

Innovation Solution

Implementing SIMD instructions to execute decision trees in parallel, allowing simultaneous gathering and comparison of values across multiple nodes, thereby collapsing dimensions and accelerating the classification process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional sequential execution of decision trees is used, then the system is simple to implement, but the processing speed is slow and computational resource usage is high

Engineering Contradiction:
Improvedecision tree execution speedVSAvoidinstruction set complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the decision tree execution into multiple parallel comparison operations that can be executed simultaneously using SIMD instructions. Each lane in the SIMD register processes a different node comparison, dividing the sequential workload into parallel segments that reduce overall execution time while maintaining manageable complexity through structured instruction organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-dimensional execution to parallel multi-dimensional execution by utilizing SIMD registers with multiple lanes. This dimensional change allows simultaneous evaluation of multiple decision tree nodes across different lanes, effectively adding a parallel processing dimension that accelerates execution without proportionally increasing computational complexity.

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

2Productivity

If more computational resources are allocated to execute decision trees, then classification accuracy can be maintained, but processing time increases and productivity decreases

Engineering Contradiction:
Improvenumber of input data items processedVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements continuous parallel comparison operations across multiple SIMD lanes, ensuring that useful computational action occurs simultaneously in all lanes rather than sequentially. This continuous parallel execution maximizes productivity by processing multiple data items through the decision tree concurrently, reducing total execution time while maintaining classification accuracy through thorough node evaluation.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent performs preliminary gathering of threshold and measurement values into SIMD registers before execution, preparing all necessary data in advance. This preliminary action reduces execution time by eliminating data access delays during the comparison phase, allowing the processor to immediately perform parallel comparisons without interruption, thereby increasing productivity.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If sequential comparison operations are performed at each node, then the implementation is straightforward, but the processing of multiple data items is inefficient

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges multiple comparison operations into a single SIMD instruction that executes simultaneously across multiple lanes. Instead of implementing separate comparison instructions for each node, the solution combines them into unified parallel operations, maintaining ease of operation through consolidated instruction handling while dramatically improving processing throughput through parallel execution.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates universal SIMD comparison instructions that can handle multiple decision tree nodes simultaneously across different lanes. This multi-functional approach allows a single instruction type to perform what would traditionally require multiple separate operations, simplifying implementation while increasing productivity through parallel processing capability.

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

Data Source

PatentUS11144637B1Systems and methods for executing decision trees
Publication Date: 2021.10.12 CA TECH INC
  • US11144637B1 patent drawing
  • US11144637B1 patent drawing
  • US11144637B1 patent drawing

AI summary

The disclosed computer-implemented method for executing decision trees may include (i) executing a security classification decision tree that classifies an input data item, (ii) gathering, simultaneously using a gather instruction, values for both a current threshold at a parent node of the security classification decision tree and a subsequent threshold at a child node of the parent node, (iii) gathering, simultaneously using the gather instruction, values for both a current measurement at the parent node and a subsequent measurement at the child node, (iv) comparing, simultaneously using a comparison instruction, the current threshold at the parent node with the current measurement at the parent node and the subsequent threshold at the child node with the subsequent measurement at the child node, and (v) performing a security action to protect the computing device. Various other methods, systems, and computer-readable media are also disclosed.