Forest Packing: Fast, Parallel Decision Forests

06/19/2018
by   James Browne, et al.
0

Machine learning has an emerging critical role in high-performance computing to modulate simulations, extract knowledge from massive data, and replace numerical models with efficient approximations. Decision forests are a critical tool because they provide insight into model operation that is critical to interpreting learned results. While decision forests are trivially parallelizable, the traversals of tree data structures incur many random memory accesses and are very slow. We present memory packing techniques that reorganize learned forests to minimize cache misses during classification. The resulting layout is hierarchical. At low levels, we pack the nodes of multiple trees into contiguous memory blocks so that each memory access fetches data for multiple trees. At higher levels, we use leaf cardinality to identify the most popular paths through a tree and collocate those paths in cache lines. We extend this layout with out-of-order execution and cache-line prefetching to increase memory throughput. Together, these optimizations increase the performance of classification in ensembles by a factor of four over an optimized C++ implementation and a actor of 50 over a popular R language implementation.

READ FULL TEXT

page 5

page 7

research
10/27/2020

Realization of Random Forest for Real-Time Evaluation through Tree Framing

The optimization of learning has always been of particular concern for b...
research
11/10/2020

PACSET (Packed Serialized Trees): Reducing Inference Latency for Tree Ensemble Deployment

We present methods to serialize and deserialize tree ensembles that opti...
research
09/21/2022

Tree Methods for Hierarchical Classification in Parallel

We propose methods that enable efficient hierarchical classification in ...
research
08/18/2015

ranger: A Fast Implementation of Random Forests for High Dimensional Data in C++ and R

We introduce the C++ application and R package ranger. The software is a...
research
06/01/2021

Boosting the Search Performance of B+-tree for Non-volatile Memory with Sentinels

The next-generation non-volatile memory (NVM) is striding into computer ...
research
04/19/2021

Vectorized Secure Evaluation of Decision Forests

As the demand for machine learning-based inference increases in tandem w...
research
03/28/2020

Vectorization and Minimization of Memory Footprint for Linear High-Order Discontinuous Galerkin Schemes

We present a sequence of optimizations to the performance-critical compu...

Please sign up or login with your details

Forgot password? Click here to reset