Command Reference
Running Cicada programs on multiple machines is easier with the following:
cicada
Cicada MPC tools.
usage: cicada [-h]
{certificate-info,credentials,generate-shares,run,start,version}
...
commands (choose one)
- command
Possible choices: certificate-info, credentials, generate-shares, run, start, version
Sub-commands
certificate-info
Display information about a TLS certificate.
cicada certificate-info [-h] path
Positional Arguments
- path
Path to the certificate file.
credentials
Generate player credentials for TLS encryption.
cicada credentials [-h] [--certificate CERTIFICATE] [--country COUNTRY]
[--days DAYS] [--email EMAIL] [--identity IDENTITY]
[--locality LOCALITY] [--name NAME]
[--organization ORGANIZATION] --rank RANK [--state STATE]
[--unit UNIT]
Named Arguments
- --certificate
Output certificate file. Default: “player-{rank}.cert”
Default: “player-{rank}.cert”
- --country
Certificate country. Default: “US”
Default: “US”
- --days
Length of time the certificate will be valid. Default: 365
Default: 365
Certificate email. Default: None
- --identity
Output identity (private key and certificate) file. Default: “player-{rank}.pem”
Default: “player-{rank}.pem”
- --locality
Certificate locality. Default: “Albuquerque”
Default: “Albuquerque”
- --name
Common name. Default: based on player rank.
- --organization
Certificate organization. Default: “Cicada”
Default: “Cicada”
- --rank
Player rank.
- --state
Certificate state. Default: “New Mexico”
Default: “New Mexico”
- --unit
Certificate organizational unit. Default: None
run
Run all Cicada processes on the local machine.
cicada run [-h] [--dry-run] [--frontend {basic,tmux,tmux-windows,xterm}]
[--identity IDENTITY] [--inspect] [--trusted TRUSTED]
[--root-address ROOT_ADDRESS]
[--tmux-layout {even-horizontal,even-vertical,tiled}]
[--world-size WORLD_SIZE]
program ...
Positional Arguments
- program
Program to execute.
- args
Program arguments.
Named Arguments
- --dry-run, -y
Don’t start actual processes.
Default: False
- --frontend, -f
Possible choices: basic, tmux, tmux-windows, xterm
Frontend to execute processes.
Default: “basic”
- --identity
Player private key and certificate in PEM format. Default: “player-{rank}.pem” file, if it exists.
Default: “player-{rank}.pem”
- --inspect, -i
Start a Python prompt after running program.
Default: False
- --trusted
Trusted certificates in PEM format. Default: “player-{rank}.cert” files, if they exist.
Default: “player-{rank}.cert”
- --root-address
Root address. Default: “tcp://127.0.0.1:25252”
Default: “tcp://127.0.0.1:25252”
- --tmux-layout
Possible choices: even-horizontal, even-vertical, tiled
Pane layout for the tmux frontend. Default: “even-vertical”
Default: “even-vertical”
- --world-size, -n
Number of players. Default: 3
Default: 3
start
Start one Cicada process.
cicada start [-h] [--dry-run] [--address ADDRESS] [--identity IDENTITY]
[--inspect] [--trusted TRUSTED] [--root-address ROOT_ADDRESS]
--rank RANK [--world-size WORLD_SIZE]
program ...
Positional Arguments
- program
Program to execute.
- args
Program arguments.
Named Arguments
- --dry-run, -y
Don’t start actual processes.
Default: False
- --address
Network address. Default: tcp://172.17.0.2:25252 for player 0, otherwise tcp://172.17.0.2
- --identity
Player private key and certificate in PEM format. Default: “player-{rank}.pem” file, if it exists.
Default: “player-{rank}.pem”
- --inspect, -i
Start a Python prompt after running program.
Default: False
- --trusted
Trusted certificates in PEM format. Default: “player-{rank}.cert” files, if they exist.
Default: “player-{rank}.cert”
- --root-address
Root address. Default: same as –address for player 0, required otherwise.
- --rank
Player rank.
- --world-size, -n
Number of players. Default: 3
Default: 3
version
Print the Cicada version.
cicada version [-h]
cicada-perf
Cicada MPC performance tests.
usage: cicada-perf [-h] {broadcast,floor,gather,scatterv,version} ...
commands (choose one)
- command
Possible choices: broadcast, floor, gather, scatterv, version
Sub-commands
broadcast
Test broadcast performance on the local machine.
cicada-perf broadcast [-h] [--count COUNT] [--identity IDENTITY] [--seed SEED]
[--size SIZE] [--src SRC] [--trusted TRUSTED]
[--world-size WORLD_SIZE]
Named Arguments
- --count
Number of broadcast operations. Default: 10000
Default: 10000
- --identity
Player private key and certificate in PEM format. Default: “player-{rank}.pem” file, if it exists.
Default: “player-{rank}.pem”
- --seed
Random seed. Default: 1234
Default: 1234
- --size
Broadcast message size in bytes. Default: 1000
Default: 1000
- --src
Broadcast src player. Default: 0
Default: 0
- --trusted
Trusted certificates in PEM format. Default: “player-{rank}.cert” files, if they exist.
Default: “player-{rank}.cert”
- --world-size, -n
Number of players. Default: 3
Default: 3
floor
Test floor() performance on the local machine.
cicada-perf floor [-h] [--count COUNT] [--identity IDENTITY] [--seed SEED]
[--trusted TRUSTED] [--world-size WORLD_SIZE]
Named Arguments
- --count
Number of floor() operations. Default: 1
Default: 1
- --identity
Player private key and certificate in PEM format. Default: “player-{rank}.pem” file, if it exists.
Default: “player-{rank}.pem”
- --seed
Random seed. Default: 1234
Default: 1234
- --trusted
Trusted certificates in PEM format. Default: “player-{rank}.cert” files, if they exist.
Default: “player-{rank}.cert”
- --world-size, -n
Number of players. Default: 3
Default: 3
gather
Test gather performance on the local machine.
cicada-perf gather [-h] [--count COUNT] [--dst DST] [--identity IDENTITY]
[--seed SEED] [--size SIZE] [--trusted TRUSTED]
[--world-size WORLD_SIZE]
Named Arguments
- --count
Number of gather operations. Default: 10000
Default: 10000
- --dst
Gather dst player. Default: 0
Default: 0
- --identity
Player private key and certificate in PEM format. Default: “player-{rank}.pem” file, if it exists.
Default: “player-{rank}.pem”
- --seed
Random seed. Default: 1234
Default: 1234
- --size
Gather message size in bytes. Default: 1000
Default: 1000
- --trusted
Trusted certificates in PEM format. Default: “player-{rank}.cert” files, if they exist.
Default: “player-{rank}.cert”
- --world-size, -n
Number of players. Default: 3
Default: 3
scatterv
Test scatterv performance on the local machine.
cicada-perf scatterv [-h] [--count COUNT] [--src SRC] [--identity IDENTITY]
[--seed SEED] [--size SIZE] [--trusted TRUSTED]
[--world-size WORLD_SIZE]
Named Arguments
- --count
Number of scatterv operations. Default: 10000
Default: 10000
- --src
Scatterv src player. Default: 0
Default: 0
- --identity
Player private key and certificate in PEM format. Default: “player-{rank}.pem” file, if it exists.
Default: “player-{rank}.pem”
- --seed
Random seed. Default: 1234
Default: 1234
- --size
Scatterv message size in bytes. Default: 1000
Default: 1000
- --trusted
Trusted certificates in PEM format. Default: “player-{rank}.cert” files, if they exist.
Default: “player-{rank}.cert”
- --world-size, -n
Number of players. Default: 3
Default: 3
version
Print the Cicada version.
cicada-perf version [-h]