java - 如何在 CloudSim Plus 中迁移 Cloudlets?
问题描述
我想知道 CloudSim Plus 中是否有允许迁移 Cloudlets 的功能。这意味着 Cloudlet 可以在 VM 上执行或等待在 VM 上执行,并且可以发送到另一个 VM(可能位于另一个数据中心)以代替执行。在 CloudSim Plus API 中,我只看到迁移的 VM 分配策略,而没有看到 Cloudlet 迁移。
解决方案
CloudSim Plus 没有任何方法可以迁移 Cloudlets。在真正的云计算环境中,我们不迁移 Cloudlets,而是迁移虚拟机。此 VM/容器可以托管当前正在执行的 Cloudlet,并且可以迁移到另一个数据中心以继续执行。通过这种方式(使用虚拟机/容器)迁移 Cloudlets 是有意义的。需要虚拟机/容器来封装应用程序的依赖项和配置。Cloudlet 迁移是一项复杂的任务,无法自动完成。很难确定必须迁移以允许应用程序 (Cloudlet) 执行的依赖项和配置。
据 CloudSim 和 CloudSim Plus 的主要开发者介绍:
但是,CloudSim Plus 不支持容器抽象,也不打算在短期或中期提供支持。CloudSim 4 包含容器支持,但实现此功能的方式(实际上是通过复制和粘贴整个类包)使我们将 CloudSim Plus 创建为一个独立的分支。
了解 Cloudlet 在运行时何时映射到 Vm 也很重要,它不能更改,因为这将允许 Cloudlet 迁移到 CloudSim 不允许的不同 Vm。作为替代方案,您可以尝试定义自己的策略以在运行时/动态地将传入的 Cloudlet 映射到 Vms(选择 Vms 来执行 Cloudlet)。
您可以通过扩展DatacenterBrokerSimple
类和更改defaultVmMapper()
方法来做到这一点。如果您的策略未能将 Cloudlet 映射到 Vm,它将调用defaultVmMapper
in DatacenterBrokerSimple
.
中的setVmMapper()
方法DatacenterBrokerSimple
允许您定义一个策略以在运行时将 Cloudlets 映射到 Vm(它设置适当的映射器方法)。此方法可用于在运行时更改策略。
推荐阅读
- typescript - 如何从未声明的 Javascript 模块导入函数
- java - Payara 5 web.xml 中 PGSimpleDataSource 的自定义属性
- html - Bootstrap:容器中垂直居中的行
- json - 如何在jq中解析/替换json文件的值
- asynchronous - 这个线程代码有解释吗?
- google-maps - Google Places api附近搜索与地图上返回的结果之间的差异
- java - 比较两个帐户,通过他们的答案,与 Firebase
- asp.net-core-2.2 - 在 Asp.NetCore 中将模型类列表从视图传递到控制器
- node.js - 如何在请求中获取 POST 数据?
- postgresql - 无法与其他用户连接到数据库