云计算论文(2)

2018-11-19 20:51

BVT(Borrowed VirtualTime)算法:BVT是一种公平性优先的调度算法。该算法将时间分为实际时间和虚拟时间:真实时间为硬件计时器记录的时间;虚拟时间为对真实时间经过某种规则计算后得到的时间值。

该算法用虚拟时间来监控进程的执行时间,每次总是调度具有最早的有效虚拟时间的VCPU。这种调度算法允许这些操作系统“借”一些时间片,就是说:在一定范围内将未来分配给它运行的时间片先“借”过来用一段时间。这种“借”过来的虚拟时间片只能是当前真实的时间片中的某个虚拟时间片,不能借下一个真实时间片中的虚拟时问片。在系统初始化时,每个VCPU将分配一个权值来代表该VCPU能获得的处理器份额。VCPU根据其权值来实现处理器的公平共享。系统用实际虚拟时间和有效虚拟时间来记录VCPU运行状态。其计算方式如下:

每一个VCPU维护一组状态:,其中:Et表示它某时刻t的EVT; At表示它实际的virtual time;Wt表示它可以借的virtual time; warpBackt表示是否允许借virtual time。

当选择下一个要运行的VCPU时,选择Et最小的VCPU,Et按照下式计算:Et=At-(warpBackt?Wt:0)

若是延迟敏感的VCPU,warpBackt是1,需要从实际的At减去一个Wt值,从而能够获得较小的Et,使得能较早执行。

BVT的优缺点:

BVT调度算法的优点在于可以将物理时间片公平、均匀地分配两次被调度的时间间隔不会超过一个真实的时间片;能够满足I/O密集型和实时应用的低时延要求,能较好地调度某些实时性要求比较高的操作系统;在单CPU和多CPU环境下的调度开销都比较小。

BVT调度算法的缺点:

首先,每当当前虚拟机被加载运行时,它将获得整个CPU。用户不能把某个将某个虚拟机对CPU的使用限制在某个比例以下。其次,每个虚拟机只能借用分给它的时间片部分,而不会剥夺其他虚拟机的时间片。即当确定了各个虚拟机的时间片分配比例后,这个比例在下次分配之前不会改变。 2.2.1.2 sEDF算法

简单最小时限调度sEDF(simple Earliest Deadline First) 源于EDF(Earliest Deadline First)算法是一种动态调度算法,用于实时操作系统中。

他将所有任务放在优先级队列中,当发生调度事件时 (如任务结束、新任务加入等),从队列中找出时限最短的任务并调度运行。sEDF是一种最小时限调度算法,它为每个VCPU设置一个三元组(s,p,x),其中s,p指的是在p毫秒内,虚拟机至少运行s毫秒,而x指的是如果在p时间片内,还有空余时间的话,是否允许该VCPU占用这些空余的时间片;而每个VCPU都有一个“最迟调度时间”(例如,0-100ms这个时间片内,若VCPU至少运行30ms那么它的最迟运行时间是70ms),sEDF用一个队列管理所有当前周期内

还有可运行时间的VCPU,这些VCPU按照时限递增排列;用一个等待队列管理当前周期的运行时间已用完的VCPU,这些VCPU按照下一周期的开始时间递增排列。每次调度时,从可运行队列头取得可以运行的VCPU。如果虚拟机 A还在运行,虚拟机 B的调度时间片已经到来,那么sEDF将选用虚拟机B进行调度。

sEDF的优缺点:

sEDF调度算法是根据任务满足截止期限的紧迫性,来修改任务的优先级,以保证最紧迫的任务能够及时完成。当系统的负载相对较低时,这种算法非常有效;但是当系统负载极端沉重时,这就会使大量的任务发生时间错误,因此很可能使一些进程来不及处理而夭折。在sEDF算法中,一旦VCPU的调度参数被初始化后,就不能根据该VCPU的运行状况进行修改。

sEDF算法同时支持连续工作和断续工作模式,在断续工作模式下可以精确限定某个虚拟机使用的CPU资源比例,即使没有其他虚拟机运行,该虚拟机也只能使用一定的CPU资源。sEDF并不支持全局(多个CPU情况下)的负载均衡。例如存在如下分配:

分配CPU1: VCPU-1-- 80% CPU,分配CPU2: VCPU-2-- 80% CPU,如果 此时有VCPU3,需要30% CPU 空间,那么VCPU3将无法被分配和加载。即使两个CPU的剩余部分相加起来足够VCPU3的使用,但是由于每个CPU的剩余部分都不足,VCPU3只能等待。 2.2.1.3 credit基于额度的调度算法

