精华内容
下载资源
问答
  • 云计算框架的搭建

    千次阅读 2019-04-16 18:35:51
    一、什么是云计算平台  云计算平台也称为云平台。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。 二、云计算平台服务特征  ...

    一、什么是云计算平台
      云计算平台也称为云平台。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。

    二、云计算平台服务特征
      (1)服务无处不在--用户只需要一台具备基本计算能力的计算设备以及一个有效的互联网连接,就可以随时随地使用该服务。从这个意义来讲,任何联网的应用,都具备成为云计算平台的潜力。

    (2)具备进入成本--用户具备使用该服务的需求,但是并不具备独立提供该服务的经济或者技术条件。譬如说某些企业需要定期地进行大规模的运算,但是并不值得专门为此购置一台具备大规模运算能力的计算设备。超算中心通过发展客户群让多个用户来分担超级计算机的成本,使得其用户能够在不拥有计算设备的情况下以较小的成本完成计算任务。

    (3)用户决定应用--云计算平台提供计算能力(包括处理器、内存、存储、网络接口),但是并不关心用户的应用类型。用户利用云计算平台所提供的计算能力,并且充分考虑云计算平台所设定的(技术和经济)限制,开发出丰富多彩的应用。满足如上几个条件的云计算平台,又可以按照其所提供服务之层次细分为基础设施服务(IaaS,例如在线存储和数据库服务)、平台即服务(PaaS,例如AMP虚拟主机和JavaEE应用服务器容器)和软件即服务(SaaS,例如GoogleDocs)。很多厂商在提到云计算的时候,往往会同时提到分布式计算(DistributedCompuTIng)、并行计算(ParalleCompuTIng)、网格计算(GridCompuTIng)、实用计算(UTIlityComputing)等等概念。事实上用户并不关心这些五花八门的新名词,他们所关心的仅仅是某项服务是否可用以及使用该服务所需要的成本。说得难听点,这些概念仅仅是云计算平台提供商在创建云计算平台时才需要了解的技术细节,它们可以被认为是云计算的表象,但并不是云计算的本质。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    三、云计算平台的功能
      云计算平台使企业可以更有效地利用其IT硬件和软件投资。企业可以通过该基础结构打破相互隔离的系统中固有的物理障碍,对系统群的管理犹如对单个实体那样自动进行。对于提供信息服务、降低IT管理复杂性、促进创新、以及通过实时工作负载均衡来提高响应能力而言,云计算平台都是最好的选择。

    下面我们通过几个场景来看看使用云计算平台之后的情况:

    1)当你需要使用服务资源的时候:

    用户可以通过一个简单的Web界面联机提交使用服务资源的申请。他们可以为自己的项目指定期望的开始日期和结束日期。数据中心管理员可以批准或拒绝这个申请。批准后自动化服务管理平台就会从可用的资源池中选择适合的服务器、存储、操作系统和软件等资源,并且根据所申请的资源配置要求对这些资源进行部署。用户只需在等待很短的时间后就会收到平台自动发送的信息,告知用户所需求的资源已经部署完毕,可以使用。

    2)当服务资源出现紧张的时候:

    虚拟世界需要大量的计算能力,当虚拟空间扩大或登录用户增多时尤其如此。大型多人在线网络游戏(MMPOG)就是超大型虚拟世界的典范。一些商业化虚拟世界拥有多达几百万的注册用户,并且由数千台服务器提供支持。

    托管虚拟世界的企业可以通过自动化服务管理平台中的实时监控器,显示当前基础结构的使用情况,或者显示虚拟世界的任何指定“区域”中客户的平均响应时间。该企业发现A区域的用户数量大幅增加,导致资源使用增加,响应时间正在减缓,而此时X区域和Y区域的用户数量较少,负载较低。于是,该企业可以在自动化服务管理平台中通过手动的方式重新平衡资源,(当然我们也可以预先在平台中定义好资源平衡使用的策略,这样在发生资源使用紧张的时候,管理平台就可以按照定义好的策略自动触发相应的操作)分别从X区域和Y区域分别撤出5台服务器,并将这10台服务器提供给A区域使用,用来缓解负载。几分钟后,这10台服务器重新分配完成,而这个过程没有对任何区域中的任何用户造成影响,A区域的响应时间也恢复到可接受的水平。该企业通过重新利用未充分使用的设备,极大地节省了成本,并保持了较高的客户满意度、避免了用户需要呼叫帮助中心来寻求帮助,并且在几分钟之内就完成了以前需要几天或几周时间来完成的工作。

    用户对于云计算平台的主要需求包括:

    云计算平台最好是一个基于Web的门户服务形式,用户可以很方便的登录并申请所需的资源。

    平台应该可以通过自动或者半自动的方式发现数据中心中的可用资源并提供给用户选择使用。

    平台应该可以得到流程引擎的支持,可以整合管理流程(例如ITIL),例如申请、批准、评审和审计等功能。

    云计算平台的后端应该是一系列用来进行部署、监控、计费的系统,满足用户对于申请资源的要求。

    自动化供应

    用户通过基于角色的Web门户网站来实现自动化供应。用户在门户网站填写一张表单来定义其硬件平台、CPU、内存、存储、操作系统、中间件和团队成员及其相关角色等信息。整个过程大约需要5分钟。通过门户网站提交请求之后,数据中心管理员会得到通知,并登录以批准、修改和/或拒绝该请求。一旦批准,系统就会启动一个定义好的自动化工作流程来完成整个部署工作。完全自动化的供应流程符合安全要求,减少了人为原因造成的错误,大大缩短了系统部署的时间。

    预订和调度

    在提交服务申请时,需要用户了解资源使用的时间情况。因为在提交申请时需要用户填写服务的开始和结束时间,这样便于数据中心的管理人员对于资源使用情况有所了解。在服务到达结束时间时,系统会自动将资源收回,以便可以给其他需要资源的服务来使用。当然用户可以变更服务的结束时间,这也是管理平台的重要功能之一,我们将在下面的部分说明。

    变更管理

    在某些项目中可以能会面临开发延期或者新需求等有关的一些未知因素。这些未知因素有时会使遵守合同规定的结束日期变得困难,当结束日期在项目延期之前几个月便得到确认时,这种情况尤其明显。因此,系统允许用户请求延长其原定的合同结束日期。

    经过授权的项目成员可以登录到平台门户网站,请求延长合同结束日期。数据中心管理员从资源能力和业务合理性两方面对该请求进行评估。管理员可以登录到Web界面来查看该请求,并进行审批操作。新的日期一经批准,将会执行相应的任务,也会对合同进行更新以反映新的结束日期。

    更改合同

    云计算平台还提供对于服务申请资源的变更功能。对于采用新技术或未经测试技术的高风险项目而言,经常需要变更服务器的操作系统、软件等资源。

    云计算平台的合同变更功能非常灵活,用户可以在原有的系统中添加或删除软件组件或者连同操作系统完全重新部署。用户也可以向现有合同中添加服务器或者去除服务器,或者在符合要求的硬件系统上,也可以选择增加或减少分配给一个或多个虚拟机的资源数量。当变更申请提交后,整个系统的变更操作都是自动进行的,无需人工介入,系统可以在很短的时间内完成变更申请,提供给用户使用。
      四、云计算平台搭建方法
      目前开源的云计算平台的搭建都要依托Linux系统,因此我们有2种办法搭建云计算平台:安装Linux系统和在其他操作系统下安装Linux虚拟机后搭建云平台。目前主流的虚拟机有:

    VirtualBox

    Vmware

    有了Linux系统环境后就能搭建云计算平台了,几大开源云平台系统有:

    Hadoop系统

    OpenStack

    云计算平台的搭建=Linux系统+开源云平台+SSH框架。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    五、云计算平台原理
      1.Hadoop系统原理
      Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:Map Reduce和HDFS。基于 Hadoop,你可以轻松地编写可处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。

    简单的说:Map Reduce框架的核心步骤主要分两部分:Map和Reduce。当你向Map Reduce框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce对数据做进一步处理之后,输出最终结果。

    Map Reduce是Hadoop的核心技术之一,为分布式计算的程序设计提供了良好的编程接口,并且屏蔽了底层通信原理,使得程序员只需关心业务逻辑本事,就可轻易的编写出基于集群的分布式并行程序。从它名字上来看,大致可以看出个两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个子任务并行的执行,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果并输出。

    适合用 Map Reduce来处理的数据集(或任务)有一个基本要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。

    想要彻底了解Hadoop系统的原理是十分困难的,由于篇幅有限,知识水平也不高,我只能描写其大概面貌,本次课程设计的核心是学习搭建与运用云计算平台,没有足够的时间与精力去完全了解Hadoop的原理,在这里我们不妨就理解为:

    Hadoop系统=HDFS分布式文件系统+Map Reduce运算机制。

    这样就能很好的明白它们的大致关系,有助于对后面实验的理解。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    2.Ubuntu系统
      本次课程设计所使用的Linux系统是ubuntu14。

    Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“Ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    LTS 是 Ubuntu 的长期支持版,因此 Ubuntu 14.04 支持周期长达 3-5 年。因此 Ubuntu 14.04 是追求稳定的用户和企业的最佳选择。所以本次课程设计选择ubuntu14.04LTS版本完全能够应付云平台搭建与相关实验的任务。

    云计算平台是什么_云计算平台的搭建_云计算平台的功能

    六、云计算平台搭建过程
      1.Ubuntu系统的安装
      去Ubuntu官网下载好对应版本的系统镜像,并用虚拟光驱软件加载镜像,选择安装Ubuntu系统,一路点击继续后大约10来分钟就可以安装好Ubuntu系统了。

    2.Hadopp系统部署
      修改机器名:

    打开/etc/hostname文件,将/etc/hostname文件中的Ubuntu改为你想取的机器名。这里我取“s15“。重启系统后才会生效。

    安装ssh服务:

    在terminal窗口中输入:Sudoaapt-getinstallopenssh-server

    建立ssh无密码登录本机

    在terminal窗口中输入:

    ssh-keygen-tdsa-P‘’-f~/.ssh/id_dsa

    cat/.ssh/id_dsa.pub》》/.ssh/authorized_keys

    登录localhost:

    在terminal窗口中输入:bin/start-all.sh

    安装Hadoop:

    下载Hadoop安装包并解压,打开Hadoop/conf/Hadoop.sh文件,配置conf/Hadoop.sh:找到#exportJAVA_HOME=。。。一行,去掉#,然后加上本机JDK的路径。

    打开conf/core-site.XML文件,加入如下代码:

    《configuration》

    《property》

    《name》fs.default.name《/name》

    《value》hdfs://localhost:9000《/value》

    《/property》

    《/configuration》

    打开conf/mapred-site.XML文件,编辑如下:

    《configuration》

    《property》

    《name》mapred.job.tracker《/name》

    《value》localhost:9001《/value》

    《/property》

    《/configuration》

    打开conf/masters文件和conf/slaves文件,添加secondary的主机名,作为单机版环境,这里只需填写localhost就Ok了。

    到这里Hadoop系统就部署完毕了。调用bin/start-all.sh命令即可以启动Hadoop,用JSP命令查看系统状态,出现如下信息说明系统部署成功:在这里插入图片描述

    展开全文
  •  OpenStack项目是一个开源的云计算平台,旨在实现很简单,大规模可伸缩,功能丰富。来自世界各地云计算开发人员和技术人员共同创建OpenStack项目。OpenStack通过一组相关的服务提供一个基础设施即服务(IaaS)解决方案。...
    • 美国国家宇航局(NASA)和Rackspace合作开发的一个开源项目。
    • 目的是为公有云和社区云提供软件,但因其灵活性,也可以定制私有云。
    • 可以帮助服务商和企业实现类似于亚马逊Amazon EC2和S3的云基础架构服务
    • Openstack是一个Iaas层的软件。
    • 已经得到了IBM、Dell、HP、AMD、Intel等各大IT厂商的支持。
    •    Openstack的开源社区也为Openstack的发展提供了强大的动力。

            OpenStack项目是一个开源的云计算平台,旨在实现很简单,大规模可伸缩,功能丰富。来自世界各地云计算开发人员和技术人员共同创建OpenStack项目。OpenStack通过一组相关的服务提供一个基础设施即服务(IaaS)解决方案。每个服务提供了一个应用程序编程接口(API),促进了这种集成。根据您的需要,你可以安装部分或全部服务。下表描述了构成OpenStack架构的OpenStack服务:

    OpenStack Services 
    Service 
    Code Name 
    Description 

    Identity Service 
    Keystone 
    User Management 

    Compute Service 
    Nova 
    Virtual Machine Management 

    Image Service 
    Glance 
    Manages Virtual image like kernel image or disk image 

    Dashboard 
    Horizon 
    Provides GUI console via Web browser 

    Object Storage 
    Swift 
    Provides Cloud Storage 

    Block Storage 
    Cinder 
    Storage Management for Virtual Machine 


    Network Service 
    Neutron 
    Virtual Networking Management 

    Orchestration Service 
    Heat 
    Provides Orchestration function for Virtual Machine 

    Metering Service 
    Ceilometer 
    Provides the function of Usage measurement for accounting 

    Database Service 
    Trove 
    Database resource Management 

    Data Processing Service 
    Sahara 
    Provides Data Processing function 

    Bare Metal Provisioning 
    Ironic 
    Provides Bare Metal Provisioning function 

    Messaging Service 
    Zaqar 
    Provides Messaging Service function 

    Shared File System 
    Manila 
    Provides File Sharing Service 

    DNS Service 
    Designate 
    Provides DNS Server Service 

    Key Manager Service 
    Barbican 
    Provides Key Management Service 

    下面的图显示了OpenStack服务之间的关系: OpenStack的基本概念与架构图_IOS为了设计、部署和配置OpenStack,管理员必须理解明白OpenStack的逻辑架构。正如OpenStack概念架构图显 示,OpenStack包含一些独立的部分,称作OpenStack服务。所有服务授权认证都是通过Identity服务。单个服务通过公共APIs与其 他服务进行交互,特权管理员用户命令除外。在内部,OpenStack服务是由几个进程组成。所有服务至少有一个API进程,用来监听API请求,预处理 它们并传递它们到其他服务。除了Identity服务外,其他服务实际工作是由不同的进程完成。对于一个服务之间的进程通信,使用AMQP消息块。这些服 务状态存储在一个数据库中。当部署和配置你的OpenStack云,你可以选择不同的消息队列服务和数据库服务,如RabbitMQ、MySQL、 MariaDB和SQLite。下面的图显示了大多数通用的OpenStack云:OpenStack的基本概念与架构图_IOS

    转载于:https://blog.csdn.net/chengqiuming/article/details/79293785

    https://www.aliyun.com/jiaocheng/382795.html

    展开全文
  • OpenStack实验手册 第一部分 基础环境准备 Vmware WorkStation的安装 安装Vmware WorkStation 12 Pro版本一路保持默认设置即可安装过程即将完成时输入激活码进行...依次点击编辑/虚拟网络编辑器如下所示 选择VMnet8
  • 云计算完整框架

    千次阅读 2010-06-25 07:37:00
    云计算是目前IT界最流行的词。 云,是一种朦胧的美,一种特殊的感觉。云计算也如其名,是一个美妙的构思。 云计算发展到今天,又融入了... 这次云计算框架中,选择了xen,作为虚拟管理,xen是由

    云计算是目前IT界最流行的词。

    云,是一种朦胧的美,一种特殊的感觉。云计算也如其名,是一个美妙的构思。

    云计算发展到今天,又融入了一种新技术,那就是虚拟技术。曾经的云技术是从网格计算中而来,运用在群组计算机中,随着时代的发展,群组计算机需要大量的空间,人力和物力。而虚拟技术的发展,正好解决了这个问题,让大量的群组计算机,集中在几台服务器上。

     1.虚拟技术

    虚拟技术的详情请看之前的日志。

    这次云计算的框架中,选择了xen,作为虚拟管理,xen是由剑桥大学开发,传说是剑桥高手从中国禅道中悟出来的。。。

    选择xen,有两大理由:一,xen是开源软件,不需要任何花费。二,xen是半虚拟化,其性能领先于完全虚拟化。

    xen安装过程(源码安装)




    这里有一个需要注意,xen的dom0不是host os,而是guest os。这是半虚拟化的一个特色,所有系统都由xen hypervisor来管理,hypervisor是一个微型系统,所以dom0的cpu使用率几乎可以达到97%

    但为什么ubuntu先安装,再安装xen,而ubuntu是如何成为guest os?




    ubuntu安装之后,加入了xen和linux kernel,当启动时候,就将使用xen kernel来启动。其余软件,也就是外壳,都是ubuntu的外壳。而xen hypervisor才是真正管理虚拟机的宿主机。

    2.云环境

    eucalyptus是一个很不错的云环境,NASA美国航空航天局,也用这个作为云环境。




    CLC云控制,是所有系统的总控制,控制着网络,IO设备,读写操作。

    CC簇控制,控制着一个簇里面的系统。

    NC节点控制,单个系统的控制。

    当客户提交任务,由CLC来平均分配任务,让计算机的效率发挥到最高,让普通机器也能完成以前只有超级计算机才能完成的事情。

    从上图中,也可以看出,eucalyptus对于存储方面的贡献不大。

    在当今世界,数据的存储已经越来越重要,试想银行要是掉了所有的数据,那是多么杯具的一件事。

    3.存储结构

    hadoop,是一个分布式系统架构,主要包括HDFS和MapReduce技术,MapReduce

    是google的看家法宝。目前hadoop主要由雅虎公司负责开发。

    HDFS,Hadoop Distributed File System。这套分布式系统具有高度容错性。(理论具体详见百度百科)

    接下来看下HDFS的结构

    HDFS中,分为NameNode和DataNode,前者管理,后者被管理。

    当客户要求对存储区域操作时,首先向NN申请,然后由NN来决定存储的位置,申请一般以64M为一个单位,也就是一个block。

    每份数据都有3个备份,二个备份是在同一个Rack之内的不同DataNode中,另一个备份则在其他Rack中。(感谢网友指正,原先所写的2个备份有误)

    MapReduce,hadoop为了提高处理大量数据的效率而采用的的专用编程模型。map和reduce函数都是基于java的。(这里感谢网友的指正,原先所说的搜索技术是错误的。)


    看图估计也未必能清楚的明白,毕竟这个是google的看家法宝。

    举个例子来说明一下:

    客户1:I am a student

    客户2:I am living in Kobe

    Map函数将会得到:

    (I,1)  (am,1)  (a,1)  (student,1)

    (I,1)  (am,1)  (living,1)  (in,1)  (kobe,1)

    而再经过Reduce函数时候,得到:

    (I,2)  (am,2)  (a,1)  (student,1)  (living,1)  (in,1)  (kobe,1)

    在同时处理数据时,关键词I和am,都节约了一次处理的时间。想像一下,

    同时有大量数据处理,将会节约多少时间。


    这是最后的实现图,整个云环境的框架也就出来了。唯一的不足是,还没有云安全这一块,这一块目前世界上也是一个较为空白的区域,等待高手们的共同研究。

     

     

    展开全文
  • 本系统首先在云计算三层基本服务模式的基础上设计整体框架,包括基础设施层、平台服务层和应用层;接着选取系统设计所需的检索器、处理器、储存器和传输器等四种主要硬件设备;然后利用Visual Basic6.0计算机设计...
  • 云计算仿真框架CloudSim介绍

    千次阅读 2017-01-04 10:56:07
    云计算仿真框架CloudSim介绍 jiangzw#ihep.ac.cn (以下为本人某次报告做的调研的PPT及其它一些实践记录,为保证清晰度,一些插入的图片较大,可在新标签页中打开) ( 本文基于 署名 2.5 中国大陆 许可协议发布...

    幻灯片1

    云计算仿真框架CloudSim介绍

    jiangzw#ihep.ac.cn

    (以下为本人某次报告做的调研的PPT及其它一些实践记录,为保证清晰度,一些插入的图片较大,可在新标签页中打开)

    ( 本文基于   署名 2.5 中国大陆  许可协议发布,欢迎转载、演绎,但是必须保留本文的署名  John 并包含本文链接。 )

    欢迎交流

    2013年04月09日 

    幻灯片2

    提纲

    l  概况

    l  原理与功能

    l  云平台组件模拟

    l  数据中心

    l  服务代理

    l  云信息服务

    l  云平台行为模拟

    l  云平台策略模拟

    l  资源分配

    l  任务调度

    l  例子与扩展

    l  相关研究文献

    2

    幻灯片3

    1.概况    

    l  1.1 产生背景

    l  云计算得到广泛使用(北美),需要对云环境下的资源分配与服务调度进行性能评测、优化等

    l  构建实际的云平台成本高、效率低

    l  公开的测试平台(Yahoo,Amazon)不易申请,规模较小,环境难以控制,结果难以重现

    l  需要可重复的、可控制的、成本低廉的仿真环境

    l  已经出现的分布式模拟器对虚拟化、应用管理及云计算的即用即付经济驱动的建模支持不足(GridSim,SimGrid,GangSim)

    l  为简化云平台的建设与测试过程,澳大利亚墨尔本大学云计算与分布式系统实验室开发了CloudSim(2009)

    3

    幻灯片4

    1.概况    

    l  1.2 主要特点

    l  支持在单一物理节点仿真和大规模云计算数据中心的实例化

    l  提供虚拟化引擎以完成虚拟机服务的创建与管理

    l  支持对数据中心网络拓扑与应用间消息传递的建模

    l  实现了多个层面的资源分配与任务调度的策略,并支持用户自定义

    l  支持虚拟机到主机的分配、虚拟机间资源共享策略的定义

    l  支持节能的数据中心电力供应建模

    l  支持仿真实体的动态加入、暂停与重启

    l  通过数据中心代理组件实现了云计算的经济驱动模型

    l  研究人员只需关注抽象层的算法、策略、协议的开发

    l  可扩展的、开源的、随社区需求进化的框架:1.0->2.0->2.1->3.0->3.0.2(201211)

    4

    幻灯片5

    提纲

    l  概况

    l  原理与功能

    l  云平台组件模拟

    l  数据中心

    l  服务代理

    l  云信息服务

    l  云平台行为模拟

    l  云平台策略模拟

    l  资源分配

    l  任务调度

    l  例子与扩展

    l  相关研究文献

    5

    幻灯片6

    2.1云平台典型组件模拟

    l  实体概念

    l  CloudSim模拟云系统中的主要实体Entity

    l  Datacenter:提供云平台的硬件资源

    l  DatacenterBroker:服务代理商

    l  CIS:提供信息资源的注册与查询

    l  实体之间可以互相传递、处理事件event

    l  CloudSim将实体抽象为SimEntity,包含基本属性与操作:

    l  实体初始化

    l  事件处理

    l  实体销毁

    public abstract class SimEntity {

    private String name;

    private int id;

    private SimEvent evbuf;

    private int state;

     public abstract void startEntity();

     public abstract void processEvent(SimEvent ev);

     public abstract void shutdownEntity();

     }

      

    6

    幻灯片7

    2.1云平台典型组件的模拟

    l  云计算平台数据中心Datacenter

    l  模拟云供应商的核心基础设施服务(硬件)

    l  可设定指令架构、操作系统、VMM、调度间隔、成本、VM到主机的分配策略

    l  管理一组物理主机Host

    l  可以设定主机的处理器数目、CPU主频、RAM、硬盘、带宽、VM间共享资源的策略、资源静态分配策略。支持同构与异构的主机配置。

    l  模拟数据中心网络行为

    l  以延时矩阵的模型仿真网络拓扑

    l  Network Datacenter模块强化了对网络拓扑的模拟

    l  3.0版本支持对应用程序之间的消息传递模拟

    7

    幻灯片8

    2.1云平台典型组件的模拟

    l  云计算平台服务代理DatacenterBroker

    l  与云服务的客户直接交互,充当客户与数据中心的中间人

    l  对客户屏蔽了云数据中心的内部操作

    l  设置VM参数:主频、处理器数目、VMM类型、带宽、镜像大小,对云任务的调度策略(时间共享、空间共享、动态负载)

    l  定义Cloudlet:对处理器要求、指令长度、输入与输出文件大小,对CPU、RAM、带宽利用模式

    l  用户只需向broker提交自己的上述服务请求即可

    l  定义一系列属性与函数,用于客户与数据中心的协调

    l  VM创建请求

    l  任务到VM的绑定策略

    public void submitVmList(List<? extends Vm> list) {

    getVmList().addAll(list);

    }

    public void submitCloudletList(List<? extends Cloudlet> list){

    getCloudletList().addAll(list);

    }

    public void bindCloudletToVm(int cloudletId, int vmId){

    CloudletList.getById(getCloudletList(), cloudletId).setVmId(vmId);

    }

    8

    幻灯片9

    2.1云平台典型组件的模拟

    l  云计算平台信息服务中心CloudInformationService

    l  扮演平台的黄页服务角色

    l  对新资源进行注册、加入索引

    l  对实体的服务请求进行查询

    l  在CloudSim初始化时自动创建

    public class CloudInformationService extends SimEntity {

    private final List<Integer> resList;

    private final List<Integer> arList;

    @Override

    public void processEvent(SimEvent ev) {

      int id = -1;   

      switch ( ev.getTag() ) {  

       case CloudSimTags.REGISTER_RESOURCE:

          resList.add( (Integer) );break;

       case CloudSimTags.REGISTER_RESOURCE_AR:

          resList.add( (Integer) ev.getData() );

          arList.add( (Integer) ev.getData() ); break;

       case CloudSimTags.RESOURCE_LIST:

          id = ( (Integer) ev.getData() ).intValue();

          super.send(id, 0L, ev.getTag(), resList); break; 

    }

    public boolean resourceExist(int id) {}

    }

    9

    幻灯片10

    2.2云平台典型行为的模拟

    l  行为Event

    l  模拟了云平台中典型行为:虚拟机事件、任务事件、其它事件

    l  event的重要属性:内部类型、发生时间、等待时间、目的实体ID、源实体ID、用户定义的标签、数据

    l  处理过程:

    l  event被创建后,被放入等待队列FutureQueue,在等待时间结束时未被处理的event会被移入DefferedQueue。

    l  优点:任务被创建后可以随时被取消。

    10

    幻灯片11

    2.2云平台典型行为的模拟

    l  虚拟机事件、任务事件、资源事件

    l  创建VM(VM_CREATE)

    l  添加VM数据(VM_DATA_ADD)

    l  删除VM数据(VM_DATA_DEL)

    l  迁移VM(VM_MIGRATE)

    l  销毁VM(VM_DESTROY)

    l  任务提交(CLOUDLET_SUBMIT)

    l  任务暂停(CLOUDLET_PAUSE)

    l  任务恢复(CLOUDLET_RESUME)

    l  全局资源注册(REGISTER_REGIONAL_GIS)

    l  ……

    11

    幻灯片12

    2.3云平台典型策略的模拟

    l  资源分配、任务调度策略

    l  虚拟机到主机的分配(VmAllocationPolicy):合适的主机资源等

    l  处理器能力分配(PeProvisioner)

    l  带宽分配(BwProvisioner)

    l  内存分配(RamProvisioner)

    l  资源利用模式(UtilizationModel)

    l  虚拟机间共享资源的实时调度(VmScheduler)

    l  VMM对虚拟机间共享处理器资源的策略:空间共享(VmSchedulerSpaceShared),时间共享(VmSchedulerTimeShared)

    l  虚拟机内对任务的调度(CloudletScheduler)

    l  虚拟机对收到的多个cloudlet共享处理器资源的策略:空间共享(CloudletSchedulerSpaceShared),时间共享(CloudletSchedulerTimeShared)

    12

    幻灯片13

    2.3云平台典型策略的模拟

    l  资源分配、任务调度策略

    l  继承相应的类,可进行扩展,实现自己的策略

    l  CloudSim元数据架构图

    l  以虚拟机的主机分配策略为例

    l  寻求能满足VM需求的Host,然后把VM创建到该Host上

    l  核心函数:public abstract boolean allocateHostForVm(Vm vm);

    l  CloudSim已实现的一种分配策略VmAllocationSimple

     

    13

    幻灯片14

    提纲

    l  概况

    l  原理与功能

    l  云平台组件模拟

    l  云平台行为模拟

    l  云平台策略模拟

    Cloudsim的元数据结构图,蓝色为用于二次开发的:

    层次结构图(cloudsim 2版本的):

    l  例子与扩展

    l  云任务到虚拟机绑定策略的设计与测试

    l  典型应用扩展

    l  相关研究文献

    14

    幻灯片15

    3.1实例呈现

    0.编程环境准备:安装JRE环境,下载、解压clodsim包,配置classpath,导入eclipse开发

    整理、验证后的cloudsim 安装与配置:

    0.安装配置Java环境,Java6即可支持CloudSim3.0了。

    1.下载对应的包

    2.把jar包添加到classpath中,这步可以不用。

    先设置CloudSimHome

    .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;F:\Application\Apache Software Foundation\lib;F:\Application\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\enu\sqljdbc4.jar;F:\Application\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\enu\sqljdbc.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;%CloudSimHome%\jars;%CloudSimHome%\jars\cloudsim-3.0.2.jar;%CloudSimHome%\jars\cloudsim-3.0.2-sources.jar;%CloudSimHome%\jars\cloudsim-examples-3.0.2.jar;%CloudSimHome%\jars\cloudsim-examples-3.0.2-sources.jar;

    3. 下载 flanagan.jar包用于运行例子

    https://groups.google.com/group/cloudsim/attach/4391639148101948/flanagan.jar?part=4&authuser=0  

    在classpath中加入:

    ;%CloudSimHome%\jars\flanagan.jar

     

    4. 

    运行步骤( Eclipse中执行)

    (1)首先启动Eclipse主程序,在Eclipse主界面上选择File→New→Project命令,打开“New Project”窗口

    新建一个工程

    (2)选择“Java Project”,单击“Next”,创建一个Java工程

    (3)填写Java工程的名称,取消选择复选框“Use default location”,浏览CloudSim包(含源代码)所在的目录,并选定该目录

    (4)单击“Next”按钮,显示Java工程的配置界面,该界面的选项卡包括源代码、工程和库等信息 

    (5)单击“Finish”按钮完成创建Java工程的工作

    F在Eclipse的主界面上,选中一个实例的源代码, 然后选中,右键 运行程序

     

    仿真步骤
    1. 初始化CloudSim库
    2.创建数据中心:
    2.1.创建处理单元Pe并设置供应策略
    2.2.创建物理主机:设置主机ID,内存、带宽及其供应策略,硬盘存储,Pe列表,对主机内虚拟机间共享CPU的调度策略.之后创建含多个主机的列表
    2.3.创建数据中心特征对象:
    设置指令架构,操作系统类型,VMM类型,主机列表,时区,单位成本参数:处理器成本,内存成本,存储成本,带宽成本。
    2.4.创建数据中心:
    设置名称,上述特征,主机列表及虚拟机到物理机的分配策略,SAN网络存储列表,调度间隔
    3.创建数据中心代理
    设置名称
    4.创建虚拟机:
    设置虚拟机ID,MIPS(处理能力),镜像大小,内存,带宽,CPU核数,VMM类型
    创建虚拟机列表,提交给数据中心代理。
    5.创建云任务:
    需要设置任务ID,任务长度,云任务输入文件大小,云任务输出文件大小,CPU核数要求,对资源(CPU,内存,带宽)的利用模式
    可创建云任务列表,也要提交给数据中心代理。
    6.指定任务到虚拟机的分配策略
    7.启动仿真
    8.结束仿真,统计、输出结果
    这个例子的虚拟机部署与任务分配示意图:
    对模型,策略进行对比的几个参数:耗时,CPU、内存、带宽占用率及变化率

     

     

    l  应用场景

    l  扩展CloudSim的DataCenterBroker类中绑定任务到虚拟机的方法,实现两种策略:简单绑定、贪心绑定。在云平台配置、任务参数相同的情况下,比较设计的两种绑定策略的性能(完成任务的时间)。

    l  相对简化的任务绑定策略实现

    15

    幻灯片16

    3.1实例呈现

     

    l  主要步骤

    l  0.编程环境准备:JDK6,CloudSim3.0,flanagan.jar(运行例子),eclipse

    l  1.初始化CloudSim库

    l  2.创建数据中心:创建处理单元,创建物理主机,创建数据中心特征对象

    l  3.创建数据中心代理

    l  4.创建虚拟机

    l  5.创建云任务

    l  6.指定任务到虚拟机的分配策略

    l  7.启动仿真

    l  8.结束仿真,统计、输出结果

    16

    幻灯片17

    3.1实例呈现

    l  分析

    l  对模型、策略的性能评估参数:耗时,CPU、RAM、带宽占用率及变化率

    l  简单绑定策略VS贪心绑定策略

    数据中心

    物理机配置

    虚拟机配置

    任务配置

    3 台物理机,

    9 台虚拟机

    CPU : 2400*4MIPS

    CPU : 1000*1MIPS

    CPU :单核

     

    内存: 10000MB

    内存: 2048MB

    长度: 17000-82000MI

     

    带宽: 1000000Mbps

    带宽: 1000Mbps

    输入大小: 350 bytes

     

    硬盘: 1000000MB

    镜像: 10000MB

    输出大小: 300 bytes

     

    VM 调度策略:TimeShared

    任务调度策略:SpaceShared

    绑定策略:简单绑定或贪心绑定

       

    VMM 类型: Xen

    数量: 15

    17

    幻灯片18

    3.2典型应用扩展

    l  利用CloudSim的仿真引擎进行应用订制与扩展

    l  CloudReport:提供云计算环境的可视化模拟,能生成网页报告,支持插件式的扩展。

    l  CloudAnalyst:研究跨地区的大规模社交网站如facebook对用户群需求的优化调度。

    l  RealCloudSim:基于CloudSim,NS2的虚拟机分配模拟器,能读取BRITE格式的网络拓扑并可视化呈现。

    l  CloudAuction:扩展CloudSim以支持基于拍卖的服务机制

    l  典型应用扩展演示

    扩展工具的展示:
    cloudReport,基于cloudsim的仿真引擎,提供云计算环境的可视化模拟,能生成网页报告,支持插件式的扩展。
    CloudAnalyst,利用cloudsim来研究跨地区的社会网络如facebook等对云平台调度的要求。
    REALcloudSim-9.0:基于cloudsim,NS2的虚拟机分配模拟器,能读取BRITE格式的网络拓扑并可视化呈现。
    cloudauction:扩展cloudsim以支持对拍卖机制的测试,
    CReST, the Cloud Research Simulation Toolkit(在今年的国际云计算与服务科学大会上将演示)
    是什么,能做什么,怎么用。

    18

    幻灯片19

    提纲

    l  概况

    l  原理与功能

    l  云平台组件模拟

    l  云平台行为模拟

    l  云平台策略模拟

    l  例子与扩展

    l  相关研究文献

    19

    幻灯片20

    4.基于CloudSim的研究文献

    l  CloudSim发布时间不长,但得到不少认可与应用,是学术界很流行的云平台仿真框架

    l  抽取云计算特点,简化平台的构建,效率高;理论模型

    (截至2013-04-09):

    这部分进一步说明了cloudsim可以做什么,也提供了一些研究思路
    IEEE:26篇与cloudsim相关的论文
    EI索引的有62篇, 有些是专业的集群、云与网络计算的会议
    CNKI收录的82篇:硕士论文(25),博士论文(1),都是近期一两年毕业的,核心期刊论文
    谷歌学术:936条,引用率最高的是cloudsim的开发者的论文,其次是利用cloudsim进行云计算资源分配与调度策略设计、优化的,比较新的是云数据中心节能优化的文章。
    资源分配策略,
    任务调度算法
    虚拟机部署模型
    资源负载均衡
    虚拟机迁移策略
    将mapreduce思想应用于cloudsim

     

    数据库

    数量

    备注(检索于2013-04-09)

    EI

    60+

    较多是专业的集群、云与网格计算会议

    IEEE

    25+

     

    CNKI

    80+

    学位论文,核心期刊

    Google Scholar

    600+

    2013年近90篇

    20

    幻灯片21

    4.基于CloudSim的研究文献

    l  主要应用思路:提出或改进某个模型(算法),扩展CloudSim相关接口,进行性能验证或比较(耗时、资源占用率与变化率)

    l  资源分配策略

    l  任务调度算法

    l  虚拟机部署、迁移策略

    l  资源负载均衡

    l  节能模型

    l  动态信任模型

    l  数据加密模型

    21

    幻灯片22

    相关资源

    l  CloudSim主页:www.cloudbus.org/cloudsim

    l  CloudSim代码托管:code.google.com/p/cloudsim(源码分析)

    l  CloudSim讨论组:groups.google.com/forum/?fromgroups#!forum/cloudsim

    l  深入介绍:CloudSim– A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms(Citations-223)

    l  3.0加入的算法说明:Optimal Online Deterministic Algorithms and Adaptive Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in Cloud Data Centers,2012

    l  刘鹏.云计算[M].北京:电子工业出版社,2011.

    l  Florian Fittkau. Simulating Cloud Deployment Options for Software migration support[D].Germany:University of Kiel,2012

    22

    幻灯片23

    云计算仿真框架CloudSim介绍

    谢谢!

    云计算仿真软件汇总:

    名称

    平台类型或语言

    虚拟化建模 

    网络建模

    物理环境建模

    应用建模

    通信建模

    图形界面

    代码许可

    开发人员

    备注

    CloudSim

    Java lib/API

    支持

    支持

    简单:耗能

    计算,数据传输

    简单

    无 

    开源

    墨尔本大学

    扩展性较好;发布较早较成熟;常用作其它模拟器的参照

    CReST

    Java App

    支持

    支持

    简单:温度,耗能

    简单

    简单

    有 

    开源

    Bristol大学

     

    FLE

    App

    不支持

    不支持 

    支持:基于流体力学的温度、空调模拟

    简单

    简单

    有 

    公司所有

    富士实验室

     

    CoolSim

    SaaS

    不支持

    不支持 

    支持:基于流体力学的温度、空调模拟

    简单

    不支持

    有 

    商业

    Applied Math Modelling Inc.

     

    SimGrid

    C lib/API 

    支持

    支持

    不支持

    简单

    不支持

    无 

    开源

    INRIA, Sci. & Tech. Institute

     

    VirtualCloud

    Java App

    支持

    不支持 

    不支持

    简单

     

    无 

    学院所有

    Indian Institute of Technology, Bombay

     

    Greencloud

    NS2,C++

    简单

    全面

    支持耗能建模

    简单计算,数据传输

    复杂

    有限

    开源

    University of Luxembourg

     

    iCanCloud

    C++,基于OMNET++与INET框架

    支持

    简单

    不支持

    简单

    完善

    有 

    开源

    Universidad Complutense de Madrid

     

    CloudSim
    http://www.cloudbus.org/cloudsim/
    ***********************************Split**************************************
    CloudReports
    https://github.com/thiagotts/CloudReports
    cloudsim的可视化扩展
    ***********************************Split**************************************
    CloudAnalyst
    将cloudsim应用于大型社交网站的不同地区用户群需求的优化调度研究
    ***********************************Split**************************************
    VirtualCloud  – A Cloud Environment Simulator
    源代码未开源,但设计的一些思路值得借鉴。
    发布于2010年秋季,受cloudsim启发较大,只实现了较基本的功能,结构较为简单,目前未发现后续版本。可模拟分配策略,并强调了应用程序建模,体现了不同资源之间的相互依赖关系。
    应用程序(任务)建模,考虑了三种:最大利用模式,分布式执行模式,依赖于时间的模式,cloudsim只实现了最大利用模式,是最简单的任务建模。
    资源分配上,实现了硬件与软件的动态分配,cloudsim只支持在虚拟机初始化时静态分配。
    虚拟机之间的通信:同个物理主机中不同虚拟机间的通信,不同物理主机中的虚拟机通信。virtualcloud设计了数据包来模拟通信,不同物理主机上的虚拟机通信通过VMM控制。cloudsim目前对虚拟机之间的通信都只发生在应用程序的实例化之前。
    迁移策略上:virtualcloud未实现,cloudsim实现了特定物理主机负载的迁移策略,但未考虑对目标主机的影响,这是virtualcloud将实现的
    管理模块:cloudsim使用datacenterbroker存储物理机、虚拟机列表,实现 管理模块。virtualcloud的管理模块则管理了所有信息,虚拟机列表,物理主机,部署与迁移策略的处理。
    可扩展性:cloudsim需要在源代码级别进行物理机、虚拟机的配置,vitrualcloud则通过xml文件来配置。
    资源影响:cloudsim未考虑一种资源的利用导致的对另一种资源的影响,如对硬盘的操作会产生CPU负载,virturalcloud考虑了这一点。
    ***********************************Split**************************************
    CReST
    the Cloud Research Simulation Toolkit
    支持多层的抽象模拟:从物理硬件,能量使用到一个数据中心里的热能流动,到网络化的基础设施,以及满足用户动态需求的虚拟层应用服务。
    ***********************************Split**************************************
    GreeCloud
    基于NS2,强调节能调度
    ***********************************Split**************************************
    iCanCloud:
    What is iCanCloud?
    iCanCloud is a simulation platform aimed to model and simulate cloud computing systems, which is targeted to those users who deal closely with those kinds of systems. The main objective of iCanCloud is to predict the trade-offs between cost and performance of a given set of applications executed in a specific hardware, and then provide to users useful information about such costs. However, iCanCloud can be used by a wide range of users, from basic active users to developers of large distributed applications.
    Features
    The most remarkable features of the iCanCloud simulation platform include the following:
    Both existing and non-existing cloud computing architectures can be modeled and simulated.
    A flexible cloud hypervisor module provides an easy method for integrating and testing both new and existent cloud brokering policies.
    Customizable VMs can be used to quickly simulate uni-core/multi-core systems.
    iCanCloud provides a wide range of configurations for storage systems, which include models for local storage systems, remote storage systems, like NFS, and parallel storage systems, like parallel file systems and RAID systems.
    iCanCloud provides a user-friendly GUI to ease the generation and customization of large distributed models. This GUI is especially useful for: managing a repository of pre-configured VMs, managing a repository of pre-configured Cloud systems, managing a repository of pre-configured experiments, launching experiments from the GUI, and generating graphical reports.
    iCanCloud provides a POSIX-based API and an adapted MPI library for modelling and simulating applications. Also, several methods for modelling applications can be used in iCanCloud: using traces of real applications; using a state graph; and programming new applications directly in the simulation platform.
    New components can be added to the repository of iCanCloud to increase the functionality of the simulation platform.

    展开全文
  • 第二部分通过一个云计算系统实例—云脑系统的实现过程,介绍了如何在现有技术条件下完成一个简单云计算系统的设计和开发,在 这一部份我们选取了云计算系统的界面设计、云文件系统、云存储、并行数据处理等有代表性...
  • 云计算的架构

    万次阅读 多人点赞 2017-11-30 09:32:59
    一、云计算概述  云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;...
  • 云计算架构技术与实践从将云计算技术引入传统数据中心所带来的独特商业价值角度看,重点可以从开源与节流两个方面来衡量云计算的核心竞争力。1节流(Cost Saving)方面在业务系统搭建过程中,云计算和虚拟化使得企业及...
  • 基于对图书馆建设的数字化、安全性和高效性需求,提出了一种云计算服务框架体系,建立数字图书馆服务平台。采用四层体系架构,实现各类软硬件资源的整合;基于SAN存储架构系统,采用X86服务器的VMware虚拟化系统提供...
  • 贝叶斯网(BN)作为一种重要的概率模型,是统计型不确定性知识表示和推理的基本框架。如何从海量数据中学习BN,是目前云计算环境下海量数据中不确定性知识推理及相关应用的基础和关键。我们利用Hadoop平台,设计并...
  • 云计算是从“网格计算”.“分布式计算”到“互联网计算” 逐步发展起来的。它结合了虚拟化、高性能存储等技术.利用 互联网将分散的信息资源和计算能力整合起来,供用户方便 地访问、分享、使用和管理,可以提供...
  • 云计算

    2013-02-20 16:39:57
    云计算 概述 【云计算】概念是由Google提出的,这是一个美丽的网络应用模式。狭义云计算是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源;广义云计算是指服务的交付和使用模式,指...
  • 云计算核心技术和框架整理

    千次阅读 2011-10-10 14:09:42
    云计算包括很多技术,就像互联网一样,它不是一两项技术实现就能涵盖的,它的核心技术我总结如下: 1.虚拟化 虚拟化是一种资源使用模式,通过屏蔽技术细节,提供逻辑上超出实际资源的多个虚拟资源,例如,多个CPU,多...
  • 1.云计算相关架构: SaaS (Software as a Service-软件即服务) PaaS (Platform as a Service-平台及服务) IaaS(Infrastructure as a Service-基础架构即服务) 阿里云中最多的是基础设施IaaS平台,也是企业用途...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,629
精华内容 16,251
关键字:

云计算框架图