66 Commits

Author SHA1 Message Date
Youngjoon Lee
0ef5c3cfdb
log topology 2024-12-18 15:23:03 +09:00
Youngjoon Lee
fcc0b8d907
add function to calculate longest path len 2024-12-18 12:04:24 +09:00
Youngjoon Lee
be304046dd
fix(blend): ensure all nodes are connected and have the same peering degree (#64)
* fix(blendnet): ensure all nodes are connected and have the same peering degree

* cover the case where it is impossible to ensure all nodes have the same num of conns
2024-12-14 00:42:23 +09:00
Youngjoon Lee
45a2152bba
refactor(blendnet): rename mix to blend (#63)
* rename mix to blend

* update ci

* add missing dir
2024-12-13 13:31:28 +09:00
gusto
8ef0adc996
Add top level readme (#59) 2024-12-03 14:12:47 +02:00
Youngjoon Lee
2460174def
Rename mixnet-sims to blendnet-sims (#60)
* Rename `mixnet-sims` to `blendnet-sims`

* Rename `mixnet-sims` to `blendnet-sims`
2024-12-03 21:01:04 +09:00
Youngjoon Lee
80bbdf7fbe
Move /scripts to /simlib/mixnet-sims/ (#58) 2024-12-03 20:39:59 +09:00
Youngjoon Lee
2b99275058
Deprecate mixnet v1 component simulations (#57) 2024-12-03 20:39:46 +09:00
Youngjoon Lee
c600ebd304
Update mix python script for new log format (#53)
* Update mix python script for new log format

* remove unused imports
2024-11-21 15:52:27 +09:00
Youngjoon Lee
9740035f85
Add README for mix simulation and scripts (#56) 2024-11-18 15:37:00 +09:00
Youngjoon Lee
319450ed59
Add mix emission analysis (#55) 2024-11-18 10:31:27 +09:00
Youngjoon Lee
091a60ae4e
print node ID as integer in logging (#54) 2024-11-15 11:19:28 +09:00
Youngjoon Lee
590e9c289f
Remove log of immediate forwardings (#52) 2024-11-15 11:19:04 +09:00
gusto
769ba42f85
Make cache optional (#51) 2024-11-13 03:55:13 +01:00
Álex
424585dd2a
Implement message parser and average latency calculator. (#38)
* Implement message parser and average latency calculator.

* Fix node_id type parsing, add more stats.

* Add more stats, slight refactor.

* Remove unnecessary class

* Improve naming.

* Adapt to new log format
2024-11-09 11:54:10 +09:00
gusto
5adb0a1ad6
Min max and avg total bandwidth per node (#50) 2024-11-09 11:53:54 +09:00
Youngjoon Lee
97cbd536f4
log emissions (#48) 2024-11-09 11:48:44 +09:00
Daniel Sanchez
cffd93ece9
Use chacha12 instead of smallrng (#49) 2024-11-09 03:47:11 +01:00
Youngjoon Lee
29ce6e953e
Fix cache (#47)
Co-authored-by: Daniel Sanchez Quiros <sanchez.quiros.daniel@gmail.com>
2024-11-09 11:36:40 +09:00
Youngjoon Lee
b66d7abf9d
Add msg type in the log (#46) 2024-11-09 11:36:26 +09:00
Youngjoon Lee
a25bc27d09
Add number_of_hops (for cover traffic) in config (#45) 2024-11-09 11:36:09 +09:00
Youngjoon Lee
fbb37a4317
Make Interval immediately release at the first interval (#44)
* wip

* fix tests
2024-11-09 11:35:54 +09:00
gusto
f97136bda6
Add network data to runtime results (#43) 2024-11-08 12:44:19 +02:00
Youngjoon Lee
8147b7d718
Use logging instead of storing payload IDs in state (#42) 2024-11-08 19:14:27 +09:00
Youngjoon Lee
8c3c723710
Change configuration values in the sample file (#41) 2024-11-08 18:13:13 +09:00
Youngjoon Lee
5a0412ff83
Measure both data and cover message counts (#40) 2024-11-08 18:00:25 +09:00
Youngjoon Lee
2e85190a22
Use TimedCache to avoid OOM (#39)
* use TimedCache to avoid OOM

* add comment
2024-11-08 17:42:21 +09:00
Daniel Sanchez
c220497ffb
Extract node configuration to simulation settings (#36)
* Extract node configuration to simulation settings

* Pipe settings and create mixnode setttings

* Update config with human readable parsing
2024-11-08 07:31:51 +01:00
Álex
8faafcfb6f
Add tests to timer streams and interval (#29)
* Add timer tests

* Add tests for timers and intervals.

---------

Co-authored-by: Daniel Sanchez <3danimanimal@gmail.com>
2024-11-08 06:25:27 +01:00
Youngjoon Lee
631c1a6916
Store PayloadIds in the state to measure latency (#34)
* Store `MessageId`s in the state to measure latency

* Use String for PayloadId
2024-11-08 06:25:13 +01:00
Daniel Sanchez
21d648b7ff
Serialize node id as index (#35) 2024-11-08 05:40:23 +01:00
Youngjoon Lee
fb1894fb8c
Exclude peer who forwarded a message when forwarding the message (#32)
Co-authored-by: Daniel Sanchez <3danimanimal@gmail.com>
2024-11-08 05:20:30 +01:00
Daniel Sanchez
3d1bd0dc18
Include cover traffic (#31)
* Include cover traffic

* Remove branch from cargo

* Fix sim configuration

* Fix rebase

* Clippy happy
2024-11-08 05:09:46 +01:00
gusto
786942ad70
Simlib tracing level (#33)
* Ignore cargo.lock

* Add trace level and keep worker guard
2024-11-08 04:57:00 +02:00
Youngjoon Lee
6bc6193e7a
Immediate forwarding (#30)
* Immediate forwarding

* use uuid instead of payload datastructure
2024-11-08 11:14:30 +09:00
Youngjoon Lee
26f7db8322
use num_messages_broadcasted for warding; (#28)
Co-authored-by: Gusto <bacvinka@gmail.com>
2024-11-08 10:15:18 +09:00
Daniel Sanchez
ff2c1b4271
Restructure crates (#24)
* Rename to netrunner

* Refactor sims structure

* Add missing workspace cargo

* Rebase changes

* Rebase changes

* Rebase changes

* Fix tests
2024-11-07 06:05:56 +01:00
gusto
810ec02ee9
Netrunner alanyzable node (#27)
* Analyze method in node trait

* Sum ward condition
2024-11-07 05:49:06 +01:00
Youngjoon Lee
b0b7bdd7fd
Disable drop messages (#26) 2024-11-07 05:44:00 +01:00
Youngjoon Lee
1efc5d9c0d
Generate data message by running stake lottery (#25)
Co-authored-by: Daniel Sanchez <3danimanimal@gmail.com>
2024-11-07 05:43:46 +01:00
Álex
5ab816a3b7
Implement Epoch and Slot streams. (#22) 2024-11-07 05:36:14 +01:00
Youngjoon Lee
fbd114f724
Count # of messages broadcasted by each node (#21) 2024-11-07 11:55:02 +09:00
Youngjoon Lee
9d997e2b54
Generate message with dummy probability (#20) 2024-11-07 11:50:07 +09:00
gusto
29f78e026e
Add mix protocol Tier 1 & 2 (#19) (#18)
* Added temporal trigger streams

* add persistent transmission + message blend

---------

Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
Co-authored-by: Alejandro Cabeza Romero <alex93cabeza@gmail.com>
2024-11-07 04:01:23 +02:00
Youngjoon Lee
1dcfc5aabc
Add mix protocol Tier 1 & 2 (#19)
* Added temporal trigger streams

* add persistent transmission + message blend

---------

Co-authored-by: Alejandro Cabeza Romero <alex93cabeza@gmail.com>
2024-11-06 22:52:15 +09:00
gusto
32d41d45b1
Record fields for mixnode state (#17) 2024-11-06 06:14:29 +02:00
gusto
20f23f09ea
Empty mixnode in sim binary (#16)
* Empty mixnode in sim binary

* Add mixnode settings

* Network interface in the mixnode

* Runnable empty mixnode sim

* Use network interface and add readme

---------

Co-authored-by: Daniel Sanchez Quiros <sanchez.quiros.daniel@gmail.com>
2024-11-06 11:40:38 +09:00
Daniel Sanchez Quiros
c1b6649bd2 Remove unused overlay leftovers 2024-11-05 17:43:34 +07:00
gusto
09d99c0831
Add simulation engine
First stage of adding the simulation engine that was living in older versions of nomos-nod. It will change in the future generalising it for better compatibility.
2024-11-05 11:13:21 +01:00
Youngjoon Lee
c3a04ab206
Mixnet: Add ordering session 2 (experiment 7) (#14) 2024-09-25 10:24:32 +09:00