CloudSim Network源码概述(持续更新...)

topology.brite文件
从Nodes:关键词的下一行开始读入,之前写啥都可以
Nodes: NodeID, xpos, ypos, indegree, outdegree, ASid, type(router/AS)
但只读前3项,其中AS是自治系统的意思
Edges: EdgeID, fromNode, toNode, euclideanLength, linkDelay, linkBandwith, AS_from, AS_to, type
只读前6项,且euclideanLength项不读

TopologicalLink:拓扑边类,包括 {源节点id,目的节点id,延迟,带宽 }
TopologicalNode:拓扑节点类,包括 {节点id,节点名称,x坐标、y坐标 }
TopologicalGraph:拓扑图类,包括 {List<TopologicalLink>,List<TopologicalNode> }
GraphReaderBrite:唯一public函数readGraphFile,输入文件路径,返回TopologicalGraph对象;其他private函数均为readGraphFile调用。
这里输入了topology.brite文件。
FloydWarshall_Float:Floyd算法类,initialize初始化,allPairsShortestPaths返回各个点间的最短路径二维数组。
DelayMatrix_Float:计算并保存各节点间的最小延迟值,包括 { 各节点间的最短路径二维数组,节点个数}。
使用TopologicalGraph对象构造,可选择图是否为单向边;构造时使用FloydWarshall_Float类为保存各节点间的最短路径二维数组赋值。
之后可调用getDelay(int srcID, int destID)返回两节点间的最小延迟值
NetworkTopology:包括 {图对应的DelayMatrix_Float对象,各节点间的带宽二维数组,从文件中读到的TopologicalGraph对象,CloudSim实体id到节点id的map }

UtilizationModel:使用率接口,只有一个函数double getUtilization(double time)
UtilizationModelFull:实现了UtilizationModel接口,getUtilization恒返回1。
UtilizationModelNull:实现了UtilizationModel接口,getUtilization恒返回0。
UtilizationModelStochastic:实现了UtilizationModel接口,getUtilization返回随机值,但如果两次取相同时刻的使用率,则第二次与第一次相同。
UtilizationModelPlanetLabInMemory:从文件读取来自PlanetLab的实际数据。文件夹在cloudsim-cloudsim-4.0\modules\cloudsim-examples\src\main\resources。
Cloudlet:云任务类,包括{ 任务id,任务长度(单位:百万条指令),文件大小(单位:byte,包括程序大小和输入数据大小),输出文件大小,执行此任务需要的核数,cpu的使用模型,内存的使用模型,带宽的使用模型}

CloudletScheduler:任务调度器抽象类
VM:虚拟机类,包括{ 虚拟机id,用户id,每秒处理百万指令数,所需核数,所需内存大小,所需带宽大小,虚拟机镜像所占大小,虚拟机监视器,任务调度器}

待续。。。

猜你喜欢

转载自blog.csdn.net/gychixxx/article/details/78753664