In the hybrid indexing, internal nodes are accessed by CPU while leaf nodes are accessed by the GPU. However, a large number of leaf nodes needs to be stayed on the host memory side due to the limited memory space of GPU. So, before scanned by GPU, leaf nodes are kept on the host memory side in a Node_SOA form. Whenever we need to scan those leaf nodes, just copy a part of them as much as we need while considering the chunk size as well
In such case, the leaf nodes are duplicated even those leaf nodes are in difference form. Look at the left side of below picture.
In order to get more memory space, we need to think how to remove the leaf node on the host side
In the hybrid indexing, internal nodes are accessed by CPU while leaf nodes are accessed by the GPU. However, a large number of leaf nodes needs to be stayed on the host memory side due to the limited memory space of GPU. So, before scanned by GPU, leaf nodes are kept on the host memory side in a Node_SOA form. Whenever we need to scan those leaf nodes, just copy a part of them as much as we need while considering the chunk size as well
In such case, the leaf nodes are duplicated even those leaf nodes are in difference form. Look at the left side of below picture.
In order to get more memory space, we need to think how to remove the leaf node on the host side