anoma / ferveo

An implementation of a DKG protocol for front-running protection on Anoma.
https://anoma.net
GNU General Public License v3.0
78 stars 21 forks source link

Threshold decryption benchmarking #53

Open ggkitsas opened 3 years ago

ggkitsas commented 3 years ago

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
ggkitsas commented 3 years ago

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
ggkitsas commented 3 years ago

Next steps:

ggkitsas commented 3 years ago

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
ggkitsas commented 3 years ago

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
ggkitsas commented 3 years ago

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]

ggkitsas commented 3 years ago

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:


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: