调度的对象-含有导频的ofdm信号子载波的调制方式识别方法

时间:2024-06-27 11:38:13
【文件属性】:

文件名称:调度的对象-含有导频的ofdm信号子载波的调制方式识别方法

文件大小:279KB

文件格式:PDF

更新时间:2024-06-27 11:38:13

Xen VCPU调度

(4)调度的隔离性 一个 VCPU 的调度不能影响其它 VCPU 的调度,即一个 VCPU 的运行,不能影响其它 VCPU 的性能,调度算法应当保 证 VCPU 之间性能的隔离性。 (5)调度的不对等性 应当根据虚拟机应用的不同,选择合适的 VCPU 调度算 法。当前,服务器整合是计算机虚拟化应用最广泛的场合之 一,虚拟化能把多个服务器应用整合到一台物理服务器上去, 作为不同的虚拟机同时运行,不同的应用需求不同。应当根 据这些虚拟机应用特点,如 I/O密集型、数据密集型、交互密集 型等,选择合适的调度算法,所使用调度策略必须考虑虚拟机 之间的不对等,才能提高虚拟化性能。 (6)VCPU 在对称多处理器(SMP)上调度的负载平衡 [3] 当前,SMP 平台已经得到广泛应用 [4],VCPU 在多处理器 上的调度应当首先考虑负载平衡问题,应当使每个物理处理 器资源得到充分利用。 以上是VCPU调度算法设计时需要考虑问题,事实上,在 设计虚拟机监控器时,并不存在一种调度策略能够同时满足 以上 6 点。在实现 VCPU 调度算法时,应当分析现有调度算 法,结合现有虚拟机调度策略,根据实际情况和具体的虚拟机 应用设计最合适的调度算法。本文以一款典型虚拟机监控器 Xen 为例,分析 VCPU 调度算法。 2 Xen 中调度算法比较 随着Xen的不断发展,Xen中的VCPU调度算法也是根据 需求不断发展的。Xen 曾经使用了多种 VCPU 调度策略,Xen 曾经使用过的 3 种调度算法如下: (1)BVT(borrowed virtual time) BVT 算法是 Stanford 大学 Duda 等人在 1999 年提出的 [1], 它是一种基于虚拟时间概念的公平分配算法。BVT 算法为实 时应用和交互应用提供了较低的延迟时间。算法根据虚拟时 间的大小决定VCPU的运行时间,具有最早虚拟时间的VCPU 得到运行。实时应用和交互应用等时间敏感的应用通过更改 虚拟时间使VCPU获得更高的优先级,VCPU可以向自己将来 的 CPU 份额借用虚拟时间来有效的降低延时。 BVT 算法是连续工作型调度算法,不支持精确的 CPU 分 配。该算法在单处理器和多处理器上都有实现,是 Xen2.0 默 认的调度算法。 (2)简单最小时限调度(simple earliest deadline first,SEDF) EDF 算法是 20 世纪 70 年代提出的一种用于实时操作系 统的动态调度算法 [1],Xen 将其修改后形成 SEDF 算法作为 VCPU 的调度算法。 该算法是基于最小时限概念的调度算法。算法为每个 VCPU 指定一个三元组(s,p,x)来控制 VCPU 的运行。s 代表时 间片、p 代表 CPU 周期,表示 VCPU 在 p 周期必须运行 s 时间; x是一个布尔值,表示VCPU是否符合条件接受额外的处理器 时间。调度器维护一个可运行队列和一个等待运行队列。可 运行队列保存当前周期还有可运行时间的VCPU,按照时限依 次排列;等待运行队列保存当前周期可运行时间已经用完的 VCPU,按照下一周期开始的时间依次递增排列。每次发生调 度时,处理器从可运行队列头选择 VCPU 进行调度。 SEDF算法有连续型和断续型两种工作模式,同时支持精 确的 VCPU 分配。该算法在多核处理器上也有实现,但是不 支持对称多处理器的负载平衡。SEDF 算法是 Xen3.0 的默认 调度算法,在 Xen 的最新版本中也有实现。 (3)基于信用度的调度 随着虚拟机监控器的发展,虚拟机的应用场景越来越广 泛,针对前两种调度算法的不足,在最新版本的Xen中加入了 基于信用度的调度算法 [5]。 算法的主要思想就是为每个 VCPU 设置一个信用度 cre- dit,credit 值越大,VCPU 越早获得运行。VCPU 的运行将会消 耗 credit 值,每隔一段时间,由一个结算线程重新计算各个 VCPU 的 credit 的值,调度时,调度器根据 credit 值的大小选择 合适的 VCPU 进行调度。 该算法支持 SMP 负载平衡,支持精确的 VCPU 分配,是 Xen3.3 默认的调度算法。 (4)3 种调度算法比较(如表 1 所示) 随着硬件的发展,虚拟机应用场景的越来越广泛,这就对 VCPU调度算法提出了更高的要求,Xen中的调度算法也是根 据实际情况不断发展完善的。表 1 对 Xen 中 3 种调度算法进 行了对比。在 Xen3.3 源代码中,包括了简单最小时限调度,基 于信用度的调度两种调度算法。SEDF 算法能够让 I/O 敏感类 应用获得更短的延迟响应时间,而 credit算法能够公平的分配 处理器资源,在调度 CPU 敏感类应用时取得更好的性能 [6]。 用户可以根据需求通过命令行接口为Xen定制不同的调 度算法。因为 credit 算法在调度多处理器和 QoS 控制方面表 现更为出色,Xen3.3 把它作为默认调度算法 [7]。 3 调度算法的具体实现 在最新 Xen3.3 源代码中,基于信用度的调度算法是 Xen 默认的调度算法,本节以Xen中基于信用度的调度算法为例, 给出 Xen 中 VCPU 调度算法的整个处理流程。 3.1 调度的对象 每个虚拟机都可以包含多个VCPU,虚拟机监控器需要调 度这些VCPU,调度时需要在调度策略上同时兼顾到对虚拟机 的选择,如图 1 所示,虚拟机下的运行的各个 VCPU 是虚拟机 的调度对象。 表 1 3 种调度算法比较 调度算法 Xen 版本 支持连续型 支持断续型 支持SMP负载平衡 BVT Xen2.0 是 否 否 SEDF Xen3.0 是 是 否 Credit based Xen3.3 是 是 是


网友评论