Parallel Decision Tree Execution via SIMD Instructions
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If more computational resources are allocated to execute decision trees, then classification accuracy can be maintained, but processing time increases and productivity decreases
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.
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.
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
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.
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.
Data Source
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.


