“经过精细规划的优化理论设计的实践比随意性或一般性实施在性能、节能以及提高运营利润等方面可体现高出多个量级的效果,并不断接近或达到最优化结果。”
云计算是一种计算模型和服务模式,它将计算任务分布在大量计算机构成的不同数据中心,使各种应用系统能够根据需要获取计算能力、存储空间和信息服务。提供资源的网络或数据中心被称为“云”。业界研究者将云计算列为水、电、气、油之外的第五种公用资源(The Fifth Utility)。继个人计算机变革、互联网变革之后,云计算被看做第三次IT浪潮,是世界和中国战略性新兴产业的重要组成部分,它将带来生活、生产方式和商业模式的深刻改变,已成为当前全社会关注的热点。
云计算目前已经广泛应用于网络搜索、科学计算、虚拟环境、能源和生物信息等领域的日常业务和创新性探索。IDC预测,未来4年中国云计算将产生1.1万亿元的市场。赛迪顾问2010年年底的《中国云计算产业发展白皮书》预测未来3年,云计算应用将以政府、电信、教育、医疗、金融、石油石化和电力等行业为重点,在中国市场逐步被越来越多的企业和机构采用,市场规模也将从2009年的92.23亿元增长到2012年的606.78亿元,年均复合增长率达87.4%。该报告预计中国云计算产业发展将分为准备阶段(2007 —2010年)、起飞阶段(2011—2015年)和成熟阶段(2015年以后)。
不少研究预言“将来的核心竞争在数据中心”。数据中心是容纳计算设备资源的集中之地,同时负责对计算设备的能源提供和空调维护等。数据中心可以单独建设,也可以置于其他建筑之内,还可以是分布在不同地理位置的多个系统。云资源汇聚在一起,通过多租户模式服务多个消费者。在物理上,资源以分布式的共享方式存在,但最终在逻辑上以单一整体的形式呈现给用户。资源种类很多,分类角度也不一样,本书所涉及的资源主要包括以下几类。
· 物理服务器:构成数据中心的物理计算设备,每个物理服务器可以提供多个虚拟机,每个物理服务器可以由多个CPU、内存、硬盘、网卡等构成。
· 物理集群:由多个物理服务器、必要的网络和存储设施构成的物理服务器组。
· 虚拟机:通过虚拟化软件在物理服务器上生成的虚拟计算平台,可以由多个虚拟化CPU、硬盘、网卡等构成。
· 虚拟集群:由多个虚拟机、必要的网络和存储设施构成的虚拟机组。
· 共享存储:为数据中心的计算资源提供大容量存储,可以被所有设备和用户共享。
以上数据中心资源在本书中统称为基础资源,简称云资源。
云资源优化管理调度技术是云计算应用的核心,是云计算得以大规模应用和提高系统性能、兼顾节能减排及运营成本等方面的关键技术。先进的动态资源调度管理,对于提高学校、政府、研究机构和企业计算资源的利用效率,节约能源,提高资源共享和降低运营成本都具有极大意义,值得深入系统地学习和研究。
资源管理调度是将资源从资源提供方分配给用户的一个过程。对于资源过载(需求大于系统容量),以及需求与容量随着时间的推移而动态变化的事实,通过优化资源调度管理,可以动态地重新分配资源,以便更高效地使用可用资源。业界一般将调度分为作业级调度和设施级调度。作业级调度是指针对具体的运行程序,系统将作业具体分配到哪些资源上运行的问题。例如,一些独立的需要较多计算资源和较长运行时间的程序,或者高性能并行处理程序,这些程序往往需要较大规模的高性能计算资源(如云计算)才能很快完成。设施级调度主要指将底层资源作为一种基础设施服务(Infrastructure as a Service,IaaS)提供给用户,用户依据实际情况使用这些资源。例如,数据中心的物理服务器(含CPU、内存、网络带宽等)、虚拟机(含虚拟化的CPU、内存、网络带宽等)及虚拟集群都属于底层基础资源。
本书侧重于设施级(也称应用级)调度,同时兼顾作业级调度(如MapReduce多任务),并介绍资源动态优化管理与调度。如果把数据中心作为一个整体与人体比较,资源优化管理调度类似人的大脑,是最为核心的功能之一,具有极大的理论意义和实用价值。另外,资源监控类似人的眼睛,资源部署类似人的四肢。目前的数据中心管理与调度大多仅实现了简单的初级功能,还有很多问题亟须深入系统解决。针对基础资源优化管理调度,主要回答以下三大基本问题。
· 优化目标问题:将所需的虚拟机(或虚拟集群)配置在某个数据中心物理服务器(或物理集群)的具体优化函数(目标)是什么?如何建立高效的数学理论优化模型?这涉及宏观的管理策略制定。
· 优化分配问题:具体在哪个数据中心的哪个物理服务器上(或物理集群)分配所需的虚拟机(或虚拟集群)以实现优化目标?满足的具体前提和限制条件有哪些?针对不同的优化目标,业界优化实践方案有哪些?
· 实践性能问题:针对理论优化目标与模型,业界优化管理调度方案的性能对比效果如何?如何选择适合不同目标的具体方法?
“没有理论的实践是盲目的,没有实践的理论是苍白的。”从优化和长远的角度来看,云计算的建设需要坚实的理论与实践经验的结合,我们发现经过精细规划的优化理论设计的实践比随意性或一般性实施在性能、节能以及提高运营利润等方面可体现高出多个量级的效果,并不断接近或达到最优化结果。经过多年的数据中心建设的实践和理论探索,我们在本书中提出并总结相关领域的优化理论模型和实践方法,在解决基本问题的同时,实现动态调度而不是静态预先完全设定相关参数,兼顾资源(CPU、存储、网络等)的性能、热耗、利用率等特性,本书称为资源的动态综合调度技术问题。
数据中心需要处理物理和虚拟资源的动态结合的优化管理调度这一新问题,以实现高性能、节能减排及降低投资等目标。当前数据中心的资源调度不少仍然沿袭传统方法,较为简单化,难以满足以上目标的精细化和动态变化的要求。数据中心调度面临的挑战性问题包括:在考虑配置动态可调虚拟机的分配和迁移以及物理机综合性能,同时兼顾CPU、存储、网络等资源因素而非单一因素的情况下,如何解决用户需求不一致和资源规格不一致造成的系统性能不平衡、能耗效率低下及成本过高等问题。
本书围绕以上关键问题展开,介绍了主要云服务提供商的相关解决方案和国内外研究现状,以及对以上挑战性问题的理论与实践探索,希望为读者深入了解相关知识内容和有兴趣的研究人员提供一些借鉴。
本书各章之间的关系紧密围绕云资源优化管理调度展开,如下图所示。本书主要内容包括云计算概述(第1章)、数据中心(第2章)、大数据处理(第3章)、云资源监控管理(第4章)、实时负载均衡调度(第5章)、计算资源节能调度概述(第6章)、离线和在线节能调度算法(第7章)、Hadoop集群节能调度管理(第8章)、计算资源的利润最大化问题(第9章)、云工作流应用(第10章)、数据中心调度模拟系统(第11章),以及总结与展望(第12章)。本书可作为高年级本科生和研究生教材,也可作为相关专业研究人员的参考资料。
本书是编者对以上内容大量理论知识与实践经验的积累结果,因时间仓促,书中难免存在不妥之处,欢迎读者指正,请发邮件至CloudSched@gmail.com。
编 者
2013年11月