SimpleCostEstimator

class SimpleCostEstimator(protocolComposer: ProtocolComposer, costRegime: SimpleCostRegime) : CostEstimator<IntegerCost>

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

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

Types

Companion
Link copied to clipboard
object Companion

Functions

communicationCost
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.

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

Estimated cost of executing stmt at protocol.

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

Cost weights of features.

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

"Identity" cost.