CloudSim Network源码概述(持续更新...)
2017-12-08 17:15
1196 查看
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,每秒处理百万指令数,所需核数,所需内存大小,所需带宽大小,虚拟机镜像所占大小,虚拟机监视器,任务调度器}
待续。。。
从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,每秒处理百万指令数,所需核数,所需内存大小,所需带宽大小,虚拟机镜像所占大小,虚拟机监视器,任务调度器}
待续。。。
相关文章推荐
- php源码函数汇总(持续更新)
- nginx源码分析(持续更新)
- 下载和编译Android源码问题集(持续更新)
- 精品android源码汇总。。欢迎关注,持续更新。
- jQuery源码分析系列(持续更新)
- CListCtrl控件重绘源码---持续更新
- FFMPEG源码分析(1)--持续更新
- 网上公开源码的一些链接(持续更新)
- IOS开发--待研究源码(持续添加更新)
- IOS开发--待研究源码(持续添加更新)
- 【持续更新】Android 源码下载地点
- GNU GRUB 2.00 源码分析笔记,持续更新
- [置顶] 商业源码开源拉,持续更新咯
- Android精品资源汇总,10个源码(持续更新)
- Live Archive 3902 Network 【持续更新】
- FFMPEG源码分析(1)----初版--持续更新
- .Net免费公开课视频+资料+源码+经典牛逼 汇总篇【持续更新】
- centos从源码搭建ruby环境(持续更新)
- 自动化运维之Ansible概述及Ansible部署(持续更新中)
- 【10.27更新】 程序员新手福利来了,Android项目源码集合,持续更新。。。