首页 > 其他分享 >云计算CloudSim20221129

云计算CloudSim20221129

时间:2022-11-30 00:55:38浏览次数:68  
标签:typora cheng AppData image Typora CloudSim20221129 计算 虚拟机

贪心调度策略

原本的想法是

先计算time矩阵 即每个任务在每个虚拟机下运行所需的时间

首先维护每个虚拟机执行已经绑定的任务所需要的总时间

然后我们按任务编号的顺序循环

每次比较一个任务在所有虚拟机下运行所需要的时间

如果该任务在当前虚拟机下运行的时间加上此前虚拟机运行其他任务所花费的时间之和小于最小值

则我们将最小值更新| 即每一次循环(给任务分配虚拟机)都保证在目前情况下所有虚拟机花费总时间最短(贪心)

核心代码

![image-20221129213143489](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129213143489.png)

初次运行结果(在我设置的参数下):

![image-20221129213038391](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129213038391.png)

 

但是跑出来和fx学长的相比慢了一些

![image-20221129212139434](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129212139434.png)

于是我去看了一下fx学长的代码

发现fx先对虚拟机按mip升序排序、对任务按mi降序排序

然后将mi最大的任务0(排序后)分配给了mip最大的虚拟机vmNum-1

于是我去调试了一下我的代码 把分配过程输出了出来

发现确实虽然都是贪心,但是任务分配顺序还是会对总时间带来影响

把最难的任务先交给最强的机器完成,后面再分配耗时最小的任务时选择更多

(之前按顺序分配会导致后面耗时最长的那个任务不论分配给哪个虚拟机都会导致总时间很长(因为很巧的是我的任务参数正好是把长度最长的任务放到了最后))

换句话说我的贪婪还不够贪婪

于是我参考学长也对任务和虚拟机进行了排序(同时根据我的代码做了一些调整,对虚拟机降序)

跑出来确实有效 但是有效到有点出乎我的意料

![image-20221129212102754](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129212102754.png)

之前没看学长的核心代码(一开始觉得有点乱看不懂)

发现出乎意料后我又去看了一遍

发现有些问题

![image-20221129215558998](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129215558998.png)

更具体的我是没花精力去理解 但是首先

我和他贪心的核心公式是基本一样的

![image-20221129215714067](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129215714067.png)

那么他为什么会比我改进后的慢呢?

我发现他是在里层遍历vm的循环中进行任务分配的 而且当虚拟机未分配任务时就直接break了

而我是在外层循环进行任务分配,即针对每一个任务找出当前情况下总耗时最短的分配方案并进行分配

可能是因为这里的差别?

其他地方我有改过,但是发现都是越改越差

确实还不是很理解他的代码 感觉和我的思路又好像不是很一样?

暂时不花时间理解了

目前看来我改进后的调度策略确实更贪心更优一点

下面是在我的参数和fx的参数设置下的调度策略的比较

cheng_zhid的参数数据

cheng_zhid

![image-20221129212102754](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129212102754.png)

fx

![image-20221129212139434](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129212139434.png)

 

 

fx的参数数据

cheng_zhid

![image-20221129211821629](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129211821629.png)

fx

![image-20221129211844559](C:\Users\cheng_zhi\AppData\Roaming\Typora\typora-user-images\image-20221129211844559.png)

 

标签:typora,cheng,AppData,image,Typora,CloudSim20221129,计算,虚拟机
From: https://www.cnblogs.com/chengzhid/p/16937205.html

相关文章

  • 计算机视觉:作业4图像匹配,缝合和单应性
    16-720A计算机视觉:作业4图像匹配,缝合和单应性讲师:KrisM.Kitani助教:Leonid,Mohit,Arjun,Rawal,Aashi,Tanya截止日期:2018年3月27日星期二晚上11:59版本1(3月8日,12pm)总积分:100额外......
  • 隐私计算技术对比
    技术领域多方安全计算差分隐私集中加密计算联邦学习核心思想生成并叫交换随机数据对计算过程和结果增加随机扰动,从而对个体数据进行混淆隔......
  • 计算机网络详解(基础篇)1-3章(韩立刚老师)
    1.lnternet发展网络:让部分电脑实现短距通信(较小范围:如实验室)互联网:路由器连接多个网络形成互联网,实现远距通信。(任意部门或单位或个体都可接入)通讯介质可以是光纤或无......
  • 计算平均值。输入十个学生的考试成绩计算平均值。(数组实现))
    #include<stdio.h>#defineN10intmain(){ inti; doublea[N],sum=0.0; sum=0.0; printf("请输入成绩:\n"); for(i=0;i<N;i++) scanf("%lf",&a[i]); for(i=0......
  • 提升计算效率 百济神州选择浪潮高效计算平台为新药研发提速
    肿瘤的病因很大一部分在基因层面,需要精准找到发病点,并针对性起作用,这对药物研发能力提出了更高要求。从药物开发周期来看,小分子药、单抗药物比传统药物在研发阶段的投入大、......
  • 计算机和数学的一些知识
    1.计算机4种大的可花费时间深入学习的领域,4种:计算机操作系统、计算机编译原理、计算机图形学、分布式架构。操作系统,可以查看各大操作系统的源码,自己尝试写一个操作系统。......
  • 云计算虚拟化安全
    虚拟化是云计算的核心,虚拟化的目的是虚拟化出一个或多个相互隔离的执行环境,用于运行操作系统及应用,并且确保在虚拟出的环境中,操作系统与应用的运行情况与在真实的物理设备......
  • 栈实现计算器的操作
    栈实现计算器的操作使用一个栈完成计算一个表达式的结果使用两个栈:数栈(存放数)符号栈(存放运算符)思路通过一个index值,来遍历我们的表达式如果我们发现一个数字,......
  • windows SVN服务器:由于目标计算机积极拒绝,无法连接
    今天和同事整外网svn,出现了几个问题。我的win10电脑当做svn服务器(安装visualSVN客户端),我同事访问我的电脑。我们俩同时连接到我都WiFi热点(相当于路由器)。1、ping不通我......
  • 光纤加速计算 383-高速信号处理板 XCKU060的双路QSFP+光纤PCIe 卡 XCKU060板卡
    基于kintexUltraScaleXCKU060的双路QSFP+光纤PCIe卡 一、板卡概述       本板卡系北京太速科技自主研发,基于Xilinx UltraScale Kintex系列F......