Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leasing implementation & source code refactorizations #23

Merged
merged 421 commits into from
Oct 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
421 commits
Select commit Hold shift + click to select a range
201a2ed
staging progress on adaptability exper
josehu07 Nov 6, 2023
7a63f48
staging progress on adaptability exper
josehu07 Nov 7, 2023
d4b105a
staging progress on adaptability exper
josehu07 Nov 7, 2023
d8274fb
using ifb; finish unbalanced experiment
josehu07 Nov 7, 2023
ec7a0c5
finish runtime adaptability exper
josehu07 Nov 8, 2023
2d1ac39
staging progress on perf breakdown
josehu07 Nov 9, 2023
5eeb1aa
staging progress on perf breakdown
josehu07 Nov 9, 2023
67ac7dd
finish breakdown & space exper
josehu07 Nov 10, 2023
22081e1
staging progress on rs coding eval
josehu07 Nov 10, 2023
e7c7d10
finish rs coding overhead exper
josehu07 Nov 10, 2023
71d2356
minor updates to plotting scripts
josehu07 Nov 11, 2023
aa4ad9d
update perf over time figures
josehu07 Nov 12, 2023
76e5957
big update to adaptability figure
josehu07 Nov 12, 2023
416f6f7
minor updates to setup scripts
josehu07 Nov 12, 2023
44e734b
minor updates to plotting scripts
josehu07 Nov 12, 2023
3825bf6
minor updates to plotting scripts
josehu07 Nov 12, 2023
6775db1
minor updates to plotting scripts
josehu07 Nov 12, 2023
eab0934
Merge pull request #13 from josehu07/crossword
josehu07 Nov 12, 2023
d8951db
add pdf cropper helper script
josehu07 Nov 13, 2023
13bf371
add pdf cropper helper script
josehu07 Nov 13, 2023
767b1a6
Merge branch 'main' into crossword
josehu07 Nov 13, 2023
c8f5c9d
update pdf cropping script
josehu07 Nov 14, 2023
5b739a4
minor updates to plotting scripts
josehu07 Nov 14, 2023
1ffa223
minor updates to plotting scripts
josehu07 Nov 15, 2023
8788f2d
staging progress on critical path expers
josehu07 Nov 15, 2023
c19e23d
minor updates to plotting scripts
josehu07 Nov 16, 2023
c57e0a9
minor updates to plotting scripts
josehu07 Nov 16, 2023
60c6f0d
staging progress on critical path expers
josehu07 Nov 16, 2023
2c56f7a
remove unnecessary FillHoles & Commit messages
josehu07 Nov 17, 2023
de82498
almost finished critical path expers
josehu07 Nov 18, 2023
e045cce
finished critical path expers & plotting
josehu07 Nov 18, 2023
de08677
finished critical path expers & plotting
josehu07 Nov 18, 2023
999a3a7
minor updates to TLA+ spec
josehu07 Nov 19, 2023
0c14964
minor updates to plotting scripts
josehu07 Nov 19, 2023
3c40b00
minor updates to plotting scripts
josehu07 Nov 19, 2023
98801fa
fixed sim read lease bug
josehu07 Nov 19, 2023
103e2af
Merge pull request #14 from josehu07/crossword
josehu07 Nov 19, 2023
5dcd1f5
minor updates to plotting scripts
josehu07 Nov 20, 2023
5778db6
minor updates to plotting scripts
josehu07 Nov 20, 2023
20f4be8
minor updates to plotting scripts
josehu07 Nov 20, 2023
8ba8c42
add distributed machines helper scripts
josehu07 Nov 21, 2023
200c30f
minor updates to plotting scripts
josehu07 Nov 24, 2023
d9fff26
make toml dependency optional for workflow
josehu07 Nov 24, 2023
e54d8e0
Merge pull request #15 from josehu07/crossword
josehu07 Nov 24, 2023
b642172
staging progress on physical net expers
josehu07 Nov 24, 2023
0274ef1
add tidb workload profile results
josehu07 Nov 29, 2023
ea82157
staging progress on changed bench parameters
josehu07 Nov 30, 2023
e0de89d
update gitignore
josehu07 Nov 30, 2023
2cc7954
minor updates to tla+ formatting
josehu07 Nov 30, 2023
1e0f944
minor updates to plotting scripts
josehu07 Nov 30, 2023
513b9a6
minor updates to plotting scripts
josehu07 Nov 30, 2023
d14aaea
minor updates to plotting scripts
josehu07 Dec 1, 2023
a57b750
minor updates to plotting scripts
josehu07 Dec 1, 2023
fc55afc
add open_tcp_ports.sh script
josehu07 Dec 2, 2023
5299989
add auto iperf & ping script
josehu07 Dec 2, 2023
54d1a8b
staging progress on physical net expers
josehu07 Dec 2, 2023
71fc353
staging progress on physical net expers
josehu07 Dec 2, 2023
6ea626d
staging progress on physical net expers
josehu07 Dec 2, 2023
8490780
finished physical network exper =)
josehu07 Dec 3, 2023
4a52edb
finished physical network exper =)
josehu07 Dec 3, 2023
70ebb9b
Merge pull request #16 from josehu07/crossword
josehu07 Dec 3, 2023
a7045d3
update motivation profiling plots
josehu07 Dec 4, 2023
d66c211
add banal formal dump script
josehu07 Dec 5, 2023
495f4d6
minor updates to plotting scripts
josehu07 Dec 7, 2023
b2bdac1
Merge pull request #17 from josehu07/crossword
josehu07 Dec 7, 2023
bae3b4d
add WAN delays modeling calculation
josehu07 Feb 5, 2024
1288266
minor updates to WAN perf modeling script
josehu07 Feb 7, 2024
1eed1d4
reorganize scripts into paper-specific folders
josehu07 Feb 7, 2024
304bde0
reorganize scripts into paper-specific folders
josehu07 Feb 7, 2024
d303dde
mv artifact memos to separate file
josehu07 Feb 7, 2024
be2cb63
adding SMR-style TLA+ spec
josehu07 Feb 18, 2024
8b68ec8
adding command line TLC helper scripts
josehu07 Feb 18, 2024
15753e4
optimizing SMR-style TLA+ spec & linearizability constraint
josehu07 Feb 19, 2024
290ac9c
completing SMR-style TLA+ spec
josehu07 Feb 19, 2024
81e172c
completing SMR-style TLA+ spec
josehu07 Feb 19, 2024
228b17e
complete SMR-style MultiPaxos TLA+ spec
josehu07 Feb 20, 2024
715ba17
add README to MultiPaxos spec folder
josehu07 Feb 20, 2024
671ed88
add SMR-style MultiPaxos spec blog
josehu07 Feb 20, 2024
a45972a
minor updates to MultiPaxos spec README
josehu07 Feb 20, 2024
69c9902
update SMR-style MultiPaxos spec and TLC script
josehu07 Feb 21, 2024
52fbb95
add node failure injection to MultiPaxos spec
josehu07 Feb 21, 2024
7b94a25
update Crossword TLA+ spec
josehu07 Feb 21, 2024
c8e12ab
update Crossword TLA+ spec
josehu07 Feb 22, 2024
94ce043
update Crossword TLA+ spec .gitignore
josehu07 Feb 22, 2024
327eb25
extending SMR-style MultiPaxos spec
josehu07 Feb 23, 2024
1cb4569
extending SMR-style MultiPaxos spec
josehu07 Feb 24, 2024
b8ecce0
finish extended SMR-style MultiPaxos spec
josehu07 Feb 24, 2024
f71d792
staging progress on Bodega TLA+ spec
josehu07 Feb 26, 2024
928c365
staging progress on Bodega TLA+ spec
josehu07 Feb 27, 2024
3c273b9
finish Bodega TLA+ spec
josehu07 Feb 27, 2024
52e5bc7
finish Bodega TLA+ spec
josehu07 Feb 27, 2024
5ca31df
finish Bodega TLA+ spec
josehu07 Feb 27, 2024
67dbac1
finish Bodega TLA+ spec
josehu07 Feb 27, 2024
6b3701a
test change
josehu07 Feb 28, 2024
3cc2163
scanning through the codebase
josehu07 Mar 3, 2024
2b4089b
scanning through the codebase
josehu07 Mar 4, 2024
e85004a
add back committed condition check in Bodega spec
josehu07 Mar 7, 2024
728bcc4
cleaning up bench client
josehu07 Mar 18, 2024
d87ad40
add comments on port usage mess
josehu07 Mar 22, 2024
f9bbecd
remove useless perf sim parameters
josehu07 Mar 22, 2024
d821b96
minor updates to README
josehu07 Mar 22, 2024
0ef654b
add server module sync APIs
josehu07 Mar 23, 2024
ce895c2
fix wal_offset interference bug
josehu07 Mar 23, 2024
b76e863
refactor MultiPaxos code to fix Prepare phase bug
josehu07 Mar 24, 2024
7d03963
comment out the snapshotting test
josehu07 Mar 24, 2024
fd5800b
fixing the Prepare phase for RSPaxos
josehu07 Mar 24, 2024
22df5a1
fixing the Prepare phase for RSPaxos
josehu07 Mar 24, 2024
d175102
fixed the Prepare phase for RSPaxos
josehu07 Mar 25, 2024
4abc2e2
fixed the Prepare phase for Crossword
josehu07 Mar 25, 2024
fdd7d05
fix formatting issues
josehu07 Mar 25, 2024
4ac37d5
updating CloudLab experiments support
josehu07 Mar 28, 2024
b618a87
updating CloudLab experiments support
josehu07 Mar 28, 2024
be982e3
updating CloudLab experiments support
josehu07 Mar 28, 2024
6250a68
updating CloudLab experiments support
josehu07 Mar 28, 2024
f009e6d
updating CloudLab experiments support
josehu07 Mar 28, 2024
33123df
updating CloudLab experiments support
josehu07 Mar 29, 2024
b1aa6c4
updating CloudLab experiments support
josehu07 Mar 29, 2024
669843b
updating CloudLab experiments support
josehu07 Mar 29, 2024
85441de
updating CloudLab experiments support
josehu07 Mar 29, 2024
8ae312a
add remote_hosts.toml grouping
josehu07 Mar 29, 2024
796f785
restructured scripts utils library
josehu07 Mar 31, 2024
258c964
making better benchmarking scripts
josehu07 Mar 31, 2024
fd7c20f
making better benchmarking scripts
josehu07 Apr 3, 2024
f4ef176
making better benchmarking scripts
josehu07 Apr 5, 2024
29d2cb3
making better benchmarking scripts
josehu07 Apr 7, 2024
522b965
making better benchmarking scripts
josehu07 Apr 7, 2024
c4eab2f
making better benchmarking scripts
josehu07 Apr 8, 2024
c6e43b1
making better benchmarking scripts
josehu07 Apr 10, 2024
73d2732
finish follower read stalenss exper
josehu07 Apr 11, 2024
ba405d8
enable keyspace partitioning run mode
josehu07 Apr 12, 2024
34cef99
enable keyspace partitioning for ChainPaxos
josehu07 Apr 13, 2024
086dfdd
enable keyspace partitioning for ChainPaxos
josehu07 Apr 13, 2024
f72850f
enable keyspace partitioning for ChainPaxos
josehu07 Apr 13, 2024
db603d9
enable keyspace partitioning for ChainPaxos
josehu07 Apr 13, 2024
14c0139
minor updates to artifact readme
josehu07 Apr 15, 2024
45b84a5
working on improved YCSB exper
josehu07 Apr 16, 2024
2dd627a
working on improved YCSB exper
josehu07 Apr 16, 2024
220609e
finished improved YCSB trace exper
josehu07 Apr 16, 2024
6331fcc
finished improved YCSB trace exper
josehu07 Apr 16, 2024
a8908d8
update Crossword publish crop scripts
josehu07 Apr 17, 2024
4383b58
wrapping up the improved evaluation
josehu07 Apr 18, 2024
8eca21f
update results archiving script
josehu07 Apr 19, 2024
9bf7a98
add wan quorums model plotting for Bodega
josehu07 Apr 23, 2024
ecb167c
Merge branch 'bodega' of github.com:josehu07/summerset-private into b…
josehu07 Apr 23, 2024
9974387
use k reqs unit for ycsb plot
josehu07 Apr 24, 2024
32b9487
staging progress on chain replication impl
josehu07 Apr 24, 2024
4b8f1e4
Merge branch 'bodega' of github.com:josehu07/summerset-private into b…
josehu07 Apr 24, 2024
b13516d
staging progress on chain rep impl
josehu07 Apr 28, 2024
f8085bb
finished chain replication implementation
josehu07 Apr 29, 2024
1d7a192
finished chain replication implementation
josehu07 Apr 29, 2024
79e9b95
finished chain replication implementation
josehu07 Apr 29, 2024
e67947a
fixing CI workflow issues
josehu07 Apr 29, 2024
b28855b
Merge branch 'bodega'
josehu07 Apr 29, 2024
40535fc
fixing CI workflow issues
josehu07 Apr 29, 2024
4dc905d
minor update to README
josehu07 Apr 29, 2024
a7f747b
Merge branch 'bodega'
josehu07 Apr 29, 2024
1dcb1fd
finishing final plotting updates for Crossword
josehu07 May 3, 2024
4c6ee92
finishing final plotting updates for Crossword
josehu07 May 3, 2024
c2231a8
minor updates to bench script comments
josehu07 May 4, 2024
5498620
Merge branch 'bodega'
josehu07 May 4, 2024
368cdc6
use clone_from() according to clippy
josehu07 May 4, 2024
6dd9397
Merge branch 'bodega'
josehu07 May 4, 2024
fac8521
update Bodega TLA+ model
josehu07 May 5, 2024
2e8410e
minor updates to cargo metadata
josehu07 May 24, 2024
5be1994
Merge branch 'bodega' of github.com:josehu07/summerset-private into b…
josehu07 May 24, 2024
f70397f
modifications for code quality improvement
josehu07 Jun 9, 2024
e3bc1bf
modifications for code quality improvement
josehu07 Jun 9, 2024
1609496
Merge pull request #18 from josehu07/bodega
josehu07 Jun 9, 2024
b6c7a47
use static OnceLock for logging identifier
josehu07 Jul 15, 2024
89f9b3e
let formatter reorder imports automatically
josehu07 Jul 15, 2024
b5aa985
minor updates to README
josehu07 Jul 15, 2024
57ed785
minor fix for logging & script ports
josehu07 Jul 15, 2024
27ef9c9
minor updates to README
josehu07 Jul 15, 2024
f7c04ea
minor updates to README
josehu07 Jul 16, 2024
aea8c10
adding public repo publish script
josehu07 Jul 16, 2024
ad3ef8e
adding public repo publish script
josehu07 Jul 16, 2024
6bb22dd
adding public repo publish script
josehu07 Jul 16, 2024
1086836
adding public repo publish script
josehu07 Jul 16, 2024
e65c51a
adding public repo publish script
josehu07 Jul 16, 2024
898f3e7
adding public repo publish script
josehu07 Jul 16, 2024
0f37eeb
bump rust dependencies versions
josehu07 Aug 26, 2024
7809538
replace messagepack with bincode
josehu07 Aug 27, 2024
94bcd6a
remove unnecessary bind ports requirements
josehu07 Aug 27, 2024
36ac3fc
bump tokio version and minor plot changes
Sep 6, 2024
0159cc4
update setup scripts
josehu07 Sep 9, 2024
d15e803
update setup scripts for cockroach
josehu07 Sep 10, 2024
f163cde
update archive_results.sh script
josehu07 Sep 10, 2024
0e34cdb
working on extra expers for reviews
josehu07 Sep 11, 2024
1d3388c
working on gossiping batching exper
josehu07 Sep 11, 2024
0af3d57
finish bw utilization exper
josehu07 Sep 12, 2024
389f82a
finish bw utilization exper
josehu07 Sep 12, 2024
1240854
add cockroach automation scripts
josehu07 Sep 13, 2024
7127077
enabling TPC-C workload bench for cockroach
josehu07 Sep 14, 2024
213adcd
working on cockroach tpcc experiment
josehu07 Sep 14, 2024
4d8143b
minor updates to comments
josehu07 Sep 15, 2024
23d85c7
minor updates to mirror script
josehu07 Sep 15, 2024
1af887c
working on cockroach tpcc experiment
josehu07 Sep 16, 2024
cf3f263
working on cockroach tpcc experiment
josehu07 Sep 16, 2024
77e2a56
correct cockroach tpcc payload profiling
josehu07 Sep 16, 2024
8cff1eb
correct cockroach tpcc payload profiling
josehu07 Sep 16, 2024
3c69bc3
add protocol env var to cockroach script
josehu07 Sep 17, 2024
0952f69
improve plot dimensions and spacing
josehu07 Sep 17, 2024
e0bf2fa
minor modifications to rscoding util
josehu07 Sep 18, 2024
fc2ece6
minor updates to mirror script
josehu07 Sep 19, 2024
4100312
add RS coding timing logging switch
josehu07 Sep 20, 2024
0a7a193
minor updates to cockroach script
josehu07 Sep 20, 2024
ea94021
minor updates to cockroach script
josehu07 Sep 22, 2024
bb35e11
adding settings to cockroach scripts
josehu07 Sep 22, 2024
5a57997
minor updates to cockroach script
josehu07 Sep 23, 2024
4d29168
adding settings to cockroach scripts
josehu07 Sep 23, 2024
6ba81a9
add cockroach auto benchmark script
josehu07 Sep 24, 2024
3e713bb
finalize Crossword benchmark scripts
josehu07 Sep 25, 2024
e753401
cleaning up helper scripts
josehu07 Sep 25, 2024
bdcb113
cleaning up helper scripts
josehu07 Sep 25, 2024
3ced696
cleaning up helper scripts
josehu07 Sep 25, 2024
d39cada
adding zookeeper scripts
josehu07 Sep 26, 2024
9efab01
enable zookeeper cluster helper scripts
josehu07 Sep 26, 2024
66c3409
remove unnecessary home dir copy in geni scripts
josehu07 Sep 26, 2024
992f00f
remove unnecessary home dir copy in geni scripts
josehu07 Sep 26, 2024
f540a10
minor updates to toml parsing helper
josehu07 Sep 26, 2024
9da2823
minor updates to toml parsing helper
josehu07 Sep 26, 2024
815e10f
finishing up cocoroachdb experiment
josehu07 Sep 26, 2024
85d7727
adding zookeeper client support
josehu07 Sep 28, 2024
87977b0
added zookeeper clients script
josehu07 Sep 28, 2024
9935745
update and finish zookeeper clients
josehu07 Sep 28, 2024
9b4adb8
adding etcd cluster scripts
josehu07 Sep 28, 2024
e6163b7
adding etcd cluster scripts
josehu07 Sep 29, 2024
702a13f
adding etcd cluster scripts
josehu07 Sep 29, 2024
e50c903
added etcd clients script
josehu07 Sep 29, 2024
2d24291
update bodega tla+ gitignore
josehu07 Oct 18, 2024
d17c084
staging progress on leasing module
josehu07 Oct 19, 2024
327fee6
staging progress on leasing module
josehu07 Oct 21, 2024
5e8721d
staging progress on leasing module
josehu07 Oct 21, 2024
72dbfd0
finish leasing module implementation
josehu07 Oct 21, 2024
c7931cc
staging progress on MultiPaxos leader leases
josehu07 Oct 23, 2024
ba1cb88
staging progress on MultiPaxos leader leases
josehu07 Oct 23, 2024
7a79cb8
better Summerset module tasks code structure
josehu07 Oct 24, 2024
7cc018a
better heartbeats management & fix Raft metadata serde
josehu07 Oct 24, 2024
43610da
staging progress on MultiPaxos leader leases
josehu07 Oct 25, 2024
644125d
staging progress on MultiPaxos leader leases
josehu07 Oct 25, 2024
94575da
staging progress on MultiPaxos leader leases
josehu07 Oct 25, 2024
13c6ab6
proper mutual_leases test & improve timed unit tests
josehu07 Oct 26, 2024
9d733ef
minor updates to leaseman module printing
josehu07 Oct 26, 2024
282337c
typo fixes across the codebase
josehu07 Oct 26, 2024
16dd7dd
typo fixes across the codebase
josehu07 Oct 26, 2024
4e10126
fix github workflow dependencies issues
josehu07 Oct 26, 2024
12d3b1e
Merge branch 'main' into lease-n-fixes
josehu07 Oct 26, 2024
83feb4d
trimming for public repo
josehu07 Oct 26, 2024
09bf2fc
trimming for public repo
josehu07 Oct 26, 2024
cb8cb3e
trimming for public repo
josehu07 Oct 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ jobs:

