跑程序前的准备工作:
- Java环境配置:网上搜教程吧,按着提示做就可以
- 我使用的工具:Eclipse
- 项目链接:其中包含EdgeCloudSim英文说明文档和EdgeCloudSim工程文件夹
链接:https://pan.baidu.com/s/12dFGYggAymoKhfR0WRhwKg
提取码:tcjp (项目)
链接:https://pan.baidu.com/s/18cEBTHHtn67U-gPAKTeQlg
提取码:9zhx (英文说明文档)
1.项目整体结构
项目的导入很简单,直接把项目放到当前编辑器目录下就可以了。
上图所示就是EdgeCloudSim-master导入之后的目录了,作者在src文件夹下写了核心的代码,包括四个样例程序sample_app1-4。每一个样例都是可以自己跑通的,并会产生很多的日志文件和eclipse控制面板输出。
通过包的命名,我们可以知道各个包的含义是什么,比如edge_client,这当然就是边缘客户端的意思了,其他包类似翻译。
正如英文文献中介绍的(英文文献在链接里,大家直接下载就好,还是建议大家仔细研读的,大体介绍的很清楚),该项目分为七个模块:
- 核心仿真模块
- 网络模块
- 边缘协调器模块
- 边缘协调器模块
- 负载生成器模块
- 核心仿真模块
- 移动模块
2.程序运行
当我们直接运行该项目也可以得到数据,如下图所示,不过说实话,看着数据是比较杂乱,我也不知道该怎么处理。
不过作者还是很牛的,想的很周到,所谓前人栽树后人乘凉。真的要感谢开发这个环境的大佬了,啧啧。
我们可以选择直接运行样例代码,注意项目的跑通核心之处在于修改日志的输出文件夹路径,如下图所示:
上面的路径是一定要修改的,否则系统找不到原来指定的文件夹,就会报错!另外:
该路径最好不要是C盘,因为我一开始使用的就是C盘作为日志文件输出路径,结果发现系统一直报错,后来修改了盘之后,就可以了!分析以后我觉得是C盘有保护机制?
程序运行以后就会生成一堆日志文件,这个也很重要,因为后面作者还写了matlab绘图程序。在MatLab里直接调用函数,利用日志文件作图,爽歪歪,有一种办公自动化的感觉!
从上图可以看出,样例sample_app1在设备数量是500的情况下,整体运行时间是1分44秒。系统原来设定的是1000,结果我为了让它跑快点,设置成了500。这个设备数量设置在配置文件里,大家可以自行修改。
3.场景介绍
文章中介绍了实验对应的三个场景,在样例代码中,程序运行结果也有体现,代码输出那一块写的还是蛮清晰的。分别是:
- SINGLE_TIER - Policy
- TWO_TIER - Policy
- TWO_TIER_WITH_EO - Policy
每一个场景的具体情况,大家可以在论文里查看。
4.数据可视化
不得不说作者很贴心,还给我们写了MatLab文件,方便我们对日志文件数据进行绘图。代码在scripts–>sample_app1->matlab中,其实scripts文件夹下所有的样例都有matlab代码。
这一部分的使用,就要转移到MATLAB中去了,大家可以直接复制粘贴matlab文件夹到MATLAB中,我用的是R2016b版本。
同样的第一步先修改配置文件。即getConfiguration.m文件,这个文件很重要,配置了很多关键数据,所有的.m文件都是根据这个文件夹中的配置执行的。我在执行的过程中,还碰到个小问题,本来argType==1时,对应的ret_val应该设置为我的日志保存文件夹,但是系统又报错了!
通往成功的道路不会一帆风顺的,总带被搓搓棱角。
后来根据错误的信息,我修改了路径信息,以及最大设备数量,就可以了
注意下我的日志文件夹,在APP1下又建了一个ite1文件夹。这个文件夹也是最终保存日志的文件夹。
结果出来了!
其实图片不是这么乱的,只是我为了让大家看着方便,把他们拉开了。
同时,你也可以看到系统自动生成了图片pdf版本,还是挺好的。
以上就是所有分享了,出现问题还是带多读读代码。本来昨天跑通了,今早为了写博客,重新搞了 一遍,又出问题了。。。。又改了一上午。说明一个问题:代码好了,只要能通就别动了,千万别动!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)