Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

benchmark: Compare performance on i8g and i7ie and i4i #155

Open
VoVAllen opened this issue Dec 27, 2024 · 6 comments
Open

benchmark: Compare performance on i8g and i7ie and i4i #155

VoVAllen opened this issue Dec 27, 2024 · 6 comments
Assignees

Comments

@VoVAllen
Copy link
Member

VoVAllen commented Dec 27, 2024

On laion 5m dataset
test pure cold read

@cutecutecat
Copy link
Member

On Branch: 9b70fb7

data = laion-5m
nlist = 8192
shared buffer = 28G
jit = false
effective_io_concurrency = 200
top 10 with prewarm 
top 100 run twice

Build time

i8g > i7ie > i4i

i4i.xlarge: 1292.06s
i7ie.xlarge: 835.91s
i8g.xlarge: 691.53s

Benchmark compare

i7ie > i8g > i4i

nprob / epsilon / top i7ie QPS i4i QPS i8g QPS Recall
100 / 1.5 / 10 206.49 156.17 179.09 0.9803
100 / 1.0 / 10 227.53 167.73 197.68 0.9672
100 / 0.8 / 10 233.07 174.16 203.97 0.9543
100 / 0.6 / 10 238.77 174.97 209.97 0.9339
100 / 0.8 / 100 192.74 148.75 167.27 0.9513
100 / 0.6 / 100 200.05 149.97 173.69 0.9332
200 / 1.5 / 100 104.10 79.22 91.10 0.9847

@VoVAllen
Copy link
Member Author

VoVAllen commented Jan 6, 2025

5m experiment on #157, i4i

@VoVAllen
Copy link
Member Author

VoVAllen commented Jan 6, 2025

5m experiment on vchord-fscan, i4i @usamoi

@cutecutecat
Copy link
Member

laion-5m

on #157

nprob / epsilon / top QPS + Mem QPS + Disk Recall
100 / 1.5 / 10 128.89 41.40 0.9803
100 / 1.0 / 10 147.65 55.57 0.9672
100 / 0.8 / 10 160.18 63.95 0.9544
100 / 0.8 / 100 105.05 31.76 0.9513
100 / 0.6 / 100 111.26 33.91 0.9332
200 / 1.5 / 100 51.01 22.47 0.9847

on main

nprob / epsilon / top QPS + Mem QPS + Disk Recall
100 / 1.5 / 10 159.13 42.71 0.9804
100 / 1.0 / 10 169.15 55.34 0.9672
100 / 0.8 / 10 180.41 61.86 0.9543
100 / 0.8 / 100 132.84 25.76 0.9513
100 / 0.6 / 100 142.71 26.69 0.9332
200 / 1.5 / 100 75.32 20.20 0.9847

on v0.1.0

nprob / epsilon / top QPS + Mem QPS + Disk Recall
100 / 1.5 / 10 240.87 46.37 0.9803
100 / 1.0 / 10 258.12 61.22 0.9672
100 / 0.8 / 10 274.05 69.89 0.9543
100 / 0.8 / 100 193.82 26.94 0.9513
100 / 0.6 / 100 202.70 28.26 0.9332
200 / 1.5 / 100 102.47 21.80 0.9847

@cutecutecat
Copy link
Member

Prewarm pages usage

# v0.1.0 branch

postgres=# SELECT vchordrq_prewarm('laion_embedding_idx'::regclass);
     vchordrq_prewarm      
---------------------------
 height of root: 2        +
 number of tuples: 1      +
 number of pages: 1       +
 number of tuples: 8192   +
 number of pages: 128     +
 number of tuples: 5000000+
 number of pages: 160277  +
 
# Main branch

postgres=# SELECT vchordrq_prewarm('laion_embedding_idx'::regclass);
     vchordrq_prewarm      
---------------------------
 height of root: 2        +
 number of tuples: 1      +
 number of pages: 1       +
 number of tuples: 8192   +
 number of pages: 142     +
 number of tuples: 5000000+
 number of pages: 90278   +

# PR 157 branch

postgres=# SELECT vchordrq_prewarm('laion_embedding_idx'::regclass);
     vchordrq_prewarm      
---------------------------
 height of root: 2        +
 number of tuples: 1      +
 number of pages: 1       +
 number of tuples: 8192   +
 number of pages: 142     +
 number of tuples: 5000000+
 number of pages: 86055   +

@usamoi
Copy link
Contributor

usamoi commented Jan 8, 2025

i4i.xlarge, e26e5e3, vchordrqfscan, lists = 8192, shared_buffer = 28G, jit = off, effective_io_concurrency = 200

probes / epsilon / top QPS Recall
100 / 1.5 / 10 174.96 0.9717
100 / 1.0 / 10 187.15 0.9597
100 / 0.8 / 10 191.62 0.9476
100 / 0.8 / 100 94.72 0.9492
100 / 0.6 / 100 151.84 0.9318
200 / 1.5 / 100 76.07 0.9805
   vchordrqfscan_prewarm   
---------------------------
 height of root: 2        +
 number of tuples: 1      +
 number of pages: 1       +
 number of tuples: 8192   +
 number of pages: 128     +
 number of tuples: 5000000+
 number of pages: 160277  +

i4i.xlarge, e26e5e3, vchordrq, lists = 8192, shared_buffer = 28G, jit = off, effective_io_concurrency = 200

probes / epsilon / top QPS Recall
100 / 1.5 / 10 139.10 0.9717
100 / 1.0 / 10 148.04 0.9596
100 / 0.8 / 10 150.17 0.9476
100 / 0.8 / 100 120.18 0.9493
100 / 0.6 / 100 125.12 0.9319
200 / 1.5 / 100 63.29 0.9806
     vchordrq_prewarm      
---------------------------
 height of root: 2        +
 number of tuples: 1      +
 number of pages: 1       +
 number of tuples: 8192   +
 number of pages: 142     +
 number of tuples: 5000000+
 number of pages: 90278   +

i4i.xlarge, db1c2ed, vchordrq, lists = 8192, shared_buffer = 26G, jit = off, effective_io_concurrency = 200

probes / epsilon / top QPS Recall
100 / 1.5 / 10 186.43 0.9716
100 / 1.0 / 10 197.50 0.9595
100 / 0.8 / 10 205.65 0.9475
100 / 0.8 / 100 157.91 0.9492
100 / 0.6 / 100 163.79 0.9319
200 / 1.5 / 100 63.92 0.9806
     vchordrq_prewarm      
---------------------------
 height of root: 2        +
 number of tuples: 1      +
 number of pages: 1       +
 number of tuples: 8192   +
 number of pages: 128     +
 number of tuples: 5000000+
 number of pages: 160277  +

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants