DST-shadow
Go to file
ufarooqstatus 085867ade4 simulation scripts for gossipsub research, automated run support for variable network/message size and fragments. Awk scripts for detailed insights 2024-02-12 14:53:07 +05:00
nimbledeps Add shadow node 2023-09-01 10:12:05 +02:00
shadow simulation scripts for gossipsub research, automated run support for variable network/message size and fragments. Awk scripts for detailed insights 2024-02-12 14:53:07 +05:00
tools Add shadow node 2023-09-01 10:12:05 +02:00
.gitignore Add shadow node 2023-09-01 10:12:05 +02:00
LICENSE Initial commit 2023-08-10 11:42:46 +02:00
README.md simulation scripts for gossipsub research, automated run support for variable network/message size and fragments. Awk scripts for detailed insights 2024-02-12 14:53:07 +05:00
test_node.nimble Add shadow node 2023-09-01 10:12:05 +02:00

README.md

dst-gossipsub-test-node

  • DST gossipsub test node
  • incl shadow simulation setup

Shadow example

nimble install -dy

cd shadow
#the run.sh script is automated to meet different experiment needs, use ./run.sh <num_runs num_peers msg_size num_fragments>
#The below example runs the simulation twice for a 500 node network. each publisher publishes a 2000 bytes messages, and messages are not fragmented  

./run.sh 2 500 2000 1
# The number of nodes is maintained in the shadow.yaml file, and automatically updated by run.sh.
# The output files latencies(x), stats(x) and shadowlog(x) carries the outputs for each simulation run.
# The summary_dontwant.awk, summary_latency.awk, summary_latency_large.awk, and summary_shadowlog.awk parse the output files.
# The run.sh script automatically calls these files to display the output
# a temperary data.shadow folder is created for each simulation and removed by the run.sh after the simulation is over

# you can use the plotter tool to extract useful metrics & generate a graph
cd ../tools
nim -d:release c plotter
./plotter ../shadow/latencies "Clever graph name"
# will output averages, and generate a "test.svg" graph

The dependencies will be installed in the nimbledeps folder, which enables easy tweaking