Skip to content

Commit 6cd46d5

Browse files
committed
Update files for artifact eval
1 parent d4659c6 commit 6cd46d5

File tree

9 files changed

+197
-4
lines changed

9 files changed

+197
-4
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,24 @@ Every experiment has its own configuration files. The following are the current
3838
* **parameters.yaml**: configurable parameters for each experiment. The comments explain what each configurable variable does.
3939

4040
Feel free to change the files to add a new experiment.
41+
42+
### Example Experiment
43+
To run the example experiment, follow these steps:
44+
45+
1. Navigate to the example experiment directory:
46+
```bash
47+
cd experiments/example/functional
48+
```
49+
50+
2. Update the configuration files with your server details:
51+
- Edit `hosts` file: Replace `ip.ip.ip.ip` with your server's IP address
52+
- Edit `shardnode_endpoints.yaml`: Update both `exposed_ip` and `local_bind_ip` with your server's IP address and local bind ip address
53+
54+
3. Return to the experiments directory:
55+
56+
4. Run the example experiment:
57+
```bash
58+
./run_experiments.sh example
59+
```
60+
61+
This will automatically deploy the system to your server and run the experiment, collecting the results in the `experiments/example/functional/` directory.

experiments/example/functional/hosts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
host0 ansible_host=ip.ip.ip.ip ansible_user=user
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
endpoints:
2+
- exposed_ip: ip.ip.ip.ip # edit here
3+
local_bind_ip: ip.ip.ip.ip # edit here
4+
deploy_host: host0
5+
port: 1851
6+
id: 0
7+
replicaid: 0
8+
raftport: 1227
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
max-blocks-to-send: 400 # The maximum number of blocks to send from each shard node to the oram node during evictions
2+
eviction-rate: 100 # How many ReadPath operations before eviction
3+
evict-path-count: 200 # How many paths to evict at a time
4+
batch-timeout: 0.1 # How many milliseconds to wait before sending a batch of blocks to the oram node
5+
epoch-time: 0.1 # How many milliseconds between each epoch
6+
trace: false # Whether to use opentelemetry and jaeger
7+
Z: 1 # number of real blocks per bucket
8+
S: 6 # number of dummy blocks per bucket
9+
shift: 1 # 2^shift is the tree branching factor
10+
tree-height: 18 # height of the tree
11+
redis-pipeline-size: 3000000 # number of requests to pipeline to redis
12+
max-requests: 2000 # maximum number of requests in flight at the client
13+
block-size: 1024 # size of each block in bytes
14+
log: false # whether to log
15+
profile: false # Whether to profile
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
endpoints:
2+
- exposed_ip: ip.ip.ip.ip # edit here
3+
local_bind_ip: ip.ip.ip.ip # edit here
4+
deploy_host: host0
5+
port: 6379
6+
id: 0
7+
oramnode_id: 0
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
endpoints:
2+
- exposed_ip: ip.ip.ip.ip # edit here
3+
local_bind_ip: ip.ip.ip.ip # edit here
4+
deploy_host: host0
5+
port: 8845
6+
id: 0
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
endpoints:
2+
- exposed_ip: ip.ip.ip.ip # edit here
3+
local_bind_ip: ip.ip.ip.ip # edit here
4+
deploy_host: host0
5+
port: 8848
6+
id: 0
7+
replicaid: 0
8+
raftport: 3224
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
SET user5223880262323894244 test_value
2+
SET user4172692673313245204 test_value
3+
SET user2282216211967572076 test_value
4+
SET user3936243125517000951 test_value
5+
SET user5358848318583751819 test_value
6+
GET user3705381365546463392
7+
GET user5817347222824138717
8+
GET user3710627508077871521
9+
GET user8029797980690376506
10+
SET user8747959027605504179 test_value
11+
GET user658887877876609644
12+
SET user8415834091316421825 test_value
13+
SET user2051354451997034517 test_value
14+
SET user8627391162697748212 test_value
15+
GET user7798594575425540382
16+
GET user5007637008923300176
17+
GET user5797482573722787097
18+
GET user4520337721978710062
19+
GET user5107998579435405958
20+
GET user8305758511471482116
21+
GET user879598998078629510
22+
GET user3107446538244793121
23+
GET user1950091275678489722
24+
GET user3821481363652793561
25+
GET user2780007783974978448
26+
SET user8265687567974480311 test_value
27+
GET user1226902401449795803
28+
SET user4389837532520278285 test_value
29+
GET user2519225720275956777
30+
SET user6878248821167621684 test_value
31+
GET user784141924803633292
32+
GET user3700353538232897146
33+
SET user8984408575401748432 test_value
34+
GET user412506005529689581
35+
GET user3362982459412406663
36+
GET user1573987489603120213
37+
SET user7817899264014751554 test_value
38+
SET user1689309211979468051 test_value
39+
GET user1573987489603120213
40+
GET user8029797980690376506
41+
SET user4153387984724034032 test_value
42+
GET user7229460130828073327
43+
GET user5807414898273462907
44+
SET user648395592813793386 test_value
45+
SET user7089245932036807623 test_value
46+
GET user4288574356201733490
47+
SET user4294162144027440184 test_value
48+
GET user6978610391679727466
49+
GET user2760361450091468711
50+
SET user3218082078601873278 test_value
51+
SET user5470603779965112872 test_value
52+
SET user2056818909746284529 test_value
53+
SET user774209600252957482 test_value
54+
GET user1236616410782629730
55+
GET user412506005529689581
56+
GET user3826167545672061242
57+
SET user3820703087922811230 test_value
58+
GET user784141924803633292
59+
SET user3820703087922811230 test_value
60+
GET user7239392455378749137
61+
GET user3589717997875816989
62+
SET user623503116398875520 test_value
63+
GET user4153387984724034032
64+
SET user2543558236178734195 test_value
65+
GET user75353241927040981
66+
GET user7934122592197538405
67+
SET user6772299462829809208 test_value
68+
SET user4042752444366953875 test_value
69+
GET user7812994766777641990
70+
GET user7461223496605049899
71+
SET user5233812586874570054 test_value
72+
SET user1573987489603120213 test_value
73+
GET user5817347222824138717
74+
SET user8632637305229156341 test_value
75+
SET user8164424391655935516 test_value
76+
GET user2754896992342218699
77+
GET user5450397485569462687
78+
GET user2307108688382489942
79+
GET user1463133634028198173
80+
SET user4987430714527649991 test_value
81+
SET user1573987489603120213 test_value
82+
GET user6772299462829809208
83+
GET user2519225720275956777
84+
GET user1361870457709653378
85+
GET user518113718573203492
86+
SET user4153387984724034032 test_value
87+
SET user2166894489591224238 test_value
88+
SET user5561033025926542844 test_value
89+
SET user2745182983009384772 test_value
90+
SET user6400663543555865497 test_value
91+
GET user296282677346902730
92+
GET user9119936592173746455
93+
GET user5113244721966814087
94+
SET user6520889763169322899 test_value
95+
SET user2277530029948304395 test_value
96+
SET user296282677346902730 test_value
97+
SET user8522343410166374749 test_value
98+
SET user533073870437445548 test_value
99+
SET user8160298170148808283 test_value
100+
SET user5122958731299648014 test_value

