技术开发 频道

开源云计算平台架构介绍(四)

  【IT168 评论】

        第3章 实现 IaaS 必须考虑的架构问题

  并行化

  水平扩展和并行化如影随形,不过,现在扩展和实现发生了变化。从微观上讲,软件可以在对称式多处理器上使用垂直扩展来产生多个线程,其中,并化可加快操作速度或改进响应时间。但是,随着现今的计算环境转变为包含个和四个插槽的 x86 架构服务器,垂直扩展只是像服务器拥有核心的数量一多地拥有并行处理能力 (或者购买一样多的核心并分配给特定虚拟机)。从宏观上讲,可以在多个服务器之间使用并行化的软件也可以扩到成千上万个服务器,从而提供比用对称式多处理技术实现的更大可扩展性。

  在实体世界中,并行化技术通常是通过在多个服务器之间分配入站请求的负载平衡器或内容交换机实现的。而在云计算世界里,并行化可以通过在多个虚拟机之间分配入站请求的负载平衡设备或内容交换机来实现。无论是上述哪种情况,应用程序都可设计为吸收补充资源来适应工作负荷尖峰。

  通过负载平衡实现并行化的经典示例是:许多同时访问相同数据的无状态 Web 服务器,其中,在服务器池内分配入站工作负荷 (图 9)。

开源云计算平台架构介绍(四)

  在云计算环境中使用并行化还有许多其它途径。使用巨量 CPU 时间处理用户数据的应用程序可能会使用如图 10 中所示的模式。一个调度程序接收来自用户的作业,将数据存入存储库,然后针对每项作业启动一个新的虚拟机,交给该虚拟机一个令牌,此令牌允许该虚拟机从存储库中检索数据。当虚拟机完成其任务时,它将令牌传回调度程序,调度程序允许虚拟机将完成的项目返回给用户,并且虚拟机终止工作。

开源云计算平台架构介绍(四)

  分割并征服

  应用程序只能并行化到可以对其数据进行分区的地步,这样,独立系统就可以在其上面并行工作。一个良好的应用程序架构包括一个分割并征服数据的计划,而其多种真实示例阐释了多种多样的方法:

  • Hadoop是 MapReduce 模式的一种实现,该模式又是主/工人并行化模式的一种实现。

  • 数据库分片可通过多种分区技术来完成,其中包括垂直分区、基于范围的分区或基于目录的分区。使用的方法完全取决于将要如何使用数据。.

  •大型金融机构已经重构其欺诈检测算法,这样,曾经是大部分批数据挖掘操作的程序现在并行运行于大量系统之上,对输入数据进行实时分析。

  •现在已经设计出一些处理三维数据的高性能计算应用程序,因而通过一个进程就可以为时间 t 计算出一立方容积 (的气体、液体或固体) 的状态。然后一立方的状态就传递给代表八相邻立方的进程,并为时间 t+1 计算出状态。

  数据分区对于通过网络传输的数据的量影响很大,这使数据物理成为下一个考虑事项。

  数据物理

  数据物理考虑处理元素与处理元素所操作的数据之间的关系。由于多数计算云在云中存储数据,而不是在物理服务器的本地磁盘上存储数据,因而需要花费时间把数据迁移到要处理的服务器上。数据物理由一个简单的公式进行确定,该公式描述在生成、存储、处理和存档数据的位置之间迁移一定量的数据花费多长时间。云善长于存储数据,并不一定善长于对数据进行存档并按照预定计划毁坏数据。大量数据,或低带宽管道,延长移动数据所花费的时间:

开源云计算平台架构介绍(四)

  此公式对于 Moment-by-Moment 式数据处理和长期规划都意义重大。例如,它有助于确定实施超负荷计算策略是否有意义,因为其中把数据移动到公用云可能要比直接处理数据花费更长时间。它还有助于确定将操作从一个云提供商移动到另一个云提供商的成本。无论数据在一个云提供商的数据中心里积聚成什么程度,都必须将其移动到另一个云提供商那里,而这一过程可能花费时间。

  移动数据的成本可以用时间和带宽费用来表示。图 5 所示的混合模式 (其中一个公司的专用云托管在其云提供商的公用云那里) 有助于极大地降低成本。托管场所的带宽一般都是充足而空闲的,这使这一策略无论在到处移动数据花费的时间还是费用方面都是一个双赢的命题。

  数据与处理之间的关系

  数据物理提醒人们考虑数据与处理之间的关系,以及从存储设备将数据移动到处理设备会既花费时间又花费资金。这种关系中需要考虑的一些方面包括:

  •在附近没有计算能力的情况下存储的数据价值有限,而且云提供商应该在这两个组件的网络关系方面保持透明。其管道的大小如何? 时间延迟情况如何? 连接的可靠性如何? 云提供商应提前回答上述问题。

  •云架构设计师应该能够指定虚拟组件和服务的位置,这样,虚拟机与其访问的存储设备之间有一个明确定义的关系。

  •云提供商可以自动为客户优化这种关系,但要考虑其机构是否适合于手头的应用程序。

  •在一个联网环境中,有时计算一个值比从联网存储设备汇总检索它效率更高(更快,时间延迟更短)。想想使用计算周期与到处移动数据之间的利弊得失。

0
相关文章