-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
39 lines (31 loc) · 1.83 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Research on how to simulate the Chord application
- Maybe run separate instances of the entire library
- Modify library to simulate nodes within Elixir; without JSON-RPC calls
* The Chord network will just be simulated using multiple Node processes
* Created alternate transport layer logic to deal with internal inter-process calls
create node registry for use in simulation mode
- fetch node process IDs
- stop a node process (gracefully/forced)
* Created a Util function to map a node ID to a GenServer process ID
* Created a custom Supervisor which can kill/stop a node process
figure out how to pass config.exs file into simulation runs
* Created default config.exs settings which can be overriden in simulation code
figure out how to collect simulation logs
- Maybe use the logger backend to filter only lookup logs
- save all log outputs to a file and run analysis after
* Simulation results are going to be written to a file e.g. `load_balancing_results.txt`
Create tests for load balance monitoring
* Test function was created
Run load balancing test
- Run it on the Linux CIM server as it might take ~2hrs to run
* After quite a bit of debugging, the test was run on the Linux CIM server and results collected
(Test run took longer than expected. ~13 hrs runtime)
Create tests for path lengths similar to load balancing
- the function will borrow elements from the load balancing test function
* Test function was created
Run test for path length lookups
* Test as run and results file was generated.
N.B: Due to hardware limitations, the test ran up to 2^10 nodes compared to the paper's range of 2^14
Refactor test simulation functions to support smaller scale runs
* Function have default values set to those from the Chord paper test descriptions
* If run without arguments, the functions use the default values.