特性介绍
本文主要介绍Milvus数据库向量指令优化特性的优化原理和安装使用方法。
Milvus是业界领先的一种高性能、高扩展性的向量数据库,它提供强大的数据建模功能。在Milvus上使用HNSW算法或者ScaNN算法对数据集GIST进行测试时发现,两个向量之间求相似度的热点函数占CPU近90%的比重,如果能够对相应热点函数进行优化,可以取得明显的加速效果。而这种存在大量循环和简单数学运算的操作,使用SVE指令和PF预取进行加速是非常好用的手段。
- SVE
SVE(Scalable Vector Extension,可伸缩向量扩展)是由ARM公司开发的一种指令集扩展,旨在通过向量化技术提升计算密集型应用的性能。与NEON指令集不同,SVE具备可扩展性,即向量寄存器的长度可以根据需要进行扩展,而不受固定长度的限制。SVE还引入了矢量谓词操作,允许在同一个向量操作中对部分元素进行计算。这种灵活性提高了代码的可移植性和效率。
- PF
PF(Prefetch,预取)是一种用于优化计算机系统性能的技术,主要用于减少处理器在等待内存数据时的空闲时间。通过提前加载数据到缓存中,预取技术可以显著减少内存访问的延迟,提高系统的整体性能。
Milvus数据库向量指令优化特性通过SVE+PF优化,实现在16U64G规格上,Milvus-hnsw算法在ann-benchmarks Gist数据集且recall值在0.99以上场景,QPS(Queries Per Second,每秒查询数)性能可获得20%提升;Milvus-scann算法在ann-benchmarks Gist数据集且recall值在0.95以上场景,QPS性能可获得20%提升。
父主题: 特性指南