PureEdgeSim的例子

写在之前,在PureEdgeSim的例子中,例子1-9全是覆盖了主类MainApplication中的main方法,然后执行更改其中个别设置,实现了不同的效果。

相关网站

CloudSim Plus: https://gitee.com/lumoondag/cloudsim-plus
PureEdgeSim wiki:
https://github.com/CharafeddineMechalikh/PureEdgeSim/wiki
该仿真器出版物:
https://www.researchgate.net/profile/Charafeddine_Mechalikh
模拟参数:
https://github.com/CharafeddineMechalikh/PureEdgeSim/wiki/The-Simumaltion-Parameters
建立方案:选择架构计算范例:
https://github.com/CharafeddineMechalikh/PureEdgeSim/wiki/Building-Your-Scenario-:-Choosing-Your-Architecture---Computing-Paradigms

Example1.java :

在本例中,其覆盖了MainApplication主类中的main方法,更改了任务编排器(任务编排算法)、任务生成器、自定义边缘设备/数据中心类、自定义能量模型,并执行了launchSimulation方法(继承自),开始仿真
执行效果图:
在这里插入图片描述
无数据产生

Example2.java :

与上述例子比较,本例子中其更改了移动模型。
执行效果图:
在这里插入图片描述
数据保存在PureEdgeSim/output/(该仿真器的默认地址)的CSV文件(该文件路径和文件在实例从未执行过时,不会产生)中,涉及数据项48项以及实验比对图片(分为了体系结构和算法两大类,其中还有进一步细分,比如CPU利用率等)若干,部分比对图片如下:

在这里插入图片描述
在这里插入图片描述

Example3.java :

与上述例子相比,在本例子中,其更改了能效模型。
执行效果图:
在这里插入图片描述
数据保存在PureEdgeSim/output/(该仿真器的默认地址)的CSV文件(该文件路径和文件在实例从未执行过时,不会产生)中,涉及数据项48项以及实验比对图片(分为了体系结构和算法两大类,其中还有进一步细分,比如CPU利用率等)若干,部分比对图片如下:
在这里插入图片描述
在这里插入图片描述

Example4.java :

与上述例子相比,在本例子中,其更改了自定义数据中心类
执行效果图:
在这里插入图片描述
数据保存在PureEdgeSim/output/(该仿真器的默认地址)的CSV文件(该文件路径和文件在实例从未执行过时,不会产生)中,涉及数据项48项以及实验比对图片(分为了体系结构和算法两大类,其中还有进一步细分,比如CPU利用率等)若干,部分比对图片如下:

在这里插入图片描述
在这里插入图片描述

Example5.java :

与上述例子相比,在本例子中,其展示了如何使用自定义边缘编排器类,自定义类使用另一个名为Increase_Lifetime的编排器算法。
补充:您可以通过将自己的算法添加到自定义类中来使用它。将其添加到orchestrator类后,要使用它,您需要将其添加到模拟参数文件(位于“设置/文件夹”下)。
执行效果图:
在这里插入图片描述
没有产生任何数据文件

Example6.java :

与上述例子相比,在本例子中,其展示了如何使用自定义网络模型启动模拟。并在此例子中实现协作缓存算法和集群算法(在CustomEdgeDevice.java中),并提供了相应的论文:面向边缘计算环境的可伸缩和QoS感知负载平衡平台
执行效果图:
在这里插入图片描述
数据保存在PureEdgeSim/output/(该仿真器的默认地址)的CSV文件(该文件路径和文件在实例从未执行过时,不会产生)中,涉及数据项48项以及实验比对图片(分为了体系结构和算法两大类,其中还有进一步细分,比如CPU利用率等)若干,部分比对图片如下:
在这里插入图片描述
在这里插入图片描述

Example7.java :

与上述例子相比,在本例子中,其展示如何使用其他仿真参数文件。本例中使用的文件位于examples/Example7_settings/文件夹中。默认情况下,如果用户没有指定simulation settings文件夹,PureEdgeSim将使用位于settings/folder中的默认文件夹。
执行效果图:
在这里插入图片描述
数据保存在PureEdgeSim/examples/Example7_output/的CSV文件(该文件路径和文件在实例从未执行过时,不会产生)中,涉及数据项48项,同时还具有实验比对图片(分为了体系结构和算法两大类,其中还有进一步细分,比如CPU利用率等)若干,从这里也可以看出文件数据输出地址可以自定义,部分比对图片如下:
在这里插入图片描述
在这里插入图片描述

Example8.java :

与上述例子相比,在本例子中,其展示了如何实现一个基于模糊逻辑的编排算法。由于为了支持为了支持mist计算。并提供了推文:
边缘计算的模糊工作负载编排,其必须添加JFuzzy_Logic jar文件
执行效果图:
在这里插入图片描述
数据保存在PureEdgeSim/examples/Example8_output/的CSV文件(该文件路径和文件在实例从未执行过时,不会产生)中,涉及数据项48项以及实验比对图片(分为了体系结构和算法两大类,其中还有进一步细分,比如CPU利用率等)若干,部分比对图片如下:
在这里插入图片描述
在这里插入图片描述

Example9.java :

与上述例子相比,在本例子中,其提出了一个边缘数据中心/服务器协同工作的模拟场景,边缘数据中心的特征在edge_datacenters.xml文件。在 simulation_parameters.properties中,我们使用了Edge_and_cloud架构,这意味着任务将被卸载到边缘数据中心或云上。
执行效果图:
在这里插入图片描述
数据保存在PureEdgeSim/examples/Example9_output/的CSV文件(该文件路径和文件在实例从未执行过时,不会产生)中,涉及数据项48项

MainApplication.java

此类继承自MainApplicationAbstract类
执行效果图:
在这里插入图片描述

联动

从代码中很容易就可以看出来,上上篇文章中介绍的几大模块对应了代码中的几个包,其中他们分别是:
Simulation Manager模块对应了包com.mechalikh.pureedgesim
Data Centers Manager模块对应了包:
com.mechalikh.pureedgesim.DataCentersManager
Location Manager模块对应了包com.mechalikh.pureedgesim.LocationManager
Network Module模块对应了包com.mechalikh.pureedgesim.Network
Tasks Orchestration模块对应了包:
com.mechalikh.pureedgesim.TasksOrchestration
Tasks Generator模块对应了包com.mechalikh.pureedgesim.TasksGenerator
Scenario Manager模块对应了包com.mechalikh.pureedgesim.ScenarioManager
Main Application模块对应了包com.mechalikh.pureedgesim

posted @ 2021-04-12 20:28  5-StarrySky  阅读(340)  评论(0)    收藏  举报