From c2e6aad09f893e4c8cb5cb9243c32a0d6d0d1e12 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Thu, 9 Jun 2022 21:48:32 +0200 Subject: Init ESDS repository --- tests/mobility_eth0_bandwidth_2s1r/simulator.py | 41 +++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 tests/mobility_eth0_bandwidth_2s1r/simulator.py (limited to 'tests/mobility_eth0_bandwidth_2s1r/simulator.py') diff --git a/tests/mobility_eth0_bandwidth_2s1r/simulator.py b/tests/mobility_eth0_bandwidth_2s1r/simulator.py new file mode 100755 index 0000000..ba876d8 --- /dev/null +++ b/tests/mobility_eth0_bandwidth_2s1r/simulator.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +# Load ESDS +import sys +sys.path.append("../../") +import esds +import numpy as np + +########## Scenario ########## +# Notations: +# - Remaining communication duration (last communication ends minus current simulated time) = C +# - Last communication duration (previous row) = U +# - Last remaining data size (previous row) = D +# - Current remaining data (current row) = R +# - Initial data size (first row) = I +# - Bandwidth = BW +# - Latency = L +# |----------------------------------------+------------+----------------+----------------------+---------------------------+-------------------------| +# | This table is the same for both sender | | | | | | +# |----------------------------------------+------------+----------------+----------------------+---------------------------+-------------------------| +# | Simulated time(s) | Latency(s) | Bandwidth(bps) | Remaining data (bit) | Communication duration(s) | Communcation ends at(s) | +# |----------------------------------------+------------+----------------+----------------------+---------------------------+-------------------------| +# | 0 | 0 | 8/2 | 8 | 2 | 2 | +# | 1 | 0 | 16/2 | C/U*D = 4 | 0.5 | 1.5 | +# | 1.5 | 0 | 16/2 | 0 | | | +# |----------------------------------------+------------+----------------+----------------------+---------------------------+-------------------------| +############################## + +B=np.full((3,3),8) +L=np.full((3,3),0) +s=esds.Simulator(B,L) + +s.create_node("sender") +s.create_node("sender") +s.create_node("receiver") + +def callback(simulator): + simulator.log("Network update!") + simulator.update_network(simulator.B*2,simulator.L) + +s.run(breakpoints_every=1,breakpoint_callback=callback,debug=True) -- cgit v1.2.3