Michael Whittaker
42e4296b04
Added some TODOs to Expr.
...
Right now, there is not a nice way to check that two expressions are
equal. It would be fun to implement this, though it may not be super
fast.
2021-01-31 17:47:35 -08:00
Michael Whittaker
32f5bb2125
Added quorum system tests + bug fix.
...
I was computing uniform strategies wrong. Looks like adding tests cases
was the right move!
2021-01-31 17:47:06 -08:00
Michael Whittaker
6d1b865b67
Added expr tests + bug fix.
...
I wasn't computing the resilience of a choose quorum system correctly.
I'm happy I decided to add some unit tests!
2021-01-31 17:28:14 -08:00
Michael Whittaker
dced6388af
Added search procedure.
2021-01-31 12:31:22 -08:00
Michael Whittaker
a42bccaf0c
Tidied up code.
...
Some of the code was nasty. I cleaned it up a bit. I also started moving
tests into a tests/ directory. You can run python -m unittest to run
them. I still need to add more tests to make sure things are working as
expected.
2021-01-30 18:47:25 -08:00
Michael Whittaker
63b88c38d5
First full stab at multiple objectives.
2021-01-29 18:09:50 -08:00
Michael Whittaker
18f97ac866
Progress on multiple objectives.
2021-01-29 17:46:00 -08:00
Michael Whittaker
31e875f957
Tidied up load dist code.
2021-01-29 00:01:47 -08:00
Michael Whittaker
cb8c5d0e6c
Refactoring plotting to separate file.
2021-01-28 23:47:41 -08:00
Michael Whittaker
cf520371d9
Added load distribution plotting.
...
Still need to add capacity plots.
2021-01-28 22:46:57 -08:00
Michael Whittaker
bcfc4d4098
Added some geometry code.
...
I'll use this for load vs read fraction plots.
2021-01-28 19:26:36 -08:00
Michael Whittaker
900b69d8d1
Added node load plot script.
2021-01-28 13:37:38 -08:00
Michael Whittaker
6cdd902d4f
Added matplotlib to requirements.
2021-01-27 21:39:31 -08:00
Michael Whittaker
5d973428d2
Added util plot + misc cleanup.
2021-01-27 21:22:54 -08:00
Michael Whittaker
5303a004cc
Added capacity plotting.
2021-01-27 16:56:21 -08:00
Michael Whittaker
9aac3a7541
Added load plots.
...
I merged Strategy and ExplicitStrategy for now. I also pruned zero
probability quorums from the strategies. The load plots are cool. I want
to plot capacity plots now, though it's a little tricky.
2021-01-27 16:22:16 -08:00
Michael Whittaker
2a1b56e987
Fixed buggy load computation.
...
I was incorrectly computing load on a distribution of read fractions. I
have to compute the load for each fr separately and then weight them.
2021-01-27 14:56:00 -08:00
Michael Whittaker
be8d180405
Added temporary installation instructions.
2021-01-27 14:02:53 -08:00
Michael Whittaker
84025eed77
Added requirements.txt.
2021-01-27 14:02:03 -08:00
Heidi Howard
d1e930b914
adding expected output for strategy load with write fraction
2021-01-23 21:01:33 +00:00
Michael Whittaker
c6a5861b6a
More README typos.
2021-01-22 16:36:45 -08:00
Michael Whittaker
77a1be57f8
Fixed README typo.
2021-01-22 16:34:26 -08:00
Michael Whittaker
5b6ccba1f3
Removed old unused file.
2021-01-22 16:30:14 -08:00
Michael Whittaker
e9c48d362e
Added README.
2021-01-22 16:29:54 -08:00
Michael Whittaker
21deb75622
Added capacity.
2021-01-22 16:29:49 -08:00
Michael Whittaker
5ac22c8df6
Tidied up examples.
2021-01-22 15:15:26 -08:00
Michael Whittaker
68a939b3e6
More efficently(?) check quorum system validity.
2021-01-22 14:51:44 -08:00
Michael Whittaker
7f1a1a3934
Split up code into separate modules.
2021-01-22 14:47:07 -08:00
Michael Whittaker
630effa405
Added duplicate free resilience computation.
2021-01-22 14:20:46 -08:00
Michael Whittaker
2d4bcc1a09
Raise error if there are no f-resilient quorums.
2021-01-22 12:10:43 -08:00
Michael Whittaker
6193204c7d
Added f-resilient strategies.
2021-01-22 12:07:35 -08:00
Michael Whittaker
f6c291d844
Added option to pass write fraction.
2021-01-22 11:28:13 -08:00
Michael Whittaker
cf5e451d68
Added resilience computation.
2021-01-22 11:10:05 -08:00
Michael Whittaker
59b2e746a4
Added examples.py
2021-01-20 22:04:18 -08:00
Michael Whittaker
1b84ec3134
Added read and write capacity handling.
...
This stuff is weird because it's obvious how to adjust the LP, but
understanding what things mean intuitively is weird. I settled on the
new load being the inverse of the peak throughput possible. With default
load, we assume capacity at every node is 1.
2021-01-20 21:52:19 -08:00
Michael Whittaker
11fe478c2b
Added optimal load strategy with LP.
2021-01-20 17:59:46 -08:00
Michael Whittaker
efbeb8dc44
Added some more skeleton around strategies.
2021-01-20 17:11:59 -08:00
Michael Whittaker
56992f1c8d
Added Choose and QuorumSystem.
2021-01-20 16:41:09 -08:00
Michael Whittaker
3f28929d07
Added basic library skeleton.
2021-01-20 16:12:26 -08:00
Michael Whittaker
7b21b4f304
Added some brainstorming thoughts.
2021-01-17 20:11:24 -08:00
Michael Whittaker
ffc10b03c2
Updated notes.
2021-01-17 19:50:54 -08:00
Michael Whittaker
419cb07536
Added some TODOs.
2021-01-15 21:44:37 -08:00
Michael Whittaker
47257ffbaa
Added read-write quorum systems section to notes.
2021-01-14 11:48:18 -08:00
Michael Whittaker
3ab03da4d1
Added quorum systems section to notes.
2021-01-14 11:32:00 -08:00