Cloudsim学习笔记——基本知识
大家好,又见面了,我是你们的朋友全栈君。
Cloudsim 澳大利亚墨尔本学校的网格实验室和Gridbus项目推出,是在离散事件模拟包SimJava上开发的函数库,继承了GridSim的编程模型,特点:
- 支持大型云计算的基础设施的建模和仿真;
- 一个自足的支持数据中心、服务代理人、调度和分配策略的平台
独特功能:
- 提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协调的虚拟化服务;
- 在对虚拟化服务分配处理核心时能够在时间共享和空间共享之间灵活切换
软件结构框架和体系结构组件:SimJava 、GridSim 、CloudSim 、UserCode.
CloudSim是在GridSIm模型基础上发展而来,提供了云计算的特性,支持云计算的资源管理和调度模拟。云计算和网格计算的最大区别是云计算采用了成熟的虚拟化技术,将数据中心的资源虚拟化为资源池,打包对外向用户提供服务,CloudSim体现了此特点,扩展部分实现了一系列接口,提供基于数据中心的虚拟化技术、虚拟化云的建模和仿真功能。
CloudSim提供了资源的检测、主机到虚拟机的映射功能CIS和DataCenterBroker实现资源发现和信息交互,是模拟调度的核心,用户自行开发的算法可在DataCenterBroker的方法中实现,从而实现调度算法的模拟
CIS:Cloud Information Service
源代码中的核心类;
- Cloudlet类:构建云环境下的任务;
- DataCenter:数据中心,提供虚拟化的网格资源,处理虚拟机信息的查询,包含虚拟机对资源的分配策略,云计算采用VMProvisoner处理虚拟机。
- DataCenterBroker类:隐藏了虚拟机的管理,如创建、任务提交、虚拟机的销毁等。
- Host类:扩展了机器对虚拟机除处理单元PE之外的参数分配策略,如带宽、存储空间、内存等,一台Host可对应多台虚拟机。
- VirtualMachine类:虚拟机类,运行在Host之上,与其他虚拟机共享资源,每台虚拟机由一个拥有者所有,可提交任务,并由VMScheduler类定制该虚拟机的调度策略。
CloudSim下仿真步骤:
- 初始化cloudsim包
- 创建数据中心Datacenter
- 创建数据中心代理Broker
- 创建虚拟机
- 创建云任务
- 执行资源调度算法,完成过任务到虚拟机间的映射
- 启动仿真程序
- 打印仿真结果
CloudSim 工作模型图中的 CIS(Cloud Information Service)负责将用户请求映射到云服务提供商,DatacenterBroker 起到模拟 SaaS 提供商代理的作用,并且能够根据 QoS 的需求 协商资源和服务的分配策略。而通过扩展 VmScheduler 类能 调整处理器的共享策略,该类是抽象类实现了主机的组件并 模拟虚拟机的分配调度策略。VMAllocationPolicy 是负责将 虚拟机分配给主机的虚拟机监视器调度策略。
云计算中的任务调度,主要分为任务到资源的调度和资源监控两个过程
MCT Max Completed Time最大完成时间
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182397.html原文链接:https://javaforall.cn
相关文章
- SAE J1939学习笔记(一)「建议收藏」
- zkw线段树 学习笔记
- Python 笔记 第二章
- Pytorch模型训练实用教程学习笔记:一、数据加载和transforms方法总结
- Vue笔记(7) 很长
- c++之分支语句和逻辑运算符笔记
- APK多渠道加固打包笔记之360加固宝
- 学习笔记 | Android Studio安卓开发入门经验总结 干货
- K8S学习笔记之如何让多个Pod均匀部署到各个节点上
- MySQL 之单表查询(精简笔记)
- rust写操作系统 rCore tutorial 学习笔记:实验指导二 内存分配与管理
- 从零开始的异世界生信学习 linux部分 linux 基础---学习笔记-3 Linux三剑客 grep,sed,awk
- CMU 15445 学习笔记—8 Index Concurrency Control
- C++11新特性学习笔记
- python学习笔记—交叉表的使用
- 【嵌入式开发】gcc 学习笔记(一) - 编译C程序 及 编译过程
- PortSwigger之不安全的反序列化+服务器端模板注入漏洞笔记
- mysql主从复制笔记详解数据库
- SQL学习笔记4:进阶之JOIN and UNION-JOIN,LEFT JOIN,RIGHT JOIN , FULL JOIN and UNION详解数据库
- Hibernate学习笔记二详解编程语言
- [angularjs] angularjs系列笔记(八)事件详解编程语言
- CSS学习笔记09 简单理解BFC详解编程语言
- Linux防火墙iptables学习笔记(四)iptables实现NAT
- Javascript学习笔记9prototype封装继承
- JS正则表达式的相关方法(正则学习笔记1)
- jQuery.Validate使用笔记(jQueryValidation范例)
- javascript笔记String类replace函数的一些事
- PHP面向对象学习笔记之一基础概念
- MySQL学习笔记5:修改表(altertable)
- Android笔记之:深入ViewStub的应用
- jQuery学习笔记之Ajax操作篇(一)-数据加载
- Android学习笔记(一)环境安装及第一个helloworld
- Redis总结笔记(二):C#连接Redis简单例子