steps:
- uses: actions/checkout@v3
- name: Get apt dependencies
run: sudo apt-get install -y protobuf-compiler
- name: Build
run: cargo build --workspace --verbose
- name: Add clippy component
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/tests_proc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ jobs:

steps:
- uses: actions/checkout@v3
- name: Install 'toml' package
- name: Get apt dependencies
run: sudo apt-get install -y protobuf-compiler
- name: Get pip dependencies
run: pip3 install toml
- name: Run proc tests (MultiPaxos)
run: python3 .github/workflow_test.py -p MultiPaxos
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/tests_unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@ jobs:

steps:
- uses: actions/checkout@v3
- name: Get apt dependencies
run: sudo apt-get install -y protobuf-compiler
- name: Run all unit tests
run: cargo test --workspace --verbose
run: cargo test --workspace --verbose --lib --bins
40 changes: 30 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,46 @@ version = "0.1.0"
edition = "2021"
authors = ["Guanzhou Hu <[email protected]>"]

[dependencies]
async-trait = "0.1"
fixedbitset = { version = "0.5", features = ["serde"] }
rangemap = "1.5"
flashmap = "0.1"
bytes = { version = "1.7", features = ["serde"] }
futures = "0.3"
tokio = { version = "1.39", features = ["full"] }
[workspace.dependencies]
tokio = { version = "1.40", features = ["full"] }
rand = "0.8"
rand_distr = "0.4"
rangemap = "1.5"
lazy_static = "1.5"
bytes = { version = "1.7", features = ["serde"] }
serde = { version = "1.0", features = ["derive"] }
bincode = "1.3"
toml = { version = "0.8", features = ["parse"] }
log = "0.4"
env_logger = "0.11"
reed-solomon-erasure = { version = "6.0" }
clap = { version = "4.0", features = ["derive"] }
ctrlc = { version = "3.4", features = ["termination"] }
color-print = { version = "0.3", features = ["terminfo"] }
zookeeper-client = "0.8"
etcd-client = "0.14"

