57 Commits

Author SHA1 Message Date
Youngjoon Lee
240f76881d
add NoisyCoinFlippingRandomRelease 2024-08-19 05:56:39 +09:00
Youngjoon Lee
8074e6aa09
refactor: queue encapsulation 2024-08-19 05:54:20 +09:00
Youngjoon Lee
8e06695aa4
add session 3 2024-08-18 23:00:42 +09:00
Youngjoon Lee
0d9cabc329
add experiment5 2024-08-18 10:25:07 +09:00
Youngjoon Lee
21411d07d5
refactor: paramset construction 2024-08-18 10:02:40 +09:00
Youngjoon Lee
456fbd3f25
add --from-paramset 2024-08-17 23:45:17 +09:00
Youngjoon Lee
1e643ab38f
use rayon instead of tokio 2024-08-17 23:41:37 +09:00
Youngjoon Lee
5248c02f2e
use rustc-hash 2024-08-17 21:59:50 +09:00
Youngjoon Lee
740e6126b3
flush csv writer frequently to minimize mem usage 2024-08-17 21:48:40 +09:00
Youngjoon Lee
39491f30b7
opt-level max 2024-08-17 21:38:53 +09:00
Youngjoon Lee
a7ed744783
have msg_interval separate with transmission_interval 2024-08-17 21:35:03 +09:00
Youngjoon Lee
df72a01837
minimize mem usages 2024-08-17 09:37:17 +09:00
Youngjoon Lee
c60bde5a35
enhance logs 2024-08-17 09:00:40 +09:00
Youngjoon Lee
70d85a591f
do not use HashMap to make the result 100% deterministic 2024-08-17 08:39:03 +09:00
Youngjoon Lee
cd35121d5e
add queues 2024-08-17 03:41:46 +09:00
Youngjoon Lee
c7ac0340a3
use tokio for multithreading 2024-08-17 01:44:10 +09:00
Youngjoon Lee
c7b83c813d
paramset, args, csv 2024-08-17 00:24:26 +09:00
Youngjoon Lee
bd00f9dd3a
wip: working version 2024-08-16 20:56:16 +09:00
Youngjoon Lee
dbf1b78134
optimize: use generic for messages to reduce the size of msg cache in gossip and discard serde cost 2024-08-15 02:49:45 +09:00
Youngjoon Lee
3a2f3cc079
optimization: remove cache entry if the message has been received from all adjacent peers in the end 2024-08-14 16:52:18 +09:00
Youngjoon Lee
5aeecf45d9
fix optimization: put right messages to cache in nomssip 2024-08-14 16:40:52 +09:00
Youngjoon Lee
618705e252
use only transmission_rate=1 in session2.1 and ignore min_queue_size for some queue types when building paramsets 2024-08-14 11:55:17 +09:00
Youngjoon Lee
4bd1f5f159
fix: queuesim_stats: filter out topology csv files 2024-08-14 11:29:04 +09:00
Youngjoon Lee
bedf9b2ef3
store topology to csv file 2024-08-13 01:26:57 +09:00
Youngjoon Lee
befb52d014
optimize: exclude the node who sent the message when gossiping the message 2024-08-13 01:14:27 +09:00
Youngjoon Lee
c60039963f
optimize: mark messages as RECEIVED immediately in the publisher node when the messages are published 2024-08-13 01:02:16 +09:00
Youngjoon Lee
aebc0459b5
add more columns to iteration result csv files 2024-08-13 00:40:31 +09:00
Youngjoon Lee
8bfbabed15
use __WIP__ filename prefix for WIP paramsets and iterations 2024-08-13 00:35:54 +09:00
Youngjoon Lee
495b633837
refactor: rename _mix_pool_size -> _min_pool_size 2024-08-12 11:07:24 +09:00
Youngjoon Lee
cefe352402
add buffering for csv.writer 2024-08-12 11:01:59 +09:00
Youngjoon Lee
d5d94ca3e5
add session 2.1 2024-08-08 15:14:30 +09:00
Youngjoon Lee
ff5baa4bfe
add --num-workers arg 2024-08-08 15:04:54 +09:00
Youngjoon Lee
156bff6ddc
measure iteration duration 2024-08-08 14:41:58 +09:00
Youngjoon Lee
dc79540e15
add benchmark for finding the optimal number of workers 2024-08-08 14:05:16 +09:00
Youngjoon Lee
8a16d63131
store iteration result into csv gradually, and add queuesim_stats CLI to merge all iterations of all paramsets 2024-08-08 13:37:09 +09:00
Youngjoon Lee
00c058528d
remove unused imports 2024-08-07 22:36:21 +09:00
Youngjoon Lee
4b1da729bc
continue even if iteration failed, after saving err file 2024-08-07 08:27:31 +09:00
Youngjoon Lee
c93324da55
try-catch 2024-08-07 07:59:56 +09:00
Youngjoon Lee
301c3e5be4
add cross-experiment plots 2024-08-05 22:10:34 +09:00
Youngjoon Lee
d26c5aa272
update test code for session 2 2024-08-02 22:32:50 +09:00
Youngjoon Lee
1477ba75e5
use only n-1 cores 2024-08-02 22:28:46 +09:00
Youngjoon Lee
6a7146cc80
session 2 for experiment 4 2024-08-02 22:24:25 +09:00
Youngjoon Lee
3d14319588
Targeted experiments for queuing mechanism
Targeted experiments for queuing mechanism

gather series into dataframe

put exp_id to the CSV path

revert iterations back to num_nodes/2

add missing print and decrease msg_interval_sec

change param sequence for readability

use struct instead of pickle for fixed-size & faster serde

include dtime series into dataframe

optimize: choose optimized connection type according to latency setting

add skip_sending_noise option

optimize filling up the queue with noises

move queue_type to the end of param set, and build CSV gradually row by row

fix: consider num_senders when waiting until all messages are disseminated

fix: sample senders without duplicate

fix: build param combinations correctly

add plot script

initialize MinSizeMixQueue with noises

define SessionParameterSet and add paramset for session2

improve topology connectivity check to avoid "maxmimum recursions depth exceeded" error

fix: the correct parameter set constructor

store individual series to separate CSV files

reorganize files and draw plot automatically

start series file id from 1 (not 0)

add queue_type CLI argument for parallelization

pretty format of elapsed time

pretty format of elapsed time

add merge CLI and draw multiple plots

split functions

do not draw plot for each session

use concurrent.futures to utilize multiprocessing

add from_paramset argument

fix: count num of finished iterations correctly

draw plots for num_sent_msgs and num_senders for specific experiments
2024-08-02 11:38:17 +09:00
Youngjoon Lee
39eabe1537
Mixnet: Initial simulation (#6) 2024-08-01 11:07:52 +09:00
Alvatar
537f86f53f
Deprecate Carnot node (#8)
Co-authored-by: Álvaro Castro-Castilla <alvatar@protonmail.com>
2024-07-19 09:25:20 +03:00
gusto
6a24875b48
Move node simulations into a dedicated directory (#5) 2024-07-16 15:34:59 +03:00
gusto
d8fc6110cd
CSV results for updated test cases (#3) 2023-08-19 09:55:30 +03:00
gusto
bb88434ae6
Test case results (#2)
* Add test results for all test cases

* Increase template stalled threshold
2023-08-18 11:29:05 +03:00
gusto
02a82a421b
Run all configs without log parsing from simapp (#1) 2023-08-16 11:11:16 +03:00
gusto
ad86cd0495
Create README.md 2023-08-15 22:44:08 +03:00