Page 113 - 《软件学报》2026年第3期
P. 113
1076 软件学报 2026 年第 37 卷第 3 期
该提升归因于合并操作频率的下降, 正如前文所言, FreshDiskANN 频繁的合并操作占用了大量系统资源, 进
而严重影响前台查询操作性能. 此外, 因为周期性合并操作的存在, 使得查询吞吐变化呈现波峰-波谷的震荡式变
化; LSMDiskANN 将原本的合并操作拆分为刷新与合并操作, 使得变化曲线变为波峰-波腰-波谷的平缓式变化, 系
统运行更加平滑, 查询吞吐量显著上升.
FreshDiskANN LSMDiskANN
600 98 5
800
500 4
700 96
QPS 600 QPS 400 Recall@5 94 Memory (GB) 3
500 300 2
92
400 200 1
0 20 40 60 80 100 0 20 40 60 80 100 0 20 40 60 80 100 0 20 40 60 80 100
Iterations Iterations Iterations Iterations
(a) Insert throughput (b) Query throughput (c) Query accuracy (d) Memory usage
350
60 100 500
Latency (ms) 40 Latency (ms) 60 Latency (ms) 300 Latency (ms) 300
400
50
80
250
200
150
30
200
40
20
50
20 100 100
10 0
0 20 40 60 80 100 0 20 40 60 80 100 0 20 40 60 80 100 0 20 40 60 80 100
Iterations Iterations Iterations Iterations
(e) Query P90 latency (f) Query P95 latency (g) Query P99 latency (h) Query P99.9 latency
图 11 GIST1M 数据集下索引快速膨胀实验总体表现
FreshDiskANN LSMDiskANN
600 99.50 4
1 200 550 99.25 3
QPS 1 000 QPS 500 Recall@5 99.00 Memory (GB) 2
450
98.75
800 400 98.50
350 1
600 300 98.25
0 25 50 75 100 0 25 50 75 100 0 25 50 75 100 0 25 50 75 100
Iterations Iterations Iterations Iterations
(a) Insert throughput (b) Query throughput (c) Query accuracy (d) Memory usage
350
27.5
Latency (ms) 22.5 Latency (ms) 30 Latency (ms) 60 Latency (ms) 300
25.0
250
50
25
200
20.0
40
150
20
17.5
30
15.0
50
12.5 15 20 100
0 25 50 75 100 0 25 50 75 100 0 25 50 75 100 0 25 50 75 100
Iterations Iterations Iterations Iterations
(e) Query P90 latency (f) Query P95 latency (g) Query P99 latency (h) Query P99.9 latency
图 12 DEEP10M 数据集下索引快速膨胀实验总体表现
● Q2: LSMDiskANN 是否可以获得比 FreshDiskANN 更高的更新吞吐量?
图 10–图 15 中插入吞吐量变化图结果显示, 相比于 FreshDiskANN, LSMDiskANN 在 SIFT1M 上平均取得了
6.42% 与 14.24% 的插入 QPS 提升, 在 GIST1M 上基本持平, 在 DEEP10M 上略有降低.
因为插入操作仅在内存中完成, 受 I/O 操作影响较小, 所以在插入吞吐量变化上, 合并操作的延缓并未显著影
响插入 QPS. 同时, 由于内存索引组件数据量小, 其图结构收敛性不稳定, 并随数据量减小而收敛速度加快, 进而直