[dependencies]
tokio = { workspace = true }
rand = { workspace = true }
rangemap = { workspace = true }
lazy_static = { workspace = true }
bytes = { workspace = true }
serde = { workspace = true }
toml = { workspace = true }
log = { workspace = true }
env_logger = { workspace = true }
async-trait = "0.1"
fixedbitset = { version = "0.5", features = ["serde"] }
flashmap = "0.1"
futures = "0.3"
bincode = "1.3"
reed-solomon-erasure = { version = "6.0" }
get-size = { version = "0.1", features = ["derive"] }
linreg = "0.2"
statistical = "1.0"
# these are just for error conversion; could do it in a better way
ctrlc = { workspace = true }
zookeeper-client = { workspace = true }
etcd-client = { workspace = true }

[dev-dependencies]
criterion = "0.5"
Expand Down
15 changes: 3 additions & 12 deletions scripts/distr_clients.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,13 +128,11 @@ def run_clients(
config,
capture_stdout,
pin_cores,
base_idx,
timeout_ms,
):
if num_clients < 1:
raise ValueError(f"invalid num_clients: {num_clients}")

# assuming I am the machine to run manager
manager_pub_ip = ipaddrs[man]

# if dist_machs set, put clients round-robinly across this many machines
Expand Down Expand Up @@ -200,7 +198,7 @@ def run_clients(
"-c", "--config", type=str, help="protocol-specific TOML config string"
)
parser.add_argument(
"-g", "--group", type=str, default="1dc", help="hosts group to run on"
"-g", "--group", type=str, default="reg", help="hosts group to run on"
)
parser.add_argument(
"--me", type=str, default="host0", help="main script runner's host nickname"
Expand All @@ -211,12 +209,6 @@ def run_clients(
parser.add_argument(
"--pin_cores", type=float, default=0, help="if not 0, set CPU cores affinity"
)
parser.add_argument(
"--base_idx",
type=int,
default=0,
help="idx of the first client for calculating ports",
)
parser.add_argument(
"--timeout_ms", type=int, default=5000, help="client-side request timeout"
)
Expand Down Expand Up @@ -328,7 +320,7 @@ def run_clients(
raise ValueError(f"invalid manager oracle's host {args.man}")

# check that the partition index is valid
partition_in_args, partition, file_midfix = False, 0, args.file_midfix
partition_in_args, partition, file_midfix = False, 0, ""
if args.utility == "bench":
partition_in_args = "partition" in args
if partition_in_args and (args.partition < 0 or args.partition >= 5):
Expand Down Expand Up @@ -380,7 +372,6 @@ def run_clients(
args.config,
capture_stdout,
args.pin_cores,
args.base_idx,
args.timeout_ms,
)

Expand All @@ -407,7 +398,7 @@ def run_clients(
rcs.append(client_proc.returncode)
except subprocess.TimeoutExpired:
if args.expect_halt: # mainly for failover experiments
print("WARN: getting expected halt, exitting...")
print("WARN: getting expected halt, exiting...")
sys.exit(0)
raise RuntimeError(f"some client(s) timed-out {timeout} secs")

Expand Down
3 changes: 2 additions & 1 deletion scripts/distr_cluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ def launch_servers(
"-c", "--config", type=str, help="protocol-specific TOML config string"
)
parser.add_argument(
"-g", "--group", type=str, default="1dc", help="hosts group to run on"
"-g", "--group", type=str, default="reg", help="hosts group to run on"
)
parser.add_argument(
"--me", type=str, default="host0", help="main script runner's host nickname"
Expand Down Expand Up @@ -397,6 +397,7 @@ def launch_servers(
# print_manager_t.start()

# then launch server replicas
print("Launching server processes...")
server_procs = launch_servers(
remotes,
ipaddrs,
Expand Down
10 changes: 1 addition & 9 deletions scripts/local_clients.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ def run_clients(
capture_stdout,
pin_cores,
use_veth,
base_idx,
timeout_ms,
):
if num_clients < 1:
Expand Down Expand Up @@ -158,12 +157,6 @@ def run_clients(
parser.add_argument(
"--use_veth", action="store_true", help="if set, use netns and veth setting"
)
parser.add_argument(
"--base_idx",
type=int,
default=0,
help="idx of the first client for calculating ports",
)
parser.add_argument(
"--timeout_ms", type=int, default=5000, help="client-side request timeout"
)
Expand Down Expand Up @@ -281,7 +274,6 @@ def run_clients(
capture_stdout,
args.pin_cores,
args.use_veth,
args.base_idx,
args.timeout_ms,
)

Expand Down Expand Up @@ -310,7 +302,7 @@ def run_clients(
rcs.append(client_proc.returncode)
except subprocess.TimeoutExpired:
if args.expect_halt: # mainly for failover experiments
print("WARN: getting expected halt, exitting...")
print("WARN: getting expected halt, exiting...")
sys.exit(0)
raise RuntimeError(f"some client(s) timed-out {timeout} secs")

Expand Down
33 changes: 14 additions & 19 deletions scripts/remote_hosts.toml
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
# (DON'T CHANGE) remote base path and project repo folder name
base_path = "/eval"
base_path = "/home/smr"
repo_name = "summerset"

# (SET PROPERLY) for each group, its username @ DNS domain names
[1dc]
# (SET PROPERLY) for each group, its DNS domain names
[reg]
host0 = "domain.cloudlab.us"
host1 = "domain.cloudlab.us"
host2 = "domain.cloudlab.us"
host3 = "domain.cloudlab.us"
host4 = "domain.cloudlab.us"

host0 = "[email protected]"
host1 = "[email protected]"
host2 = "[email protected]"
# host3 = "[email protected]"
# host4 = "[email protected]"
# host5 = "[email protected]"
# host6 = "[email protected]"
# host7 = "[email protected]"
# host8 = "[email protected]"

# [wan]
# host0 = "[email protected]"
# host1 = "[email protected]"
# host2 = "[email protected]"
# host3 = "[email protected]"
# host4 = "[email protected]"
[wan]
host0 = "domain.cloudlab.us"
host1 = "domain.cloudlab.us"
host2 = "domain.cloudlab.us"
host3 = "domain.cloudlab.us"
host4 = "domain.cloudlab.us"
2 changes: 1 addition & 1 deletion scripts/remote_iperf.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def ping_test(remotes, domains, na, nb):

parser = argparse.ArgumentParser(allow_abbrev=False)
parser.add_argument(
"-g", "--group", type=str, default="1dc", help="hosts group to run on"
"-g", "--group", type=str, default="reg", help="hosts group to run on"
)
args = parser.parse_args()

Expand Down
62 changes: 42 additions & 20 deletions scripts/remote_killall.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,40 @@
TOML_FILENAME = "scripts/remote_hosts.toml"


def killall_on_targets(destinations, cd_dir, chain=False):
cmd = ["./scripts/kill_all_procs.sh", "incl_distr"]
if chain:
pass # placeholder line
def compose_kill_cmds(chain=False, cockroach=False, zookeeper=False, etcd=False):
cmds = [["./scripts/kill_all_procs.sh", "incl_distr"]]
return cmds

print("Running kill commands in parallel...")
procs = []
for remote in destinations:
procs.append(
utils.proc.run_process_over_ssh(
remote,
cmd,
cd_dir=cd_dir,
capture_stdout=True,
capture_stderr=True,
)
)

print("Waiting for command results...")
utils.proc.wait_parallel_procs(procs)
def killall_on_targets(
destinations, cd_dir, chain=False, cockroach=False, zookeeper=False, etcd=False
):
cmds = compose_kill_cmds(
chain=chain, cockroach=cockroach, zookeeper=zookeeper, etcd=etcd
)
for cmd in cmds:
print("Running kill commands in parallel...")
procs = []
for remote in destinations:
procs.append(
utils.proc.run_process_over_ssh(
remote,
cmd,
cd_dir=cd_dir,
capture_stdout=True,
capture_stderr=True,
)
)
print("Waiting for command results...")
utils.proc.wait_parallel_procs(procs)


if __name__ == "__main__":
utils.file.check_proper_cwd()

parser = argparse.ArgumentParser(allow_abbrev=False)
parser.add_argument(
"-g", "--group", type=str, default="1dc", help="hosts group to run on"
"-g", "--group", type=str, default="reg", help="hosts group to run on"
)
parser.add_argument(
"-t",
Expand All @@ -48,6 +54,15 @@ def killall_on_targets(destinations, cd_dir, chain=False):
parser.add_argument(
"--chain", action="store_true", help="if set, kill ChainPaxos processes"
)
parser.add_argument(
"--cockroach", action="store_true", help="if set, kill CockroachDB processes"
)
parser.add_argument(
"--zookeeper", action="store_true", help="if set, kill ZooKeeper processes"
)
parser.add_argument(
"--etcd", action="store_true", help="if set, kill etcd processes"
)
args = parser.parse_args()

base, repo, _, remotes, _, _ = utils.config.parse_toml_file(
Expand All @@ -66,4 +81,11 @@ def killall_on_targets(destinations, cd_dir, chain=False):
if len(destinations) == 0:
raise ValueError(f"targets list is empty")

killall_on_targets(destinations, f"{base}/{repo}", args.chain)
killall_on_targets(
destinations,
f"{base}/{repo}",
args.chain,
args.cockroach,
args.zookeeper,
args.etcd,
)
Loading
Loading