基于GPU的距离相似度搜索中坐标和度量索引的优化与比较
1. 引言
距离相似度搜索(DSS)是大规模数据分析的基本操作,用于查找数据集中与查询点距离在搜索范围内的所有点。距离相似度自连接(DSSJ)则是找出数据集中彼此距离在 ϵ 范围内的所有对象。DSS 是许多算法的构建块,包括用于科学数据分析的算法。
搜索 - 细化策略可降低 DSS 的计算成本,通过索引筛选搜索范围,生成候选点集,再通过距离计算细化结果。图形处理单元(GPU)由于其大规模并行性,具有高计算吞吐量,在距离计算方面非常有效,众多研究表明 GPU 在 DSS 上优于多核 CPU。
GPU DSS 算法的性能很大程度上取决于与数据相关的属性,如数据分布、维度、稀疏性和方差等。因此,没有一种单一的 GPU 算法能在所有情况下都优于其他算法,这使得为特定工作负载选择合适的算法变得具有挑战性。主要有坐标和度量两种索引类型,前者直接基于数据点的坐标构建索引,后者则使用数据点到一组参考点的距离来构建索引。
本文将比较两种最先进的 GPU 算法:基于坐标索引的 GDS - Join 和基于度量索引的 COSS。由于这两种算法并非在所有数据集上都表现最佳,因此本文旨在解决以下问题:
- 处理给定数据集时,哪些数据属性可用于确定 GDS - Join 的索引维度数或 COSS 的参考点数?
- 哪些数据集属性可用于选择在数据集上使用 GDS - Join 还是 COSS?
2. GDS - JOIN 与 COSS 比较
- GDS - Join :使用基于坐标的索引,将索引直接构建在数据点的坐标上。 <
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



