-
Notifications
You must be signed in to change notification settings - Fork 0
/
tasks.txt
24 lines (19 loc) · 1.56 KB
/
tasks.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
Tasks for execution:
Master/starter framework (simulator.go)
Do each step completely before moving on to the next step.
* Write program to start in master mode or in starter (if --starter argument given) mode.
- Master might have argument --port, otherwise uses default port 9000
- In master mode: Listen on default port, get connections from starters, print information about each new starter connected. You can test it by doing telnet 127.0.0.1 on port 9000
* starter - add mandatory argument of IP/port of master node in CLI arguments. Use 127.0.0.1 to connect to master that runs on the same machine.
* starter - get number of available CPUs cores (https://stackoverflow.com/questions/24073697/how-to-find-out-the-number-of-cpus-in-go-lang) send to master
* master - for each joined starter, print number of CPU cores it has
* master - keep list of starters connected and number of CPU cores it has
* master - add flag --starters X, that means number of starters it must await
* master - once expected number of starters received, send command create world abc from master to each starter
* starter - receive commands from master and print on screen
* starter - if connection to master got lost, reset state, try to connect to master every second
* master - read initial parameters config file in yaml format, convert to json, pass to starters as part of "CREATE WORLD" command
* starters - receive json, print on screen various fields.
World creation (executor.go)
* Receive initial world creation parameters, including executor ID and country/executor mapping
* Create "my" world part