每个CPU管理一个本地可运行的VCPU队列,该队列根据VCPU的优先级排序,每个VCPU的优先级可能是over或者under,表示该VCPU当前是否已经透支了它应该分配到的CPU资源。当一个VCPU被放入一个运行队列时,将其插在相同优先级的VCPU后面。 一个VCPU运行时,将消耗它的CPU额度。每隔一段时间,由一个结算线程重新计算每个VCPU消耗了或者获得了多少额度。当额度为负时,则将优先级改为over;直到一段时间以后,额度又积累为整数,则优先级变为under, 每结算一次,则运行队列要重排一次。当一个VCPU的时间片用完或被阻塞时,排在CPU的运行队列头的VCPU 将被调度运行。若此时该CPU的运行队列中没有优先级为under的VCPU,则将从其它CPU的运行队列中寻找一个under的VCPU,也就是说,当一个CPU空闲时,将运行等待其它CPU的VCPU。这一策略保证了虚拟机共享整个物理主机的资源,也保证了在整个物理主机环境内所有CPU的负载均衡,也保证了对系统资源的充分利用:当系统中有可运行的VCPU时,不会有任何一个CPU空闲。

2.2.2 内存虚拟化

内存虚拟化是VMM的重要功能之一。VMM通常采用分块共享的思想来虚拟计算机的物理内存。也就是说,VMM需要将机器的内存分配给各个虚拟机,并维护机器内存和虚拟机所见到的“物理内存\的映射关系,使得这些内存在虚拟机看来是一段从地址0开始的、连续的物理地址空间。现代计算机通常都具备内存分页保护机制,这给VMM进行内存虚拟化提供了必要的硬件支持,因为VMM能够以

页面为单位建立虚拟地址到机器地址的映射关系,并利用页面权限设置实现不同虚拟机间内存的隔离和保护。但是,由于客户操作系统本身也会进行叶式内存管理,虚拟机与传统计算机相比,其内存系统多了一种地址,共包括以下3种地址:

(1)机器地址(machine address) 指真实硬件的机器地址,即地址总线上应该出现的地址信号。

(2)物理地址(physical address) 指经过VMM抽象的、虚拟机所看到的伪物理地址。

(3)虚拟地址(virtual address) 指虚拟机提供给其应用程序使用的线性地址空间。

显然,VMM的内存模块负责完成物理地址到机器地址的映射,将这个映射记为f;虚拟机的内存管理模块要完成虚拟地址到物理地址的映射,将这个映射记为g,则虚拟地址、物理地址和真实地址之间的关系。

虚拟机会把虚拟地址映射到物理地址,而VMM再进一步把物理地址映射到机器地址。在两个不同的虚拟机中的进程,分别有一个页表(page table)进行地址转换。页表将进程的虚拟地址转换为物理地址。为了将物理地址转为最终使用的机器地址,虚拟机管理器维护着从物理地址到机器地址的真正的页表。如图所示。

为了使虚拟机系统具有更好的伸缩性和可扩展性,在充分保证虚拟机访问内存的性能的前提下,提出了理想的VMM应该提供以下一些内存管理功能:

(1)按需取页只有当虚拟机真正需要的时候,VMM才将物理内存分配给它,而不是简单地将固定大小的内存空间划分给虚拟机。按需取页能够提高内存资源的利用率。

(2)虚拟存储 VMM能够利用交换(swap)等技术,给虚拟机提供超过实际机器内存大小的内存空间。虚拟机上的操作系统能够像运行在裸机上一样,透明地使用VMM 提供的整个“物理内存\。 (3)内存共享 VMM应该允许虚拟机之间只读地共享完全相同的内存区域,从而缓解大量虚拟机并发运行时的内存资源紧缺。实现内存共享的重要基础是内存写时复制机制(copy On write)。

2.2.3 I/O虚拟化

I/O虚拟化往往是VMM设计最复杂的部分。它涉及中断的捕获和分发、I/O地址空间的隔离和转换、大量I/O数据的传递、DMA页面的保护等。I/O的效率对于系统的成败更加至关重要。实现I/O虚拟最简单的方法是:将一台物理主机作为特殊的I/O处理机,它连接所有I/O设备,其它任何接点需要进行I/O操作时都要先与该主机联系,由它完成I/O操作,再将操作的结果用虚拟中断的方法通知请求接点。这种设计的优点在于实现简单、易于维护,但是其缺点也是显而易见的,即瓶颈问题和单点故障问题。为了提高整个系统的I/O能力,人们当然希望每个接点都具有I/O吞 吐能力:它对于上层的操作系统仍然表现为一个单一的I/O设备,而I/O请求会 被分流到各个不同的结点并行处理,从而大大提高I/O吞

吐量。 对于网络设备,可以通过路由技术实现上述功能。而对于存储设备,应该在 实现网络I/O高效分流的基础上,充分利用现在已近非常成熟的分布式存储系统, 结合网络文件系统来实现。由于I/O虚拟化技术目前仍然不够成熟,即使在很多 传统的系统级虚拟化系统中,其效率仍然比较低下。因此,关于多级I/O虚拟化 技术仍然存在广阔的可探索空间。

2.3 虚拟化集群

