Threshold decryption benchmarking
ggkitsas opened this issue · 7 comments
In 044a0aed66060f175d4595f06a3202480653c38d
For: share_combine
Threshold: 8
#msg: 1000
Batch parallelization: No
Ciphertext validity checking: No
Lagrange interpolation optimization: No
Cores | Time (sec) | EC2 instance type |
---|---|---|
2 | 8.5824 | m5.large |
4 | 8.5710 | m5.xlarge |
In 919325402d55f44e3b1da21a7062a3882e535b62
For: batch_share_combine
#msg: 1000
Batch parallelization: Yes
Ciphertext validity checking: Yes
Lagrange interpolation optimization: No
Cores | Time (sec) | EC2 instance type | Threshold |
---|---|---|---|
2 | 10.926 | m5.large | 8 |
4 | 5.6189 | m5.xlarge | 8 |
8 | 2.9896 | m5.2xlarge | 8 |
16 | 1.6739 | m5.4xlarge | 8 |
32 | 1.0160 | m5.8xlarge | 8 |
32 | 10.483 | m5.8xlarge | 100 |
In 919325402d55f44e3b1da21a7062a3882e535b62
For: share_combine
Threshold: 8
#msg: 1000
Batch parallelization: Yes
Ciphertext validity checking: Yes
Lagrange interpolation optimization: No
Cores | Time (sec) | EC2 instance type |
---|---|---|
2 | 13.765 | m5.large |
4 | 13.608 | m5.xlarge |
8 | 13.736 | m5.2xlarge |
16 | 13.616 | m5.4xlarge |
Next steps:
add lagrange interpolation optimization and benchmark for high thresholds (i.e. 8k)implement anoma/group-threshold-crypto#8 and benchmark
In 0c852182ba7418b965e3776b8c189cf500248d43
For: fast_share_combine
Threshold: 100
#msg: 1000
Parallelization: No
Ciphertext validity checking: No
Lagrange interpolation optimization: No
EC2 instance type | Cores | Time (sec) |
---|---|---|
m5.8xlarge | 32 | 290.11 |
In 4f2f696aaa2807581758c72beed1b796f21fbad0
For: fast_share_combine
#msg: 1000
Parallelization: Yes
Ciphertext validity checking: No
Lagrange interpolation optimization: No
EC2 instance type | Cores | Time (sec) | Threshold |
---|---|---|---|
m5.8xlarge | 32 | 3.0711 | 8 |
m5.8xlarge | 32 | 19.866 | 100 |
In cec0ffaacd08626207a030388b7829a4fcb5cd12:
on m5.8xlarge (32 cores)
share_combine: threshold 8192*2/3 - #msg 100
time: [4.7883 s 4.7947 s 4.8023 s]
block_propose: threshold 8192*2/3 - #msg 100
time: [17.102 s 17.105 s 17.108 s]
In da190532d2c8eed05fe70068b0f1dbb3b1b29bdb:
on m5.8xlarge (32 cores)
threshold: 8192*2/3
share_combine bench | |||
---|---|---|---|
Num of msgs |
Msg size | ||
100 | 1000 | 10000 | |
10 | 477.22ms | 477.52ms | 477.04ms |
100 | 4.7733s | 4.7757s | 4.7730s |
1000 | 47.776s | 47.708s | 48.061s |
Notes on share_combine:
- Message size has no important effect in performance
- Number of messages affects performance linearly
block_propose bench | |||
---|---|---|---|
Num of msgs |
Msg size | ||
100 | 1000 | 10000 | |
10 | 9.4224s | 9.4206s | 9.4215s |
100 | 17.043s | 17.040s | 17.038s |
1000 | 93.213s | 93.386s | 93.324s |
Notes on block_propose:
- Message size has no important effect in performance
- Number of messages affects performance sub-linearly (?)