Cloudsim学习笔记——基本知识

Cloudsim学习笔记——基本知识Cloudsim澳大利亚墨尔本学校的网格实验室和Gridbus项目推出,是在离散事件模拟包SimJava上开发的函数库,继承了GridSim的编程模型,特点:支持大型云计算的基础设施的建模和仿真; 一个自足的支持数据中心、服务代理人、调度和分配策略的平台独特功能:提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协调的虚拟化服务; 在对虚拟化服务分配处理核心时能够在时…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Cloudsim 澳大利亚墨尔本学校的网格实验室和Gridbus项目推出,是在离散事件模拟包SimJava上开发的函数库,继承了GridSim的编程模型,特点:

  1. 支持大型云计算的基础设施的建模和仿真;
  2. 一个自足的支持数据中心、服务代理人、调度和分配策略的平台

独特功能:

  1. 提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协调的虚拟化服务;
  2. 在对虚拟化服务分配处理核心时能够在时间共享和空间共享之间灵活切换

软件结构框架和体系结构组件:SimJava 、GridSim 、CloudSim 、UserCode.

Cloudsim学习笔记——基本知识

CloudSim是在GridSIm模型基础上发展而来,提供了云计算的特性,支持云计算的资源管理和调度模拟。云计算和网格计算的最大区别是云计算采用了成熟的虚拟化技术,将数据中心的资源虚拟化为资源池,打包对外向用户提供服务,CloudSim体现了此特点,扩展部分实现了一系列接口,提供基于数据中心的虚拟化技术、虚拟化云的建模和仿真功能。

CloudSim提供了资源的检测、主机到虚拟机的映射功能CIS和DataCenterBroker实现资源发现和信息交互,是模拟调度的核心,用户自行开发的算法可在DataCenterBroker的方法中实现,从而实现调度算法的模拟

CIS:Cloud Information Service

源代码中的核心类;

  1. Cloudlet类:构建云环境下的任务;
  2. DataCenter:数据中心,提供虚拟化的网格资源,处理虚拟机信息的查询,包含虚拟机对资源的分配策略,云计算采用VMProvisoner处理虚拟机。
  3. DataCenterBroker类:隐藏了虚拟机的管理,如创建、任务提交、虚拟机的销毁等。
  4. Host类:扩展了机器对虚拟机除处理单元PE之外的参数分配策略,如带宽、存储空间、内存等,一台Host可对应多台虚拟机。
  5. VirtualMachine类:虚拟机类,运行在Host之上,与其他虚拟机共享资源,每台虚拟机由一个拥有者所有,可提交任务,并由VMScheduler类定制该虚拟机的调度策略。

CloudSim下仿真步骤:

  1. 初始化cloudsim包
  2. 创建数据中心Datacenter
  3. 创建数据中心代理Broker
  4. 创建虚拟机
  5. 创建云任务
  6. 执行资源调度算法,完成过任务到虚拟机间的映射
  7. 启动仿真程序
  8. 打印仿真结果

CloudSim 工作模型图中的 CIS(Cloud Information Service)负责将用户请求映射到云服务提供商,DatacenterBroker 起到模拟 SaaS 提供商代理的作用,并且能够根据 QoS 的需求 协商资源和服务的分配策略。而通过扩展 VmScheduler 类能 调整处理器的共享策略,该类是抽象类实现了主机的组件并 模拟虚拟机的分配调度策略。VMAllocationPolicy 是负责将 虚拟机分配给主机的虚拟机监视器调度策略。

云计算中的任务调度,主要分为任务到资源的调度和资源监控两个过程

MCT Max Completed Time最大完成时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182397.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月13日 下午4:16
下一篇 2022年10月13日 下午4:16


相关推荐

  • Java——从键盘输入数组

    Java——从键盘输入数组补充知识JavaScanner类java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。toString()方法用于返回以一个字符串表示的Number对象值。目录补充知识一、从键盘获取不限制长度的数组输出结果二、从键盘获取限制长度的数组输出结果三、参考一、从键盘获取不限制长度的数组importjava.util.Scanner;publicclassInputArrayNoLimitLength{ publicst

    2022年6月26日
    33
  • c++线程间通信_c语言两个线程如何通信

    c++线程间通信_c语言两个线程如何通信c++线程间通过PostThreadMessage和GetMessage函数进行通信,下面用代码演示两个线程间的通信://ConsoleApplication1.cpp:定义控制台应用程序的入口点。//#include<stdio.h>#include<windows.h>usingnamespacestd;DWORDWINAPIThreadFun1(LPVOIDparam);DWORDWINAPIThreadFun2(LPVOIDpara

    2022年10月6日
    4
  • 本地部署 DeepSeek-R1-671B 满血版大模型教程,收藏这一篇就够了!!!

    本地部署 DeepSeek-R1-671B 满血版大模型教程,收藏这一篇就够了!!!

    2026年3月16日
    1
  • 人工智能学习路线

    阶段一、人工智能基础- 高等数学必知必会本阶段主要从数据分析、概率论和线性代数及矩阵和凸优化这四大块讲解基础,旨在训练大家逻辑能力,分析能力。拥有良好的数学基础,有利于大家在后续课程的学习中更好的理解机器学习和深度学习的相关算法内容。同时对于AI研究尤为重要,例如人工智能中的智能很大一部分依托“概率论”实现的。一、数据分析1)常数e2)导数3)梯度4)Taylor5)gini系数6)信息熵与…

    2022年4月9日
    1.3K
  • encoder和decoder的区别_python encode函数

    encoder和decoder的区别_python encode函数python内部的字符串一般都是Unicode编码。代码中字符串的默认编码与代码文件本身的编码是一致的。所以要做一些编码转换通常是要以Unicode作为中间编码进行转换的,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode编码(encode)成另一种编码。decode:的作用是将其他编码的字符串转换成Unicode编码,name.decode(“GB23…

    2026年4月15日
    2
  • redis雪崩和击穿_redis缓存雪崩

    redis雪崩和击穿_redis缓存雪崩缓存雪崩缓存雪崩是指在同一时间段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。解决方案:给不同的key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加将降级限流策略给业务添加多级缓存缓存击穿缓存击穿问题也叫热点key问题,就是一个被高并发并且缓存重建业务较复杂的key突然失效了,无数的请求访问会瞬间给数据库带来巨大的冲击;例如一个人查询数据库重建缓存数据,在缓存数据还没有写入数据库的时候其它的人也对进行重复

    2025年11月17日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号