experiments/run_experiments.sh

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,19 @@ do_all_experiments_exist() {
4848
return 0
4949
}
5050

51+
# Arguments:
52+
# $1: optional experiment group name (if not provided, runs all groups)
5153
run_experiments() {
52-
for experiment_group in $(pwd)/*
53-
do
54+
local experiment_group_arg=$1
55+
56+
if [ -n "$experiment_group_arg" ]; then
57+
# Run only the specified experiment group
58+
local experiment_group=$(pwd)/$experiment_group_arg
59+
if [ ! -d "$experiment_group" ]; then
60+
echo "Experiment group '$experiment_group_arg' not found"
61+
return 1
62+
fi
63+
5464
for experiment in $experiment_group/*
5565
do
5666
if do_all_experiments_exist $experiment -eq 0 ; then
@@ -62,7 +72,24 @@ run_experiments() {
6272
run_experiment_N_times $experiment
6373
fi
6474
done
65-
done
75+
else
76+
# Run all experiment groups (original behavior)
77+
for experiment_group in $(pwd)/*
78+
do
79+
for experiment in $experiment_group/*
80+
do
81+
if do_all_experiments_exist $experiment -eq 0 ; then
82+
echo "All experiments already exist for $(basename $experiment)"
83+
continue
84+
fi
85+
if [ -d $experiment ]; then
86+
deploy_the_system $experiment
87+
run_experiment_N_times $experiment
88+
fi
89+
done
90+
done
91+
fi
6692
}
6793

68-
run_experiments
94+
# Pass the first command line argument to run_experiments
95+
run_experiments "$1"

0 commit comments

Comments
 (0)