/power_ranger

Primary LanguageCGNU General Public License v3.0GPL-3.0

Power ranger - Energy optimization

Computer network simulation. Calculation the networks power consumption on static, dynamical, and dynamical with sleep mode.

Build

When building the project it will generate two programs. Power_ranger and Test_ranger. Where power_ranger is the main part of the software, and test_ranger is the testing part of the software.

cmake CMakeLists.txt
make

Software Main

The main part of the software can be run with this command. However, keep in mind that it is specified for Linux.

./power_ranger

The user will be prompted to write input parameters. When the user has written the input. The software will run and write an output.csv file that contian the output.

Network simulation
Simulation setup:
Event spawn time:,3600
Number of routers:,10000
Number of links:,59979
Number of events:,10000
Total amount of data:,213844.047546,GB

Simulation results:,Static,Dynamic,Dynamic with sleep states
Power Consumption,7021.028445 kWh,1477.040533 kWh,950.069879 kWh
Time (s),40836.000000 s,4987.000000 s,4987.000000 s

Software Test

The testing part of the software can be run with this command. However, keep in mind that it is specified for Linux.

./test_ranger

Output of the test software should return something along the lines of.

2 tests, 2 assertions, 0 failures
Finished in 0.00009168 seconds (real) 0.00008856 seconds (proc)

Configuration files

Routertype.csv

id type(int) bandwidth(int) wakeupTime (int) latency(int) powerIdle(int) powerPeak (int) powerSleep packetMemory (int)
1 fafb 10000000Kbps 50ms 1ms 100W 250W 20W 16000B

Traffictype.csv

id type(string)[16] latencySensitivity(int) dataSize (int) packetlossSensitivity(int)
1 Movie 1000ms 50000KB 20000Kbps low

Dependencies

License

Repository license