EdgeCloudSim初体验之安装及初步使用

本文介绍了EdgeCloudSim,一个用于边缘计算仿真测试的开源平台,基于Java开发,适用于Linux和MacOS环境。文章详细阐述了如何下载、安装和在Linux环境下运行Demo,包括编译Java代码、设置运行参数以及解决可能出现的配置文件路径问题。此外,还提及了Windows环境下使用IDEA进行代码编辑和运行的方法。最后,讨论了如何利用提供的Matlab脚本对仿真结果进行绘图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文中需要一个专门针对于边缘计算模块的仿真测试平台,所以找到了一个EdgeCloudSim的开源平台,又是基于Java进行开发的,觉得很不错,但是中文网络环境中好像还没有对其的教程,在下不才,打算写一系列博文简单介绍分享一些这个软件的使用和踩过的坑。

简介

EdgeCloudSim是一种应用于边缘计算中计算和网络的仿真测试平台,它基于CouldSim进行开发,但添加了相当多的功能,因此可以有效地用于边缘计算方案。EdgeCloudSim是一个开源工具。

包含的功能主要有:

  • 在Edge或Cloud VM之间进行任务迁移。
  • 移动和边缘设备以及云数据中心的能耗模型。
  • 通过考虑拥塞或其他参数(例如移动设备与WiFi接入点之间的距离)来添加概率网络故障模型。
  • 用于显示网络拓扑的可视工具。

下载

直接中GitHub上clone下来就好了。
下载地址
在这里插入图片描述

安装

EdgeCloudSim需要在Linux环境或者MAC OS中能使用,Windows其实也可以,但是使用方法就不同了,那么将下载下来的tar包在Linux环境中进行解压,开箱即用。

我们就会得到这样的一个目录。其中bin文件夹刚解压的时候是不会有的,当编译Java文件之后产生class字节码文件,就产生这个bin文件夹用于存放字节码文件。
在这里插入图片描述
同时,EdgeCloudSim是基于Java进行开发的,所以我们还需要安装JDK环境,版本是1.8及以上。

跑一个demo

scripts文件夹下已经预先写了很多demo,我们选择sample_app1。

Linux环境下

编译

首先我们编译Java代码,这里已经有一个预先写好的脚本,运行这个脚本就会帮我们编译代码,生成class文件。如果没有任何报错,编译就算成功了,外面的目录下也会生成一个bin文件夹。

sh compile.sh

运行

然后我们就可以通过runner脚本来运行Java程序了。这里需要注意的是,如果我们不加入运行参数,它的默认配置文件路径存在一些问题,会报错:

java.io.FileNotFoundException: /home/kt/edge/EdgeCloudSim-master/scripts/sample_app1/scripts/sample_app1/config/applications.xml (没有那个文件或目录)

所以,这里有两个办法,简单粗暴的就是在报错的路径下重新复制一份配置文件,更合理的就是填入runner.sh的运行参数,我更推荐后者。我们打开runner.sh文件,可以看到如下参数顺序:

script_root_path="$(dirname "$(readlink -f "$0")")"
simulation_out_folder=$1
scenario_name=$2
edge_devices_file=$3
applications_file=$4
iteration_number=$5

scenario_out_folder=${simulation_out_folder}/${scenario_name}/ite${iteration_number}
scenario_conf_file=${script_root_path}/config/${scenario_name}.properties
scenario_edge_devices_file=${script_root_path}/config/${edge_devices_file}
scenario_applications_file=${script_root_path}/config/${applications_file}

这里$0是Shell本身的文件名,而后面5个参数我们可以在输入shell指令的时候手动写入,这样就不会在Java运行的时候用到默认文件路径而产生错误了。这五个参数分别表示:1、仿真结果输出文件夹路径;2、仿真场景名称;3、边缘设备配置文件名称;4、应用文件名称、5、版本号。

这里是我的运行shell的输入信息,结果输出路径依个人而定:
在这里插入图片描述

结果

当运行runner.sh之后没有报错,那么仿真程序就正在运行了,可能需要等待比较长的时间。

结束之后,会在我们指定的输入路径之下产生很多仿真过程的日志文件。
在这里插入图片描述
打开ite1.log,就可以看到具体参数信息,包括边缘计算过程中的性能指标。
在这里插入图片描述

Windows环境下

其实也可以直接通过Java命令对代码进行编译和运行,但是,我们为了方便自己修改代码和调试,可以直接用idea来打开工程并运行。

如果使用idea的话,直接选择打开项目,然后选择文件夹EdgeCloudSim-master即可。例如要运行sample_app1,就选择src/applications/sample_app1文件下的MainApp,直接运行里面的main函数即可,注意修改配置和输出路径参数,创建输出文件夹。
在这里插入图片描述

绘图

这个工具包的作者在每个示例下面都提供了matlab的绘图函数,我们只需要改变相应的参数,就可以对结果日志文件中的数据进行提取绘制折线图,非常方便。

首先打开sample_app1下面的matlab文件夹,我们可以看到如下的matlab函数文件。
在这里插入图片描述
这里包含了对于仿真测试中各种性能结果的绘图函数,其中我们需要对getConfiguration函数进行修改,这个文件中包含了绘图所需的配置参数。
在这里插入图片描述
第一个参数表示了我们将结果日志存放的路径,第二个参数表示仿真的版本信息。这样,plotGenericResult函数会读取这个文件,然后得到具体日志信息,然后再由其他相应的函数调用进行绘图。

我们这里调用一个plotAvgFailedTask函数,看看效果。运行之后,在日志文件路径下,就会生成很多pdf文件,里面就是对应的统计图了。
在这里插入图片描述
在这里插入图片描述

评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值