在集群中由一台vCenter主机可以管理多台的vServer主机,而在这些vServer主机上可以运行多台的虚拟机,这些虚拟机可以组成虚拟机池。vCenter通过对虚拟机池的管理间接地实现对集群中物理资源的管理。其中vCenter的重要功能是保证虚拟化的集群中高可用性和负载均衡性的实现。在物理服务器上创建出的虚拟机可以组成虚拟机池,对于多虚拟机来说,一个非常重要的方面是减少用户对动态的和复杂的物理设备的管理 和维护,通过软件和工具实现管理任务。通常将应用程序部署到服务器内部运行的多个虚拟机中。通过一个一致的方式管理运行于大量物理结点之上的虚拟机系统,以便能够形成一个基于服务器合并技术的高性能虚拟计算环境以及高效管理技术。服务器方面,采用虚拟化技术的主要驱动力就是服务器合并,主要是通过在集群中的每一个结点上安装vServer系统,然后就可以在这台物理结点上创建虚拟机,再把这些虚拟机根据具体需求组成任意大小规模的虚拟池来达到服务器合并的目的。这样使得管理人员只需与控制结点进行交互,而集群事实上可以包含很多的处理器或结点。从vCenter的角度来看,通过服务器合并减少管理复杂度,把不同资源整合成具有巨大能力的系统,提高了系统性能。

2.3.1 虚拟化集群总体框架

要把虚拟化技术引入到集群中,主要是通过在集群中的每一个结点上安装 vServer系统,然后就可以在这台物理结点上创建虚拟机,再把这些虚拟机根据具体需求组成任意大小规模的虚拟池来达到服务器合并的目的。这样使得管理人员只需与控制结点进行交互,而集群事实上可以包含很多的处理器或结点。从 vCenter的角度来看,通过服务器合并减少管理复杂度,把不同资源整合成具有巨大能力的系统,提高了系统性能。

一个典型的虚拟化集群包括:一个vCenter、多个vServer和一套共享存储。vServer直接安装在服务器硬件上,vServer将一个物理服务器划分 为可在同一物理服务器上运行的多个安全、隔离的、可移植的虚拟机。集群中的所有的vServer主机通过光通道或者网络连接到共享的存储,这样当一台主机发生故障时,可以将主机上的业务转移到其它主机上,由于使用了共享存储,使转移后的业务的执行不会因为存储设备的关系而受到影响。在集群中,vCenter不是直接对vServer的主机进行管理,而是对运行在vServer上的虚拟机进行管理,这样间接的对vServer进行了管理。

vCenter的所有管理操作都是在vCenter Client 的操作界面上进行。

在对虚拟机进行集群化架构中,主要的功能实现部分由vCenter和vServer两大模块组成。

2.3.2 vCenter

vCenter的主要功能是管理集群中的vServer。一个集群中只有一台主机安装vCenter,这台安装vCenter系统的主机在集群中处于核心管理的位置,管理集群中其它vServer主机。

vCenter具有以下功能:

(1)寻找可用主机:首先vCenter会在集群当中寻找可用的主机资源,即安装有vServer系统并 且与vCenter连接正常主机,这样的主机才能与vCenter正常通信,才能接受 vCenter的控制。

(2)创建硬件池:在vCenter寻找到机器中所有可用主机资源以后,会对这些主机根据需要创建任意数量的硬件池,也就是对这些主机进行划分和组合,硬件池的大小由包含的主机数量而定。

(3)创建虚拟机池:vCenter创建出硬件池以后,可以在硬件池的基础上创建虚拟机池。,虚拟机池是由一定数量的虚拟机组成,这些虚拟机是由vCenter创建出来。没有启动的虚拟机只是一个资源标记,需要为虚拟机划分一定的CPU和内存资源,并且指定一块存储设备,这样虚拟机才能启动和运行。

(4)启动虚拟机:vCenter在启动一台虚拟机的时候,会选择资源占用率最低的主机来运行,这样体现出集群的负载均衡性。负载均衡性将是启动虚拟机和管理虚拟机的重点功能。

启动一个虚拟机可以分为以下的步骤:

(1)寻找可用主机 由vCenter负责在集群中寻找可用主机,在集群中除了vCenter以外的主机 都是安装了vServer,集群中的可用主机是指vCenter能收到vServer心跳包的主 机,能收到vServer的心跳包,表明vServer与vCenter的通信正常,这样vCenter 才能对vServer进行管理和控制。

(2)创建虚拟机 创建虚拟机是为虚拟机起一个虚拟机名,重要的是为虚拟机指定一个 UUID,UUID是一个资源标签,唯一的标识了一个虚拟机,这样可以与集群中的 其它虚拟机区别开来,便于vCenter对集群中的虚拟机管理。

(3)在硬件池中寻找资源占用率最低的主机 启动一台虚拟机的时候并不是在集群中随机的指定一台主机来运行虚拟机, 而是优先选择一台资源占用率最少的主机来运行,这一步骤实现集群当中的负载均衡性。

(4)分配虚拟CPU/内存 预先为虚拟机划分一定的CPU和内存资源,这时候为虚拟机划分的资源只是资源标签,等真正运行虚拟机的时候,会在虚拟机所运行的主机上虚拟出与预先划分好的资源数量相等的硬件资源。

(5)启动 启动虚拟机之前已经为虚拟机指定了CPU/内存资源,也


云计算论文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年公需科目《计算机网络信息安全与管理》考试试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: