鲲鹏社区首页
EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

特性介绍

本文主要介绍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%提升。