DISKANN 10M×1536-dim recall requires search_list=4000 to reach 95%, causing extreme latency and low throughput
Environment
| Item |
Value |
| Repo / branch |
mlcommons/mlperf_storage, main (June 2026) |
| Milvus |
v2.6.x, standalone Docker |
| Storage |
Solidigm D7-PS1010 TLC 7.68TB NVMe (XFS) |
| Host |
377 GB RAM, Xeon |
| Dataset |
10,000,000 vectors × 1536-dim, uniform random |
| Metric |
COSINE |
| Index |
DISKANN, max_degree=64, search_list_size=200 |
| Shards |
10 |
| Benchmark |
vdbbench --runtime 300, 8 workers, batch_size=10 |
Problem
With a correctly-constructed DISKANN index (max_degree=64, the standard value; not the erroneous --max-degree default of 16), reaching 95% recall@10 on 10M × 1536-dim uniform vectors still requires search_list=4000. At this search depth, QPS collapses to 18 and per-query latency exceeds 400 ms — unacceptable for any practical workload.
Results
| search_list |
QPS |
Recall@10 |
Mean (ms) |
P99 (ms) |
| 200 |
588 |
59.4% |
13.3 |
14.6 |
| 400 |
356 |
70.7% |
22.3 |
23.1 |
| 800 |
144 |
80.5% |
55.3 |
58.4 |
| 1200 |
84 |
85.7% |
94.6 |
102.6 |
| 2000 |
43 |
90.6% |
183.5 |
207.5 |
| 4000 |
18 |
95.2% |
435.2 |
511.2 |
Root Cause Hypothesis
1536-dimensional uniform vectors are nearly equidistant (nearest-neighbor distance / 100th-neighbor distance ≈ 0.96, vs ≈ 0.7 for SIFT 128-dim). Without clustering structure, DISKANN's graph traversal must explore a large fraction of the graph to find true neighbors — there are no shortcuts. This may be a fundamental limitation of graph-based ANN on high-dimensional uniform data, not a parameter-tuning issue.
Questions
- Has anyone achieved 95% recall at search_list ≤ 200 on 10M×1536-dim uniform DISKANN? If so, what configuration?
- Is this expected for uniform high-dimensional data? Should the benchmark use a more structured dataset?
DISKANN 10M×1536-dim recall requires search_list=4000 to reach 95%, causing extreme latency and low throughput
Environment
vdbbench --runtime 300, 8 workers, batch_size=10Problem
With a correctly-constructed DISKANN index (max_degree=64, the standard value; not the erroneous
--max-degreedefault of 16), reaching 95% recall@10 on 10M × 1536-dim uniform vectors still requires search_list=4000. At this search depth, QPS collapses to 18 and per-query latency exceeds 400 ms — unacceptable for any practical workload.Results
Root Cause Hypothesis
1536-dimensional uniform vectors are nearly equidistant (nearest-neighbor distance / 100th-neighbor distance ≈ 0.96, vs ≈ 0.7 for SIFT 128-dim). Without clustering structure, DISKANN's graph traversal must explore a large fraction of the graph to find true neighbors — there are no shortcuts. This may be a fundamental limitation of graph-based ANN on high-dimensional uniform data, not a parameter-tuning issue.
Questions