cloudsim中startSimulation,学习cloudsim是如何进行模拟的

cloudsim通过调用startSimulation ,紧接着startSimulation调用run() 开始真正的模拟。而核心代码全部位于run当中,一下分析run的实现步骤:

Run()的步骤:

1 runStart开启所有模拟实体,对所有加入到模拟实验当中的实体,调用startEntity(),这个函数不同的实体继承自simEntity,会有不同的实现,例如数据中心是将自己的ID发给CloudInfoServiceEntity ,进行注册。

2 runClockTick()  ,这是这个方法中一个很重要的方法。对所有RUNNABLE可运行的实体,进行实体的run();对每个实体的模拟事件,从deferred延迟队列中选择一个事件进行处理,需要按照指定选择策略。 然后再检查查如果未来future队列不为空,中选择未来队列中的事件进行处理。 返回队列是否为空的boolean标志。

3 检查terminateAt,pauseAt 的时间信息,判断是否进入到终止或者暂停状态,暂停状态的线程中,每次睡眠0,1s

4  停止模拟 



你可能感兴趣的:(CloudSim)