37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
import copy
|
|
|
|
from datacentre import Datacentre
|
|
from scenarioplanner import Scenarioplanner
|
|
from scheduler import Scheduler
|
|
|
|
|
|
def preparesimulation() -> Scenarioplanner:
|
|
currscenarioplanner = Scenarioplanner()
|
|
currscenarioplanner.simulationLength = 120
|
|
currscenarioplanner.createapplications()
|
|
currscenarioplanner.createclients(1000)
|
|
print("Number of Birbnetes clients: " + str(currscenarioplanner.statsModule.birbnetesClients))
|
|
print("Number of Videochat clients: " + str(currscenarioplanner.statsModule.videochatClients))
|
|
return currscenarioplanner
|
|
|
|
|
|
def preparesimulationrunner(currscenarioplanner: Scenarioplanner) -> Scheduler:
|
|
currentscheduler = Scheduler()
|
|
currentscheduler.simulationLength = currscenarioplanner.simulationLength
|
|
currscenarioplanner.clients = copy.deepcopy(currscenarioplanner.clients)
|
|
clouddatacentre = Datacentre()
|
|
clouddatacentre.processingpower = 10000000
|
|
clouddatacentre.uplink = 10000000
|
|
edgedatacentre = Datacentre()
|
|
edgedatacentre.processingpower = 10000
|
|
edgedatacentre.uplink = 10000
|
|
currentscheduler.edge = edgedatacentre
|
|
currentscheduler.cloud = clouddatacentre
|
|
currentscheduler.statsModule = currscenarioplanner.statsModule
|
|
return currentscheduler
|
|
|
|
|
|
if __name__ == '__main__':
|
|
scenarioplanner = preparesimulation()
|
|
currscheduler = preparesimulationrunner(scenarioplanner)
|