SimpleCostEstimator

Cost estimator for Local, Replication and ABY protocols.

Approximates two communication features:

  • NUM_MESSAGES: number of messages exchanged between hosts

  • BYTES_TRANSFERRED: size of data transferred between hosts

in high latency regimes, NUM_MESSAGES is weighted more; in low latency regimes, BYTES_TRANSFERRED is weighted more.

costs for ABY mixed protocol derived from Table 2 in Ishaq et al, CCS 2019

  • cost is from microsecond figure for non-amortized n=1, divided by 10 and rounded

Constructors

Link copied to clipboard
fun SimpleCostEstimator(protocolComposer: ProtocolComposer, costRegime: SimpleCostRegime)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun communicationCost(source: Protocol, destination: Protocol, host: Host?): Cost<IntegerCost>

Estimated cost of sending a message from source to destination relative to host in destination. If host is null, then computes the cost for all the hosts in destination.

Link copied to clipboard
open override fun executionCost(stmt: SimpleStatementNode, protocol: Protocol): Cost<IntegerCost>

Estimated cost of executing stmt at protocol.

Link copied to clipboard
open override fun featureWeights(): Cost<IntegerCost>

Cost weights of features.

Link copied to clipboard
open override fun zeroCost(): Cost<IntegerCost>

"Identity" cost.