Csaba Kiraly
0a418b35b2
parametrize dumbRandomScheduler
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-24 10:43:45 +01:00
Csaba Kiraly
a03371cf4e
add logging of TX and RX statistics
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-24 10:43:45 +01:00
Csaba Kiraly
300bc19c67
factorize send code
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-24 08:55:34 +01:00
Csaba Kiraly
fa1818a43b
simplify code
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-24 08:43:18 +01:00
Csaba Kiraly
ead127e73e
change defaults to queue per p2p link
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-24 08:42:35 +01:00
Csaba Kiraly
89a6b1cdf7
remove old scheduler
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-24 00:35:17 +01:00
Csaba Kiraly
2707269836
fixup: moving simulator config to resetShape
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 22:21:16 +01:00
Csaba Kiraly
dfacd6bb18
allow push from non-neighbor
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:28:41 +01:00
Csaba Kiraly
b33f829b0e
proposer might push segments without participating in mesh
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:28:41 +01:00
Csaba Kiraly
186d430ad1
consider shuffleLines in segmentShuffleScheduler
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:28:40 +01:00
Csaba Kiraly
a1a8a4282d
fix scheduler to check result of endSegmentToNeigh
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:53 +01:00
Csaba Kiraly
c0650bf75a
implement partial line sending logic
...
On any given p2p link, it only makes sense to send up to
k messages, after that repair kicks in.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:53 +01:00
Csaba Kiraly
e70740f530
handle duplicates in receiveRow/Column
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:53 +01:00
Csaba Kiraly
f91f3da5d2
fixup: segmentShuffleScheduler
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:53 +01:00
Csaba Kiraly
bb55abe2b0
comments only
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:52 +01:00
Csaba Kiraly
54d101e5b8
segmentShuffleScheduler: persist scheduler state between timesteps
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:52 +01:00
Csaba Kiraly
cd2b69149b
add segmentShuffleScheduler
...
This scheduler check which owned segments needs sending (at least
one neighbor needing it). Then it sends each segment that's worth sending
once, in shuffled order. This is repeated until bw limit.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:52 +01:00
Csaba Kiraly
655f3a6642
fix: avoid looking into the future
...
Checking neigh.receiving is cheating in the current model.
If the timeslot is small, information can't propagate that fast.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:52 +01:00
Csaba Kiraly
af72e58d08
collect receivedQueue only if it is used later
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:52 +01:00
Csaba Kiraly
1669ec9236
more debug logging
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:27:49 +01:00
Csaba Kiraly
5383c59f6f
add shuffleLines and shuffleNeighbors params
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:25:15 +01:00
Csaba Kiraly
d0641e4568
add repairOnTheFly parameter
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:25:09 +01:00
Csaba Kiraly
f05c3cd233
fix queuing: should queue after repair
...
If operation is based on send queues, segments should
be queued after successful repair.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:21:56 +01:00
Csaba Kiraly
dff0e5523a
factorize addToSendQueue
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:15:45 +01:00
Csaba Kiraly
0c91eff67b
add dumbRandomScheduler parameter
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:15:45 +01:00
Csaba Kiraly
b7dab5bad9
fix sendSegmentToNeigh: specify dimension
...
Specify along which dimension (row/column) a segment was
sent.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:15:39 +01:00
Csaba Kiraly
23e40693f1
add perNeighborQueue option
...
If enabled, queue incoming messages to outgoing connections on arrival,
as typical in some GossipSub implementations.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:13:39 +01:00
Csaba Kiraly
7c0fcaba78
add validator.perNodeQueue conf option
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:13:39 +01:00
Csaba Kiraly
f67c70896c
add to receivedQueue also in row/column receive code
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:13:39 +01:00
Csaba Kiraly
9ab51278c8
add shuffledDict helper
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:13:39 +01:00
Csaba Kiraly
1403ca7ad0
add random scheduler
2023-02-23 21:13:39 +01:00
Csaba Kiraly
0f4883bf26
add node level send queue
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:13:35 +01:00
Csaba Kiraly
382954de02
add segment level send/receive
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:09:59 +01:00
Csaba Kiraly
3fc7455c0b
reduce default BW to more interesting values
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:09:59 +01:00
Csaba Kiraly
3917001e6a
send one segment at a time
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:09:59 +01:00
Csaba Kiraly
eb277d9b43
limit batchsize of sending from a line
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:09:59 +01:00
Csaba Kiraly
07437ddde8
fixup bwUplink check (still approximate)
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:08:26 +01:00
Csaba Kiraly
bb8d05257b
WIP: initial implementation of uplink bandwidth limit
...
- approximate: BW is not handled strict, entire rows are sent and can go over limit
- WIP: work in progress implementation
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 21:08:17 +01:00
HajarZaiz
7ae66810f7
vis class
2023-02-23 14:37:45 +01:00
Leonardo Bautista-Gomez
6e42055cb9
Add some more configuration parameters and some more testing
2023-02-23 12:17:57 +01:00
Leo
c3a9eb6b4d
Merge pull request #15 from status-im/fix-small-graph
...
set up complete graph if n<=d
2023-02-23 10:18:09 +01:00
Leo
edb4912dd5
Merge pull request #14 from status-im/log-steps
...
Log steps
2023-02-23 09:46:55 +01:00
Csaba Kiraly
763ebfe136
set up complete graph if n<=d
...
If the number of nodes in a channel is smaller or equal than the
requested degree, a fully connected graph is used. For n>d, a random
d-regular graph is set up. (For n=d+1, the two are the same.)
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 09:06:57 +01:00
Csaba Kiraly
e5c657e31e
more debug logging
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-23 09:04:51 +01:00
Csaba Kiraly
2775d180f1
debug log neighborhood of producer as well
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-22 21:48:11 +01:00
Csaba Kiraly
8c9ddcca55
add debug logging of topology
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-22 21:48:03 +01:00
Csaba Kiraly
22e4c89989
fix: column IDs matching row IDs
...
Fixes a simple copy paste error.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-22 21:46:36 +01:00
Leonardo Bautista-Gomez
93c318028b
Add visualizer class
2023-02-22 16:45:39 +01:00
Leonardo Bautista-Gomez
d5e7ae7ea7
Fix net degree bug
2023-02-22 14:49:46 +01:00
Leonardo Bautista-Gomez
09569422ab
Documenting the DAS package for automatic generation with sphinx. First version.
2023-02-15 15:06:42 +01:00
Leonardo Bautista-Gomez
cf780b3ca3
Starting code documentation
2023-02-08 22:45:01 +01:00
Leonardo Bautista-Gomez
6334d1c779
Removing static variables
2023-02-08 20:10:26 +01:00
Leonardo Bautista-Gomez
b64fe7b383
Merging changes from 'develop' branch into 'results' branch
2023-02-08 15:01:50 +01:00
Csaba Kiraly
03813b36bc
fix receive info propagation
...
Make sure info about what is being sent is not propagated too fast.
In this base model, a node knows that something was sent after one
timestep. This requires keeping separating receiving from received and
updating only once per timestep.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-03 12:44:26 +01:00
Csaba Kiraly
50a210ad99
simplify send code and loop
...
Treat send in block proposer as in validators to simplify
code and fix steps. Previously first step included first two
timelots: initial send by block proposer and first send by
validators.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-03 12:44:07 +01:00
Csaba Kiraly
6c6e10b81f
add tx/rx troughput statistics
...
Collect statistics about Tx/Rx troughput, per timeslot and per node.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-03 11:30:28 +01:00
Csaba Kiraly
ad11214e2d
improved logging
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-03 11:30:25 +01:00
Csaba Kiraly
c97dd58d76
keep track of sent and received samples per neighbor
...
Keeps track of sent and received samples per line per neighbor.
Only send what wasn't yet sent or wasn't received from the other side.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-03 11:28:20 +01:00
Csaba Kiraly
b38d8e13ae
add Neighbor class as placeholder
...
Placeholder for per-negighbor structures
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-03 11:25:35 +01:00
Csaba Kiraly
fd59f44143
send line only if it has changed
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-02-03 11:22:19 +01:00
Leonardo Bautista-Gomez
66824aedc6
Adding XML dump of results
2023-01-25 21:51:59 +01:00
Leonardo Bautista-Gomez
fc7339dc91
Add configuration file, split configuration from simulation shape, fix bug about network degree and unbalanced row/column verification
2023-01-23 18:04:54 +01:00
leobago
bf1a5a60e4
Adding multidimensional simulator and results module to gather data for visualization.
2023-01-16 22:43:52 +01:00
leobago
e8e82d7460
Adding configuration class
2023-01-13 16:51:27 +01:00
leobago
beabafba45
Adding failure rate logging
2023-01-11 17:20:19 +01:00
leobago
d723cb1bc5
Update requirements
2023-01-11 12:50:23 +01:00
Csaba Kiraly
faa2954893
simpliy sendRow and sendColumn calls
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-20 12:46:46 +01:00
Csaba Kiraly
7d79879f66
fix logging of rows and columns
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-20 11:26:54 +01:00
Csaba Kiraly
7a5f67ff31
add per-node state and per-channel network
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-20 11:23:58 +01:00
Csaba Kiraly
db61300c46
block: handle merge and repair
...
Handle marge and row/column repair directly in the block data
structure.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-20 10:09:54 +01:00
Leonardo Bautista-Gomez
bb54a1cf31
Add requirements file
2022-12-14 17:16:22 +01:00
Csaba Kiraly
accbc3eff9
simplify code
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-12 13:41:41 +01:00
Csaba Kiraly
4179841c89
change checkRestore to restore
...
We are not simulating data errors, so no need to check.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-12 13:41:41 +01:00
Csaba Kiraly
26ba6a38f7
speed up restoration
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-12 13:41:40 +01:00
Csaba Kiraly
a07be50727
change to bitmaps
...
It is faster to store and process data availability as bitmaps.
It is also enough, as we will not do anything with the data itself.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-12 13:41:40 +01:00
Csaba Kiraly
b48fb6f791
use column and row accessors
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-07 15:14:36 +01:00
Csaba Kiraly
8da447ac5a
add column and row accessors
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-07 15:10:44 +01:00
Csaba Kiraly
13580cd44d
pick row/column IDs without replacement
...
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-12-07 10:59:41 +01:00
Leonardo Bautista-Gomez
0c79ddbf6f
Restructure package
2022-11-30 15:28:27 +01:00