Saved in:
Bibliographic Details
Main Authors: Biebert, Daniel, Hakert, Christian, Chen, Jian-Jia
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2501.17434
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910803582517248
author Biebert, Daniel
Hakert, Christian
Chen, Jian-Jia
author_facet Biebert, Daniel
Hakert, Christian
Chen, Jian-Jia
contents Tree-based data structures are ubiquitous across applications. Therefore, a multitude of different tree implementations exist. However, while these implementations are diverse, they share a tree structure as the underlying data structure. As such, the access patterns inside these trees are very similar, following a path from the root of the tree towards a leaf node. Similarly, many distinct types of memory exist. These types of memory all have different characteristics. Some of these have an impact on the overall system performance. While the concrete types of memory are varied, their characteristics can often be abstracted to have a similar effect on the performance. We show how the characteristics of different types of memories can be used to improve the performance of tree-based data structures. By reordering the nodes of a tree inside memory, the characteristics of memory can be exploited to optimize the performance. To this end, this paper presents different strategies for reordering nodes inside memory as well as efficient algorithms for realizing these strategies. It additionally provides strategies to decide when such a reordering operation should be triggered during operation. Further, this paper conducts experiments showing the performance impact of the proposed strategies. The experiments show that the strategies can improve the performance of trees by up to 95\% as offline optimization and 75\% as online optimization.
format Preprint
id arxiv_https___arxiv_org_abs_2501_17434
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Realizing Hardware-Optimized General Tree-Based Data Structures for Heterogeneous System Classes
Biebert, Daniel
Hakert, Christian
Chen, Jian-Jia
Hardware Architecture
Tree-based data structures are ubiquitous across applications. Therefore, a multitude of different tree implementations exist. However, while these implementations are diverse, they share a tree structure as the underlying data structure. As such, the access patterns inside these trees are very similar, following a path from the root of the tree towards a leaf node. Similarly, many distinct types of memory exist. These types of memory all have different characteristics. Some of these have an impact on the overall system performance. While the concrete types of memory are varied, their characteristics can often be abstracted to have a similar effect on the performance. We show how the characteristics of different types of memories can be used to improve the performance of tree-based data structures. By reordering the nodes of a tree inside memory, the characteristics of memory can be exploited to optimize the performance. To this end, this paper presents different strategies for reordering nodes inside memory as well as efficient algorithms for realizing these strategies. It additionally provides strategies to decide when such a reordering operation should be triggered during operation. Further, this paper conducts experiments showing the performance impact of the proposed strategies. The experiments show that the strategies can improve the performance of trees by up to 95\% as offline optimization and 75\% as online optimization.
title Realizing Hardware-Optimized General Tree-Based Data Structures for Heterogeneous System Classes
topic Hardware Architecture
url https://arxiv.org/abs/2501.17434