版权所有,未经华为书面许可,请勿转载或转发!
2.2 云计算架构关键技术
相对于云计算初期阶段以探索和试用为特征的非互联网领域及行业的基础设施云资源池建设,新阶段云计算基础设施云化已步入大规模集中化建设的阶段,需要云操作系统(Cloud OS)必须具备对多地多数据中心内异构多厂家的计算、存储以及网络资源的全面整合能力,因此有如下一些关键技术和算法。
2.2.1 超大规模资源调度算法
我们说希望能像用水用电一样的方式去使用IT资源,那么,IT资源的供给就需要许多类似于大大小小的水厂/电厂的IT资源工厂,这就是我们所说的IT数据中心。
以水厂为例,其实我们有各种大小的水库,有时候为了供给一个大城市,我们会通过复杂的管道,将某些江河或某些水库引入城市边上的大水库。就是说,这个供水系统是个复杂的网络系统,需要有良好的预先设计。
可以看到,尽管我们家家户户使用的自来水没有什么差别,但实际上他们是来自于不同的水厂。每个水厂会有可能遇到自己的枯水期,使用这些水厂水资源的客户可能面临缺水的场景,就是说,水的供应并不是无限制的。对应的,其实我们需要的IT资源也并不是无限制供给的,它是由后面大大小小的IT数据中心的能力决定的。当然,为了应对一些大企业的IT资源要求,我们会需要将异地的IT数据中心进行联网设计,组成一个大的IT资源池来给大客户使用。此时,这个大资源池的组成技术、调度技术都是关键技术,包括三个方面。
1. 计算资源调度算法
超大规模资源调度算法实现十万物理机、百万虚拟机的多级、分层调度。
在一个分布式的数据中心情况下,计算虚拟化部分负责L2–L5调度,以虚拟机(含OS及应用软件/中间件)为基本调度单元,完成指定虚拟机实例或者虚拟机集群到整个云数据中心计算资源池内最合适的物理机或者物理机集群的映射(见图2-6)。
图2-6 超大规模数据中心调度
初始分配调度及动态规划
典型的调度算法: 首次匹配、负载均衡、轮转指针等,可统一规约化为运筹学的线性规划NP求最优解/次优解的问题,约束条件及目标函数均可按需进行策略配置。
资源弹性分配的问题域
资源弹性分配的限定条件有下面6个表达式【更详细的描述请参见参考文献33】,如图2-7所示。
图2-7 资源弹性分配
其中各变量的含义如下:
l i = 1->N, 服务请求数量;
l h = 1->H, 每个集群中同质物理服务器数量
l j = 1->d, 每个服务器提供的资源类型数量(例如CPU、RAM、带宽等)
l Rij,表示第i个服务请求对资源类型j的资源需求量,这个值在0和1之间,表示资源的满足程度;
l δij,表示Rij是否为固定资源请求类型。取值0或者1。如果 Rij是固定资源请求(比如每个用户邮箱服务固定需要内存10G),则δij=1;如果Rij是弹性资源请求(比如每个用户邮箱服务需要内存可以在0~10G之间变动),则δ