TY - GEN
T1 - Forest packing
T2 - 19th SIAM International Conference on Data Mining, SDM 2019
AU - Browne, James
AU - Mhembere, Disa
AU - Tomita, Tyler M.
AU - Vogelstein, Joshua T.
AU - Burns, Randal
N1 - Funding Information:
∗Supported by NSF grants IOS-1707298 and ACI-1649880; DARPA grants HR001117S0016-L2M-FP-054 and N66001-15-C-4041; and NIH/NINDS grants 1R01NS092474-01 and 1U01NS090449-01.
Publisher Copyright:
Copyright © 2019 by SIAM.
PY - 2019
Y1 - 2019
N2 - Decision Forests are popular machine learning techniques that assist scientists to extract knowledge from massive data sets. This class of tool remains popular because of their interpretability and ease of use, unlike other modern machine learning methods, such as kernel machines and deep learning. Decision forests also scale well for use with large data because training and run time operations are trivially parallelizable allowing for high inference throughputs. A negative aspect of these forests, and an untenable property for many real time applications, is their high inference latency caused by the combination of large model sizes with random memory access patterns. We present memory packing techniques and a novel tree traversal method to overcome this deficiency. The result of our system is a grouping of trees into a hierarchical structure. 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 contiguous cache lines. We extend this layout with a re-ordering of the tree traversal algorithm to take advantage of the increased memory throughput provided by out-of-order execution and cache-line prefetching. Together, these optimizations increase the performance and parallel scalability of classification in ensembles by a factor of ten over an optimized C++ implementation and a popular R-language implementation.
AB - Decision Forests are popular machine learning techniques that assist scientists to extract knowledge from massive data sets. This class of tool remains popular because of their interpretability and ease of use, unlike other modern machine learning methods, such as kernel machines and deep learning. Decision forests also scale well for use with large data because training and run time operations are trivially parallelizable allowing for high inference throughputs. A negative aspect of these forests, and an untenable property for many real time applications, is their high inference latency caused by the combination of large model sizes with random memory access patterns. We present memory packing techniques and a novel tree traversal method to overcome this deficiency. The result of our system is a grouping of trees into a hierarchical structure. 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 contiguous cache lines. We extend this layout with a re-ordering of the tree traversal algorithm to take advantage of the increased memory throughput provided by out-of-order execution and cache-line prefetching. Together, these optimizations increase the performance and parallel scalability of classification in ensembles by a factor of ten over an optimized C++ implementation and a popular R-language implementation.
UR - https://www.scopus.com/pages/publications/85066062115
UR - https://www.scopus.com/pages/publications/85066062115#tab=citedBy
U2 - 10.1137/1.9781611975673.6
DO - 10.1137/1.9781611975673.6
M3 - Conference contribution
AN - SCOPUS:85066062115
T3 - SIAM International Conference on Data Mining, SDM 2019
SP - 46
EP - 54
BT - SIAM International Conference on Data Mining, SDM 2019
PB - Society for Industrial and Applied Mathematics Publications
Y2 - 2 May 2019 through 4 May 2019
ER -