Skip to content

Instantly share code, notes, and snippets.

@samueleresca
Created May 1, 2021 19:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samueleresca/20dbee03b347035bda18d383e180a668 to your computer and use it in GitHub Desktop.
Save samueleresca/20dbee03b347035bda18d383e180a668 to your computer and use it in GitHub Desktop.
"""
Original code available at: https://github.com/mwhittaker/quoracle/blob/d83a811a905a51fc13ebc00ddac036d559463380/quoracle/quorum_system.py#L509
"""
def latency() -> pulp.LpAffineExpression:
reads = fr * sum(
v * self._read_quorum_latency(quorum).total_seconds()
for (rq, v) in zip(read_quorums, read_quorum_vars)
for quorum in [{self.node(x) for x in rq}]
)
writes = (1 - fr) * sum(
v * self._write_quorum_latency(quorum).total_seconds()
for (wq, v) in zip(write_quorums, write_quorum_vars)
for quorum in [{self.node(x) for x in wq}]
)
return reads + writes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment