Milvus向量指令和预取优化

应用场景:向量指令和预取操作适用于频繁进行循环操作、缓存未命中率较高等情况。

技术原理:使用SVE的可扩展性和矢量谓词操作,这种灵活性提高了代码的可移植性和效率。同时在并行计算较高的情况下,预取操作通过提前加载数据到缓存中,可以显著减少内存访问的延迟,提高系统的整体性能。

性能指标在16U64G规格上,Milvus-hnsw算法在ann-benchmarks Gist数据集且recall值在0.99以上的场景,QPS(Query Per Second,每秒查询数)性能可获得20%的提升;Milvus-scann算法在ann-benchmarks Gist数据集且recall值在0.95以上的场景,QPS性能可获得20%的提升。

图1 加速优化特性优化前后性能对比

如何使用:通过patch文件形式提供,该patch补丁基于开源Milvus 2.4.5、Knowhere 2.3.5编译安装部署。