我想在cloudsim(或其他云模拟器)中模拟一个简单的VM迁移,通过考虑VM进程的体积(如RAM,存储等)或在cloudlet上应用的任务数量来评估一些参数,例如迁移时间,等等
任何人都可以帮助我吗?任何建议或网络参考将不胜感激。
我建议您通过 cloudsim API 来熟悉 cloudsim 包/类,以了解哪些方法和类对开发您的算法/想法/程序有用。
要启用 VM 迁移,您需要在创建数据中心时设置一些 VmAllocationPolicyMigration 类的实例。有一些实现,例如 VmAllocationPolicyMigrationBestFitStaticThreshold。如果您需要创建新的 VM 迁移策略,您可以扩展一些现有的类。
您可以检查CloudSim Plus。它提供了一些简单的VM 迁移示例。它还提供了一组完全重构的 VmAllocationPolicyMigration,可以更轻松地实现您自己的策略。
在 CloudSim Plus 中,您可以创建一个到给定数据中心的 VmAllocationPolicyMigration,如下例所示:
VmAllocationPolicyMigrationStaticThreshold allocationPolicy =
new VmAllocationPolicyMigrationBestFitStaticThreshold(
new PowerVmSelectionPolicyMinimumUtilization(),
HOST_UTILIZATION_THRESHOLD_FOR_VM_MIGRATION);
DatacenterSimple dc = new DatacenterSimple(simulation, hostList, allocationPolicy);
其中 HOST_UTILIZATION_THRESHOLD_FOR_VM_MIGRATION 是一个百分比值,用于定义主机可以达到以开始迁移 VM 的 CPU 利用率阈值。它还使用 PowerVmSelectionPolicy 来选择利用率最低的 VM,以便从过载的主机迁移。
完整的示例可在此处获得。如果示例有帮助,请点赞。