Skip to content

Commit 004ed7f

Browse files
committed
update run script
1 parent 1b25ae6 commit 004ed7f

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

run_parallel_enclave.sh

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#!/bin/zsh
2+
3+
# Parse command line arguments
4+
SEQUENTIAL=false
5+
num_services=3 # Default value
6+
7+
while [[ $# -gt 0 ]]; do
8+
case $1 in
9+
--sequential)
10+
SEQUENTIAL=true
11+
shift
12+
;;
13+
--num-services)
14+
num_services="$2"
15+
shift 2
16+
;;
17+
*)
18+
echo "Unknown option: $1"
19+
echo "Usage: $0 [--sequential] [--num-services <number>]"
20+
exit 1
21+
;;
22+
esac
23+
done
24+
dkt enclave rm parallel-enclave --force
25+
26+
dkt enclave add --api-container-version $(get-devc-img "tag") --name parallel-enclave
27+
28+
dkt run ~/craft/ethereum-package/ --enclave parallel-enclave --args-file ~/craft/ethereum-package/args.yml --non-blocking-tasks
29+
# kt run ~/craft/ethereum-package/ --enclave parallel-enclave --args-file ~/craft/ethereum-package/args.yml --parallelism 1 --non-blocking-tasks # runs sequentially
30+
31+
# if [ "$SEQUENTIAL" = true ]; then
32+
# echo "Running in sequential mode..."
33+
# dkt run /Users/tewodrosmitiku/craft/sandbox/tests/ --enclave parallel-enclave --parallelism 1 --non-blocking-tasks
34+
# else
35+
# echo "Running in parallel mode..."
36+
# dkt run /Users/tewodrosmitiku/craft/sandbox/tests/ --enclave parallel-enclave --non-blocking-tasks
37+
# fi
38+
39+
# use docker to find the container id of the api container for parallel enclave
40+
# then docker the file /tmp/dependency.dot on that containres to ~/Users/tewodrosmitiku/craft/graphs/dependency.dot
41+
docker cp $(docker ps -q --filter "name=kurtosis-api--" | head -n 1):/tmp/dependency.dot ~/craft/graphs/dependency.dot
42+
docker cp $(docker ps -q --filter "name=kurtosis-api--" | head -n 1):/tmp/execution.txt ~/craft/graphs/execution.txt
43+
docker cp $(docker ps -q --filter "name=kurtosis-api--" | head -n 1):/tmp/instruction_durations.json ~/craft/graphs/instruction_durations.json
44+
docker cp $(docker ps -q --filter "name=kurtosis-api--" | head -n 1):/tmp/run_starlark_package_cpu.prof ~/craft/sandbox/optimizations/run_starlark_package_cpu.prof
45+
docker cp $(docker ps -q --filter "name=kurtosis-api--" | head -n 1):/tmp/run_starlark_package_block.prof ~/craft/sandbox/optimizations/run_starlark_package_block.prof
46+
docker cp $(docker ps -q --filter "name=kurtosis-api--" | head -n 1):/tmp/run_starlark_package_mutex.prof ~/craft/sandbox/optimizations/run_starlark_package_mutex.prof
47+
48+
49+
dot -Tpng ~/craft/graphs/dependency.dot -o ~/craft/graphs/graph.png
50+
51+
# Get API container logs
52+
# save logs to a file with the current date and time
53+
filename=$(date +%Y-%m-%d_%H-%M-%S)
54+
55+
if [ "$SEQUENTIAL" = true ]; then
56+
docker logs $(docker ps -q --filter "name=kurtosis-api--" | head -n 1) &> /Users/tewodrosmitiku/craft/kurtosis/${filename}-sequential-apilogs.txt
57+
else
58+
docker logs $(docker ps -q --filter "name=kurtosis-api--" | head -n 1) &> /Users/tewodrosmitiku/craft/kurtosis/${filename}-parallel-apilogs.txt
59+
fi
60+
61+
# Get service IDs from container names
62+
# read_genesis_id=$(docker ps --format '{{.Names}}' | grep "read-genesis-validators-root" | sed 's/.*--\(.*\)/\1/')
63+
# read_osaka_id=$(docker ps --format '{{.Names}}' | grep "read-osaka-time" | sed 's/.*--\(.*\)/\1/')
64+
# check_if_osaka_id=$(docker ps --format '{{.Names}}' | grep "check-osaka-enabled" | sed 's/.*--\(.*\)/\1/')
65+
66+
# if [ "$SEQUENTIAL" = true ]; then
67+
# echo "read_genesis_id: ${read_genesis_id:0:10}" > /Users/tewodrosmitiku/craft/kurtosis/${filename}-sequential-times.txt
68+
# echo "read_osaka_id: ${read_osaka_id:0:10}" >> /Users/tewodrosmitiku/craft/kurtosis/${filename}-sequential-times.txt
69+
# echo "check_if_osaka_id: ${check_if_osaka_id:0:10}" >> /Users/tewodrosmitiku/craft/kurtosis/${filename}-sequential-times.txt
70+
# else
71+
# echo "read_genesis_id: ${read_genesis_id:0:10}" > /Users/tewodrosmitiku/craft/kurtosis/${filename}-parallel-times.txt
72+
# echo "read_osaka_id: ${read_osaka_id:0:10}" >> /Users/tewodrosmitiku/craft/kurtosis/${filename}-parallel-times.txt
73+
# echo "check_if_osaka_id: ${check_if_osaka_id:0:10}" >> /Users/tewodrosmitiku/craft/kurtosis/${filename}-parallel-times.txt
74+
# fi
75+
76+
# # # Extract timing metrics from API logs
77+
# if [ "$SEQUENTIAL" = true ]; then
78+
# source /Users/tewodrosmitiku/craft/kurtosis-parallelism-debugging/extract-times.sh /Users/tewodrosmitiku/craft/kurtosis/${filename}-sequential-apilogs.txt "${read_genesis_id}" "${read_osaka_id}" "${check_if_osaka_id}" &>> /Users/tewodrosmitiku/craft/kurtosis/${filename}-sequential-times.txt
79+
# else
80+
# source /Users/tewodrosmitiku/craft/kurtosis-parallelism-debugging/extract-times.sh /Users/tewodrosmitiku/craft/kurtosis/${filename}-parallel-apilogs.txt "${read_genesis_id}" "${read_osaka_id}" "${check_if_osaka_id}" &>> /Users/tewodrosmitiku/craft/kurtosis/${filename}-parallel-times.txt
81+
# fi
82+
83+
if [ "$SEQUENTIAL" = true ]; then
84+
source /Users/tewodrosmitiku/craft/kurtosis-parallelism-debugging/extract-times.sh /Users/tewodrosmitiku/craft/kurtosis/${filename}-sequential-apilogs.txt ${num_services} "sequential"
85+
else
86+
source /Users/tewodrosmitiku/craft/kurtosis-parallelism-debugging/extract-times.sh /Users/tewodrosmitiku/craft/kurtosis/${filename}-parallel-apilogs.txt ${num_services} "parallel"
87+
fi

0 commit comments

Comments
 (0)