




已阅读5页,还剩56页未读, 继续免费阅读
(计算机系统结构专业论文)多粒度网格资源预留系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ii 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 摘摘 要要 随着网格计算的快速发展,很多应用在网格平台上运行,网格平台上的资源和 应用程序日益增多,网格资源预留为网格应用提供资源保证。现有的网格资源预留 研究主要关注统一预留模型、资源调度、仿真模拟、预留需求预测、协同预留等问 题,而缺乏在资源层对预留资源实际分配的控制,同时未考虑到网格应用对资源需 求的多样性和动态变化。 针对上述问题,结合云计算的特点,多粒度网格资源预留系统对网格应用所需 的资源进行预留管理,提高不同网格应用在资源层的隔离性,减少不同应用之间的 相互影响。由于网格应用种类繁多、规模差异很大,不同的应用需要不同种类和数 量的资源,多粒度网格资源预留系统提供多种粒度的资源预留,根据应用选择合适 的资源预留粒度,满足不同应用的资源需求。为了适应网格应用资源需求的动态变 化,多粒度网格资源预留系统允许在运行时动态调整资源预留的持续时间和资源 量,动态缩短预留持续时间可以有效减少资源的空白占用率,延长预留持续时间能 避免网格应用意外终止,通过动态调整预留的资源量以适应在不同时间段应用对资 源的变化需求。多网格中心资源预留协同多个支持资源预留的网格中心,将可用的 资源从单个网格中心扩大到多个网格中心,支持地理分布、资源需求量大的应用。 基于 linux 操作系统和 oar 资源管理系统,使用 perl、php 程序设计语言实 现了多粒度网格资源预留系统,并进行了系统测试。功能测试表明:多粒度网格资 源预留系统实现了 cpu、虚拟机和物理机三种粒度的资源预留,资源预留的持续时 间和资源量动态调整,以及多网格中心资源预留。性能测试表明:随着干扰程序规 模的增加,在没有资源预留的情况下,干扰程序规模最大时 linpack 测试值是没有 干扰程序时的 0.39%,在使用 cpu 预留时对应的比例为 103.38%。 关键字:关键字:网格计算,云计算,资源管理,资源预留 iii 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 abstract with the rapid development of grid computing, many applications are deployed on the grid infrastructure. the amount of grid resources and applications grows rapidly. grid resource reservation provides quality of service assurance in resource layer. at present, research on grid resource reservation focus on uniform model, scheduling policy, request prediction, co-reservation and simulation tools. they lack of final control of resources in resource layer and did not take into account the demand for diversity of resource reservation and dynamic changes of resource demand of application. in response to these issues and in light of cloud computing, multi-granularity grid resource reservation system manage resource reservation for grid applications. through resource reservation, application can use enough needed resources during its life cycle. as grid applications have a wide range of very different scale, different applications require different types and quantities of resources. multi-granularity grid resource reservation provide different granularity of resource reservation to meet the resource requirements for different applications. in order to adapt to the dynamic resource requirement of grid applications, multi-granularity resource reservation allows for dynamic adjustment of the reservation duration or resources at runtime. co-reservation across multiple grid centers enlarges the collection of resources available for reservation. it provides better support for geographical distributed or very large scale applications. multi-granularity grid resource reservation system is implemented based on linux operating system and programming language perl and php. testing result shows that the system achieves the goals of three granularity grid resource reservation, dynamic adjustment of resource reservation and co-reservation across multiple grid centers. linpack result with maximum interference programs is only 0.39% of that without interference. however, the result with maximum interference programs under resource reservation is 103.38% of that without interference. key words: grid, cloud computing, resource management, resource reservation i 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其 他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和 集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人 承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在 年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 1 绪论绪论 本章简述知名网格平台和相应的网格资源管理软件,比较现有网格资源预留的 研究,分析云计算对网格资源预留的影响,说明课题的背景和研究内容,最后描述 全文的组织结构。 1.1 问题的提出问题的提出 随着计算机和计算技术的不断发展,越来越多的计算和存储资源分布在世界各 地,网格将这些分布式的资源有效地聚合起来,构成高性能计算和信息服务的信息 基础设施,为科学研究和工业生产提供基础平台,从根本上改变信息发布、获取、 共享的方式。网格通过因特网将世界各地的计算机连接起来,充分利用每台计算机 的各种计算资源、存储资源、软件资源、网络资源等,提供强大的处理能力,实现 资源的全面透明共享,使得一些大规模的应用能够得以实施。计算机网络和传统的 网络应用如 web 等实现了计算机互联和一定程度的存储资源共享,网格实现了更加 全面的资源共享,将网格中所有计算机的资源进行整合形成一个大型的超级计算 机,通过统一透明的方式提供访问这些资源的能力。 云计算管理大规模的资源,使用户通过网络以按需、易扩展的方式获得所需的 硬件、平台、软件等资源。云计算根据用户的需求,动态配置和提供所需的计算环 境如服务器、软件环境等,而且能够根据应用的动态变化随意对资源进行伸缩调整。 用户无需关心资源的位置、配置等底层细节,更多关注真正需要解决的应用问题。 在网格这种分布式的信息和计算基础设施中,大量的应用同时运行,由于网格 的动态、异构等特点,网格应用在运行时可能不能得到足够的资源,同时这些应用 共享网格资源,它们之间可能因为资源竞争存在相互影响,从而导致应用服务质量 得不到保证的问题。网格资源预留旨在通过资源提前预约,为网格应用的运行提供 资源保证,允许应用在运行之前预约一段时间内一定量的网格资源,在预约的时间 内这些资源只能被提出预留的用户和应用所使用,这样在网格应用运行期间,不会 因为资源不足而导致服务质量降低,也不会因为资源竞争受到其他正在运行的网格 2 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 应用的影响。 1.2 国内外研究现状国内外研究现状 1.2.1 网格资源管理网格资源管理 网格计算1经历了多年的发展,目前国内外网格中间件和网格平台大多数基于 ogsa (open grid service architecture) 的架构, 参考 web services 或者 wsrf (web services resource framework)2实现。 知名网格中间件 gt(globus toolkit)34,在 2008 年 7 月 2 日发布了 4.2.0 版 本, gt 一直遵循 wsrf 规范。 它通过 gridftp5对存储资源进行管理, 通过 gridftp 协议就像使用 ftp 一样使用网格上的数据资源。gt 使用(gram grid resource allocation management)使用本地资源管理器提供的接口,为用户提供统一的作业 提交和管理的接口,它可以实现与本地资源管理器交互。gt 实现了完整的网格安 全机制 gsi(grid security infrastructure) ,数据副本管理机制等,被很多网格项目 如 teragrid6所采用。 欧洲著名的网格中间件 unicore78,它的目标是实现异构网格资源的无缝访问, 通过 tsi(target system interface)与具体的网格平台交互。unicore 最新版本 6.0.2, 从非服务型网格中间件转型到基于 ogsa 遵循 wsrf 的服务型中间件,易于安装 和使用,采用 intel 网格编程环境 gpe(grid programming environment)9作为客 户端,gpe 使用 gridbean 提供应用程序编程和用户接口,基于 gridbean 实现了网 格工作流的定制和执行。 glite10是轻量化的网格中间件,包括很多网格组件,通过 workload management systems, computing element 和 work node 管理计算资源,通过 i/o server, catalog server 和 local transfer service 管理数据资源。 glite 广泛应用于欧洲网格项目 egee (enabling grids for e-science)11。 grid500012项目聚合了分布在法国的 9 个高性能计算资源,组成一个 cpu 数量 接近 5000 的试验平台,提供资源预留的功能支持网格和其他计算机技术试验。 grid5000主要使用oar13管理高性能计算资源, oar是一个参考pbs (portable batch system) ,基于 perl 脚本编程语言和 mysql 数据库设计的资源管理系统,具有良好 3 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 的可配置性和可扩展性。 中国教育科研网格 chinagrid14采用中国教育科研网格公共支撑平台 cgsp (chinagrid supporting platform)15作为网格中间件,cgsp 是第一个遵循 wsrf 设计的网格中间件,部署在中国很多高校网格节点。cgsp 使用基于 gridftp 的虚 拟数据服务管理数据资源16,通过 grs(general running service)和 jsdl(job submission description language)管理网格作业,支持网格工作流管理。 1.2.2 网格资源预留网格资源预留 网格资源预留是网格环境下提供 qos(quality of service)17保证的一种有效方 式,国内外已经有很多网格资源预留方面的研究,包括网格资源预留模型,协同预 留,预留策略和算法,资源预留需求预测等。 ggf (global grid forum) 提出一种统一的网格 qos 模型 gara (general-purpose architecture for reservation and allocation)18,它提供统一的界面和编程接口,允 许最终用户和应用程序提出各种 qos 需求,例如网格资源提前预留和协同预留, gara 使用 gt 基础架构,借助于 globus 安全体系 gsi,为资源预留提供安全保证, 所有资源预留请求经过安全的认证和授权,防止不安全的恶意资源预留。如图 1.1 所示,gara 采用四层结构。 qos agentapplication information service uniform remote access (gara api) resource manager interface local resource managers high-level layer:high-level layer: gara layer:gara layer: lram layer:lram layer: resource manager layer: resource manager layer: 图 1.1 gara 体系结构 最上层是应用层,qos 代理和应用程序在这一层,应用层使用 gara 层的外部 4 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 接口, gara api 提供统一的编程接口和服务供外部访问, gara 层与下面的 lram (local resource allocation manager)层通信,lram 层提供认证和授权用户资源 预留的资源管理接口, 将所有资源请求传送到resource manager层, resource manager 层管理底层资源保证 qos。 gara 主要致力于提供统一的 qos 界面和编程接口,通过 gara 实现网格资 源预留和协同预留,可以使用户和应用程序方便使用,但是并没有提供资源预留的 策略,资源预留的最终执行由管理底层资源得 resource manager 层保证,如果 resource manager 层不能有效地执行资源预留,网格资源预留和 qos 也无法得到保 证。 基于 qos 的网格资源预留策略及任务调度算法19,基于 qos 的网格资源协同 预留模块设计与实现20,主要考虑网格资源预留的调度策略和算法,目的在于提高 资源预留请求的接受率,减少资源预留带来的资源碎片,提高资源利用率。服务网 格中基于请求生命期的资源预留方法和策略21,针对服务网格环境下服务对应的资 源,提出一种资源预留树,利用在资源预留生命期内发现的所有合适资源构建资源 预留树,当部分资源失效时,可直接在资源预留树内选取一个替代资源,提高在动 态环境下的资源预留可靠性。 由于用户对资源预留的需求各不同,基于预测与预约机制的网格任务调度中间 件22提出通过预测资源预留需求量来提高资源利用率,并给出相应的资源预留预测 模型。网格资源提前预留中用户资源需求量预测模型23,基于对网格资源提前预留 请求的定义和特点,结合灰色预测方法,建立了用户资源需求量预测模型。 为了方便和加快网格资源预留的研究,支持资源预留的网格计算仿真架构24设 计一种网格仿真平台,扩展 gridsim 网格仿真工具加入了对资源提前预留的支持, 实现了网格资源预留、协同预留、预留代理等仿真功能,并从用户和资源两个不同 角度分析了基于该架构的仿真实验。 网格环境下基于经济机制的资源预留方法25,比较了多同时上升式拍卖、多序 贯上升式拍卖和组合拍卖这几种主要的拍卖形式,提出一种基于序贯上升式拍卖的 资源预留经济模型。 目前网格资源预留的研究,主要是关于统一预留模型、调度算法、需求预测、 5 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 仿真工具等方面,从不同的角度分析了一些逻辑层的调度模型和算法,而这些模型 和算法要实际用于网格资源预留,需要以资源层中支持资源预留的资源管理器为基 础,如果资源层没有对资源预留提供很好的支持,上层的网格资源预留模型和算法 最终也不能提供资源预留带来的 qos 保证。现有的本地资源管理器如 pbs、pbs professional、 maui、 condor、 sge (sun grid engine) 、 loadleveler、 lsf (load sharing facility) 、oar13等,有些有相关资源预留的支持,涉及到单一的计算资源而没有 考虑到不同资源种类的资源预留,一些特殊的应用如需要较高执行权限的应用就不 能使用所提供的资源预留,也没有考虑网格平台和应用的动态性,资源预留一经授 权之后能使用的资源和使用时间段就固定下来,不能根据应用的实际运行情况进行 适当伸缩调整。 1.2.3 云计算与资源预留云计算与资源预留 云计算2627的概念在 2007 年提出,得到了很多 it 企业响应,吸引了很多高校 和研究机构的兴趣。 云计算利用虚拟化、 web 2.0、 soa (service oriented architecture) 等技术,通过动态提供需要的计算环境,来满足变化的 it 需求,减少 it 成本,提 高资源的利用率。 ibm 启动 bluecloud 计划,并在中国无锡建立了一个云计算中心,利用 ibm 的 硬件和 hipods(high performance on demand solution)提供云计算服务。google 在 全 球 设 立 很 多 个 数 据 中 心 , 基 于 google file system28, mapreduce29, bigtable30等基础架构设计了众多新型互联网应用,如 google search, gmail, google map, google earth 等,google app engine 使得人们不用购买服务器,就可以使用强 大的云计算服务。amazon ec2(elastic computing cloud)31提供虚拟服务器租用 服务,帮助中小企业建立 it 基础设施,amazon s3(simple storage service)32提 供虚拟存储服务,为用户提供大量的云存储空间,amazon 云计算服务已经有超过 十万的用户,其中很大部分是企业级用户。微软于 2008 年 10 月推出 windows azure 操作系统(译为“蓝天” ) ,azure 是继 windows 取代 dos 之后,微软的又一次颠 覆性转型,通过在互联网架构上打造新云计算平台,让 windows 真正由 pc 延伸到 “蓝天”上,azure 的底层是微软全球基础服务系统,由遍布全球的第四代数据中 6 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 心构成。 云计算是并行计算、分布式计算、网格计算的发展,管理大规模的计算和存储 等资源,提供安全、可靠、方便、按需、可扩展的资源访问和使用方式,资源在使 用者看来是可扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。云 计算将大量的计算从个人电脑或私有服务器转移到“云” ,正如单台发电机模式转 向电厂集中供电的模式,这使得应用提供者无需为繁琐的细节而烦恼,能够更加专 注于自己的业务,有利于创新和降低成本。 在云计算环境下,资源预留需要管理大规模的资源,提供按需、可扩展的预留 方式,并允许用户方便的访问和使用预留的资源。云计算允许用户按需访问和使用 所需的计算、存储和软件等资源,资源预留在预留时间段内授权预留用户访问所预 留的资源并决绝其他用户的访问,实现计算和存储等资源的按需访问。 “云”中的 资源对使用者来说是可扩展的,资源预留动态调整为用户提供根据应用规模变化, 在运行时动态伸缩预留资源和预留持续时间的能力。云计算所管理超大规模的资 源,多网格中心资源预留聚合多个网格中心的资源形成更大的资源池。利用 web2.0 技术,资源预留使得用户在 web 上就能直接访问所预留的资源,无需额外的工具就 可以方便的使用预留资源的命令行或者图形界面。 1.3 课题背景与研究内容课题背景与研究内容 以教育部“十五”211 工程公共服务体系建设项目“中国教育科研网格计划 chinagrid”为背景,针对目前网格资源预留研究的不足和现有系统的问题,结合云 计算的特点以及对资源预留的影响,多粒度网格资源预留系统对网格应用所需的资 源进行预留管理,使得网格应用在运行期间能够使用到需要的资源。将不同的资源 在预留的时间段内分配给不同的用户和应用,降低不同应用之间的资源竞争,提高 不同网格应用之间在资源层的隔离性,尽量减少不同应用之间的相互影响,在资源 层为网格应用提供一定的服务质量保证。 网格应用种类繁多、规模差异很大,不同的应用需要不同种类的资源,对资源 的数量要求也存在很大的差别,多粒度网格资源预留系统提供多种级别和粒度的资 源,满足不同应用的资源需求,根据应用定制资源预留的粒度,选择合适的资源量, 7 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 减少资源的浪费,尽量提高资源的利用率。目前实现 cpu、虚拟机、物理机三种粒 度的资源预留。 网格平台和网格应用都具有很强的动态性,应用对资源的需求可能随着时间动 态变化,在不同的时期需要由于计算和数据量的变化需要动态的资源,多粒度网格 资源预留允许在运行时动态调整资源预留的持续时间和资源量,合理缩短预留持续 时间可以有效减少资源的被预留但是没有实际使用,必要的延长预留持续时间能在 不终止网格应用情况下增加网格应用运行时间,动态调整预留资源量允许在不同的 时间段调整预留的资源量,用尽可能少的资源保证应用的正常稳定运行。 多网格中心资源预留协同多个网格资源预留中心,将可用的资源从单个网格中 心扩大到多个网格中心,更好的支持地理分布或资源需求量大的应用,将一个多网 格中心资源预留对应的多个网格中心的资源预留当作一个整体。 多粒度网格资源预留提供简洁的用户接口。用户在 web 页面上就可以直接访问 预留的资源,而无需借助其他工具。命令行接口可以集成到其他应用程序中,实现 资源预留的自动化。 1.4 论文的组织结构论文的组织结构 本文后续各章节的内容组织如下: 第一章介绍网格资源管理与网格资源预留的研究背景和国内外当前相关研究现 状,以及多粒度网格资源预留系统的课题背景与研究内容。 第二章从整体上描述多粒度网格资源预留系统,阐述系统需要解决的主要问题 以及设计思想,给出系统体系结构和功能结构,描述资源预留的状态迁移和典型处 理流程。 第三章具体描述系统实现中涉及的主要技术,分别是 cpu 计算资源管理、物理 机远程部署、虚拟机预留及性能优化、资源预留动态调整、多网格中心资源预留等技 术。 第四章对多粒度网格资源预留系统进行测试,首先描述测试环境,然后叙述系 统功能测试对多粒度网格资源预留系统主要功能的验证,最后测试并分析资源预留 对应用运行性能的影响。 第五章对全文进行总结并展望未来的工作。 最后是致谢、参考文献与附录。 8 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 2 多粒度网格资源预留系统总体设计多粒度网格资源预留系统总体设计 网格资源预留是网格环境下提供 qos 保证的一种有效方式,通过预留一段时间 内一定量的网格资源,在资源层保证网格应用和服务的正常稳定运行。多种粒度网 格资源预留针对不同应用对资源的需求,为不同规模的网格应用提供多粒度的资源 预留服务,同时允许在运行时动态修改资源预留的持续时间和资源量,适应网格平 台和网格应用的动态性,多网格中心资源预留支持同时在多个网格中心预留资源。 本章描述多粒度网格资源预留系统,从总体上进行概述,叙述系统面临的各种问题 和挑战以及对应的设计思想,给出多粒度网格资源预留系统体系结构,描述其中的 功能模块结构和典型的处理流程。 2.1 系统概述系统概述 多粒度网格资源预留支持三种不同粒度的资源预留,包括 cpu 预留、虚拟机 预留和物理机预留,三种不同粒度的资源预留分别满足不同类型和规模的资源需 求。为了适应网格应用对资源需求的动态变化,允许动态调整资源预留的持续时间 或者资源量,尽量减少资源的浪费。多网格中心资源预留允许同时预留多个网格中 心的资源,为资源量需求较大或者要求地域分布的应用提供支持。系统提供命令行 界面和 web 界面,web 界面结构清晰使用简单,通过 web 界面可以在多个网格中 心或者单个网格中心预留不同粒度的资源,使用 web 2.0 技术缩减等待时间提高用 户体验,命令行界面功能全面,支持普通文本和 json(javascript object notation) 格式的输入输出形式,可以集成到其他程序中,便于自动化和大规模批处理。 2.2 系统设计思想系统设计思想 网格应用种类繁多且规模差别很大,有的应用只需要在个人计算机上运行几分 钟就可以完成,而有的应用则需要成百上千台高性能计算机同时工作几个月才能得 到比较合理的结果,这些应用对资源的数量和种类需求不尽相同。多粒度网格资源 预留系统支持三种不同粒度的资源预留,包括 cpu 预留、虚拟机预留和物理机预 留。如表 2.1 所示,三种不同粒度的资源预留分别针对不同应用的资源需求,通过 9 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 合适的资源粒度和规模为应用提供运行时的资源保障。 表 2.1 三种粒度资源预留的比较 预留粒度用户权限系统开销适合应用应用性能应用隔离性 cpu普通权限很低最多较高较好 虚拟机最高权限较高较多很高很好 物理机最高权限很高较少最高最好 cpu 预留是指在指定时间段内网格中某些资源节点的某些 cpu 计算资源只能 被预留用户的应用所使用, 其他用户的程序不能在这些cpu资源上运行。 在这些cpu 资源所在的网格资源节点上,预留用户只具有普通权限,cpu 预留适合于大多数传 统应用程序,这些应用程序不需要任何修改就可以利用 cpu 预留得到运行时资源 保证。cpu 预留通过直接与操作系统内核交互实现,预留执行带来的开销很小。预 留用户不能对系统级的数据进行修改,例如不能安装系统库程序或者升级操作系统 内核版本,不适合于对权限要求很高的特殊应用。同一个节点上的多个 cpu 预留 对应的应用程序虽然不会竞争 cpu 资源,但是可能竞争系统内存、i/o 等资源,因 此相互之间仍然可能存在一定影响。 物理机预留是指在指定时间段内,网格中某些资源节点分配给预留用户使用, 且重新部署指定的操作系统。预留用户在重新部署的操作系统上具有最高权限,可 以对系统进行任意修改和调整,甚至重新配置和启动系统,物理机预留适合于对运 行权限要求很高(如内核开发) ,性能要求很高(如运行关键程序的服务器) ,或者 必须能直接访问物理资源(如虚拟机试验)的应用,但是因为需要在物理机器上网 络远程安装预留指定的操作系统,预留执行开销很大,而且不同的物理机底层硬件 不一样,这种资源预留的可移植性不好。预留用户在物理机器上具有最高权限,存 在一定的安全问题,因此物理机预留需要特别严格的授权才能使用。 虚拟机预留是指在指定时间段内,动态启动指定配置的虚拟机供预留用户使 用,预留用户可以指定虚拟机的操作系统、内存大小、磁盘空间等。预留用户在虚 拟机上具有最高权限,可以执行任何系统级的任务,如安装系统程序、修改系统内 核、重启系统等。同一个物理机上的多个虚拟机之间可能存在内存、i/o 等物理资 10 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 源的竞争,虚拟机管理器会尽可能地减少这种竞争以提高虚拟机之间的隔离性。虚 拟机预留适合于对运行权限和性能要求较高的应用,执行开销比较小,可移植性比 物理机预留好,需要一定的存储空间保存虚拟机镜像文件。 提交资源预留请求时,预留持续时间是一个必要的参数,只有这样调度系统才 能决定在哪个时间段内有空闲的资源。但是,网格应用的运行时间可能很难准确估 计,如果在应用运行一段时间后,发现需要更多的时间才能完成,只能在当前预留 结束后再次预留并启动应用,而在两次预留之间服务会被中断,在很多情况下这是 不能接受的。预留持续时间动态调整可以解决上述问题,在适当的情况下改变预留 持续时间,在资源使用的时间上带来更大的灵活性,更加符合实际应用的需要。 网格应用在运行的过程中,在不同的时间段,需要的资源量可能不同,有时波 动较大,例如一个图像处理的应用,需要经过输入、处理和输出三个过程,在输入 输出时对计算资源的要求就比较低。在资源预留的资源量不能改变的情况下,在预 留期间,应用需要资源较少时,有一部分资源没有被充分利用,而在应用需要资源 较多时,预留的资源量又可能不够。预留资源量动态调整可以解决上述问题,在适 当的情况下改变预留资源量,更符合应用对资源的消耗随着时间阶段性变化这一规 律。 单个网格中心的资源是有限的,而且往往分布在一些相对集中的地理位置。有 些大规模的网格应用需要大量的网格资源,很多情况下,单个网格中心的空闲资源 可能不能满足这些应用的资源需求,而其他网格中心可能又有一些空闲的资源可 用,这就需要多网格中心资源预留协同多个网格中心,在多个网格中心同时预留一 定量的资源,构成一个更大的可用资源集合,以最大限度地满足网格应用对资源规 模的需求。另外,需要地域上分布的网格应用,希望尽可能的使用地理上分布广泛 的网格资源,例如一个 p2p(peer to peer)软件的测试过程中,需要在全国大多数 地区同时运行程序实际测试,通过多网格中心资源预留,在全国多个网格中心分别 预留一定量的资源,就可以满足要求,而即便是一个网格中心有足够的资源完成这 个实验,也很难完全模拟实际地域分布实验的效果。 11 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 2.3 系统体系结构系统体系结构 如图 2.1 所示,多粒度网格资源预留系统从结构上分为客户端,多网格中心资 源预留服务器,单网格中心资源预留服务器和多粒度资源池四大部分。单个网格中 心资源预留服务器又分为预留请求响应层、逻辑调度层和资源分配层。多网格中心 资源预留系统又分为多网格中心预留请求响应层和多网格中心预留协同层。 图 2.1 多粒度网格资源预留系统体系结构 预留请求响应层负责响应资源预留请求和访问预留到得资源。资源预留请求包括预留 单网格中心资源预留服务器 多粒度资源池 资源分配层 逻辑调度层 预留请求调度动态调整调度 预留请求响应层 命令行请求响应web 请求响应 多网格中心资源预留服务器 多网格中心预留协同层 预留请求协同动态调整协同 多网格中心预留请求响应层 命令行请求响应web 请求响应 客户端 cpu虚拟机物理机 单网格中心资源预留服务器 多粒度资源池 资源分配层 逻辑调度层 预留请求调度动态调整调度 预留请求响应层 命令行请求响应web 请求响应 cpu虚拟机物理机 12 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 开始时间、预留持续时间、预留资源种类、预留资源量等参数,资源预留请求发送到预留 服务器之后,如果预留成功,通过资源预留 id 可以查看实际预留分配到的资源详细信息, 预留开始时间到达之后,即可访问到预留的资源运行相应的应用。 资源预留服务器预留处理分为逻辑调度层和资源分配层两个相对独立的层次, 逻辑调度层负责接受资源预留请求,在逻辑上分配资源,也就是改变预留服务器中 的资源预留状态,它仅在预留服务器中运行。资源分配层负责实施真正的资源分配 和回收,根据逻辑调度层设置的资源预留服务器中的资源分配状态,在网格资源池 中对应的资源节点上执行必要的分配策略,它在资源池中的资源节点上运行。 资源预留服务器逻辑调度层处理资源预留请求,首先进行一系列访问控制检 测,过滤掉非法或者不合理的资源预留请求,然后根据多粒度资源池的状态和资源 预留状态,决定预留请求是否可以被接受,如果可以被接受,在逻辑上分配预留资 源,设置预留服务器中的资源预留状态。 当资源预留的开始时间到达时,预留服务器资源分配层执行实际的资源预留分 配。对于 cpu 预留,资源分配层在逻辑调度层分配的每个 cpu 所在的计算节点上, 将对应预留用户的进程调度域限制在分配的几个 cpu 上,并启动指定的应用程序。 对于虚拟机预留,资源分配层根据逻辑调度层分配的虚拟机信息,定位或者自动生 成需要的虚拟机镜像,在逻辑调度层分配的计算节点上启动虚拟机,并按照预留请 求配置好相关环境如 cpu、内存、磁盘、ip 地址等。对于物理机预留,资源分配层 根据逻辑调度层分配的物理机信息,定位物理机镜像,准备好网络安装环境,关闭 逻辑调度层分配的物理机,这些机器从网络启动后安装对应的物理机镜像,并配置 好相关环境如 ip 地址等。 当资源预留的结束时间到达时,或者对应的用户或管理员提前要求结束预留 时,预留服务器资源分配层执行实际的资源回收。对于 cpu 预留,资源分配层在 逻辑调度层分配的每个 cpu 对应的网格节点上,结束对应 cpu 上运行的应用程序, 并回收预留用户对 cpu 的使用权。对于虚拟机预留,资源分配层根据逻辑调度层 分配的虚拟机信息,关闭已经启动的虚拟机,并按照逻辑调度层的虚拟机预留信息 保存或者删除虚拟机镜像文件。对于物理机预留,重新启动逻辑调度层分配的物理 机,并在这些物理机上恢复原来的系统。资源分配层完成实际的资源回收之后,通 13 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 知逻辑调度层改变资源预留服务器的资源预留状态。 多网格中心协同层负责处理多网格中心资源预留请求,与相应的网格中心资源 预留服务器通信,如果每个网格中心资源预留成功,将多网格中心预留映射到对应 的多个网格中心的预留。一个多网格中心预留对应的多个网格中心的预留作为一个 不可分割的整体对待,对于多网格中心预留的操作都对每个子预留执行,不能仅对 一部分子预留执行,查看预留状态时整合多个网格中心对应的预留状态,每个预留 的开始时间和持续时间都一样,通过资源预留动态调整时,每个预留都要进行相应 调整,预留结束时间到达或者用户要求提前结束预留时,每个预留都要结束并回收 预留分配的资源。如果一部分子预留操作失败,要对已经完成操作的子预留进行反 操作回滚,以保证多网格中心资源预留作为一个整体的一致性。 2.4 系统功能结构系统功能结构 如图 2.2 所示,多粒度网格资源预留系统中,预留请求响应包含命令行请求响 应模块和 web 请求响应模块,逻辑调度层包含预留请求调度模块和预留动态调整调 度模块,资源分配层包含 cpu、虚拟机和物理机资源分配模块,多网格中心资源预 留协同层包括预留请求协同模块和预留动态调整协同模块。以下分别详细描述多粒 度网格资源预留系统的主要功能模块。 图 2.2 多粒度网格资源预留系统功能结构 命令行请求响应模块 web请求响应模块 预留请求调度模块 预留调整调度模块 cpu资源分配模块 虚拟机资源分配模块 物理机资源分配模块 预留请求协同模块 预留调整协同模块 请求响应层 逻辑调度层 资源分配层 多网格中心 多粒度网格资源预留系统 14 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 (1)命令行请求响应模块 命令行请求响应模块主要包括预留请求、预留撤销、预留调整和预留查看四种 命令,为最终用户提交预留请求提供用户接口,命令行请求响应模块根据用户提供 的预留参数,与预留逻辑分配层进行交互,实现资源预留请求、撤销、动态调整和 查询的功能。所有命令行接受 json 格式的输入和输出数据,json 实现字符串和 程序设计语言的复杂数据结构,如数组、哈希、对象等的相互转换,通过 json 字 符串进行标准的数据交换,命令行也可以作为编程接口供其他程序调用,提供二次 开发的功能,而且对编程语言没有严格限制。 (2)web 请求响应模块 web 请求响应模块通过 web 技术实现与命令行客户端类似的功能,使得用户不 用深入了解资源预留的命令行和 json 数据格式就可以通过简洁直观的 web 界面进 行资源预留。web 请求响应模块使用 ajax(asynchronous javascript and xml)等 web2.0 技术,为 cpu、虚拟机和物理机预留分别提供单一的入口,对一种粒度的 资源预留的所有操作,包括预留请求、撤销、动态调整和查询,在一个页面上可以 完成,不用进行不必要的页面跳转和刷新,从而降低用户操作的复杂程度,减少请 求等待时间。web 请求响应模块还负责使用户通过 web 直接访问预留的资源,无需 使用额外的工具。使用 java applet 技术,实现在 web 上通过 ssh(secure shell) 访问预留的 cpu、虚拟机和物理机资源,另外针对虚拟机和物理机实现通过 vnc (virtual network computing)访问预留的虚拟机或物理机的图形界面。 (3)预留请求调度模块 单个网格中心预留请求调度模块负责对预留请求进行处理,应用网格中心的资 源预留访问控制策略,拒绝不符合访问控制策略的预留请求,对符合访问控制策略 的预留请求,判断是否与已经运行和调度的其他资源预留存在冲突、空闲资源是否 满足预留请求的资源需求,如果没有冲突就改变资源预留服务器的资源预留状态, 为预留请求在逻辑上分配相应的资源。 (4)预留调整调度模块 由于网格平台和应用的动态性,很难确定应用的执行时间和需要的资源量,预 15 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 留调整调度模块负责对资源预留的持续时间和资源量进行动态调整。预留调整调度 模块对动态调整请求处理,判断预留动态调整请求是否与已经运行和调度的其他资 源预留存在冲突,如果没有冲突就修改资源预留服务器的资源预留状态,在逻辑上 分配或回收资源,并执行资源分配层的相应模块实际地分配或回收资源。 (5)cpu 资源分配模块 cpu 资源分配模块负责根据逻辑调度层的状态实际的分配和回收 cpu 计算资 源。利用 linux 2.6 内核 cpuset 特性,在资源节点上动态的设置用户进程的调度域, 授权并限制用户对 cpu 计算资源的使用权。 (6)虚拟机资源分配模块 虚拟机资源分配模块根据逻辑调度层的状态控制虚拟机,在预留开始时定位或 创建虚拟机镜像,通过资源节点上的虚拟机管理器,根据预留要求启动相应配置的 虚拟机,预留结束时停止虚拟机并按照预留要求保存虚拟机镜像到指定位置供以后 使用。 (7)物理机资源分配模块 物理机资源分配模块根据逻辑调度层的状态管理物理机,通过远程系统部署技 术,在预留开始时在预留的物理机上部署预留指定的操作系统并从新部署的系统启 动,预留结束时重新启动预留的物理机并从初始的操作系统启动,完成资源回收和 系统恢复。 (8)多网格中心预留请求协同模块 多网格中心预留请求协同模块负责协同多个网格中心的资源预留,并发地向各 个网格中心逻辑调度层提交资源预留请求,如果每个请求都被接受,将一个多网格 中心资源预留映射到多个网格中心的资源预留,并一直维持这一映射关系。如果有 部分请求被拒绝,则撤销已经成功的请求,并拒绝多网格中心预留请求。 (9)多网格中心预留调整协同模块 多网格中心预留调整协同模块处理多个网格中心资源预留动态调整,根据一个 多网格中心资源预留到多个网格中心的资源预留的映射,对多个网格中心的资源预 留进行动态调整,如果都成功就设置多网格中心资源预留的状态,否则对成功的部 分进行相反的调整实现回滚。 16 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 2.5 系统处理流程系统处理流程 多粒度网格资源预留系统的核心是资源预留,通过描述资源预留的生命周期和 状态迁移,可以反映出整个系统的核心流程。另外,本节还描述了两个典型的处理 流程,资源预留请求处理流程和资源预留动态调整处理流程。 2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车使用与维护 课件 项目一 制动系统的使用与维护1-4 盘式制动器的检查与维护
- 2025年电壁车项目可行性研究报告
- 2025年电动精小型单座套筒调节阀项目可行性研究报告
- 2025年甲基异丙基酮项目可行性研究报告
- 2025年瓶装液体灌装机项目可行性研究报告
- 2025年特种钢铸件项目可行性研究报告
- 中北大学《英语叙事文写作》2023-2024学年第一学期期末试卷
- 皖西卫生职业学院《工程材料与机械制造基础A》2023-2024学年第二学期期末试卷
- 湖南省衡阳二十六中2025年下学期高三生物第二次阶段检测试题考试试卷含解析
- 浙江省嘉兴市秀洲区2025届数学三下期末达标检测试题含解析
- 2025年哈尔滨市中考数学模拟试卷(附答案解析)
- 各行业安全风险分级管控清单
- T-CPA 006-2024 造纸用湿强剂 聚酰胺环氧氯丙烷PAE
- JT-T-1230-2018机动车发动机冷却液无机阴离子测定法离子色谱法
- 四川2024年西南石油大学招聘事业编制辅导员30人笔试历年典型考题及考点剖析附带答案详解
- 干眼基础检查、诊断试题
- 小学五年级音乐公开课编花篮说课稿
- 任务三 撰写直播脚本-活动2 商品直播脚本
- 新编秘书实务 第5版课件 第5章 会议组织与服务
- 2024年郑州铁路职业技术学院单招职业技能测试题库及答案解析
- 气相色谱-质谱联用GC-MS
评论
0/150
提交评论