IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Grid computing  >

使用各种组件构造网格

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

Sam Siewert (Sam.Siewert@colorado.edu), 副教授, University of Colorado

2007 年 10 月 25 日

研究各种关键组件和新兴技术,使用它们设计、构建和部署网格计算解决方案。理论上来讲,网格系统就是根据需要为用户提供计算、内容和服务,非常类似于一种公用设施。实现网格计算的目标异常艰巨,因为它需要使用最先进的存储区域连网、资源虚拟化、系统管理、供应和维护技术。网格计算的目标是实现前所未有的人员协作,解决健康、环境、经济及技术等各种问题。

如何定义网格计算?

网格计算的一种定义方法就是将它与其他知名的多用户架构相比较。实际上,网格计算介于同构集群和万维网(World Wide Web)之间。


图 1. 网格的定位
网格的定位

网格计算试图提供随需应变的服务、信息,以及在某个虚拟社区或企业中实现协作。网格计算的一个固有目标就是解放用户,使他们不再受困于系统问题、维护和个人的 PC 体验,实现用户组的资源和应用程序共享。通常,网格系统的构建是为了支持复杂的科学、医学、经济、社会或教育机构,以完成其他方式难以实现的工作,与松散耦合的 World Wide Web 计算资源和信息相比,网格系统更加特定于应用程序。

例如,一些工程学院为学生提供远程教学和远程实验室访问,以学习机器人技术和计算机视觉系统。这种网格系统将增加学生的访问,有利于课程和实验资源的共享,并通过高质量的服务为学习和教学提供虚拟环境。虽然学生也可以在网上搜索到有关机器人和计算机视觉的信息,但多数情况下,网上搜索到的内容和应用程序都不具备所需的高质量服务。然而,多数网格系统都可以通过 Web 门户进行访问,因此网格系统天生就必须包含对应用程序或服务的有条件访问和对所需内容的数字版权管理。





回页首


网格计算的资源观点

网格架构师必须清楚如何对资源进行虚拟化、如何为资源提供保护以及使它们具有集群规模之外的高度可用性。像任何独立的 PC 或集群一样,网格必须能够实现负载平衡,并且提供可伸缩的存储、I/O、计算和信息资源。

图 2 描述了网格计算的资源空间,其中包含存储访问、网络访问和处理资源量。不同类型的网格系统对资源的侧重点有所不同 — 例如,计算型网格可能需要较低的带宽和少量的存储,但需要大量的资源。相对于这种资源模型,存储区域网络(SAN)实质上就是一种关注网络和存储访问的网格系统。

大多数网格系统需要对资源进行某种均衡,但是如果某个网格系统的所有资源都达到了其资源限值,则将发生资源超载,理论上,它将根据需要自动供应资源,从而始终保持良好的资源供给。

网格的一个关键原则是必须对资源进行虚拟化,使用户不需要关注设备或子系统级别的资源管理的细节。这需要实现存储、连网和处理资源方面的虚拟化。


图 2. 网格计算资源空间示例
网格计算资源空间示例

对于这个网格系统资源视图,我将简要描述一些关键的实用性(state-of-practice)资源虚拟化技术,网格架构师必须予以理解并应用于网格系统。但是,我将详细讨论可伸缩存储,因为它最有可能成为网格设计的瓶颈。

正如很多网格研究人员和架构师已经了解的一样,低成本的计算和 I/O 吞吐量很容易实现,但要实现海量内容和应用程序的低延迟以及按需存储却十分困难。

例如,在 “Perspectives on grid: Improving data access performance” 一文中,Matt Haynos 介绍了 CERN 所面对的各种挑战,当这种网格系统启动 Hadron Collider (LHC) 实验(请参阅 参考资料)后,将在接下来的 10 年中产生 1.5 Gbs/秒的速率。这种高速数据访问和数据驱动应用程序只是众多网格系统的一个代表而已,它通常托管用于科学、医学、企业、数字音频/视频和其他用于实时协作的具有高清晰度的内容。

此外,本文还向网格架构师介绍在实现虚拟化之后,如何管理以及安全地提供网格服务和信息。对基本的资源虚拟化进行稳健的设计之后,网格中的安全门户、自动供应和管理功能将为信息和服务虚拟化提供所需的框架。

网格系统也能够应用于游戏

借助 IBM® OptimalGrid 自治式网格中间件,IBM Research 为 Quake II 创建了基于网格的大型系统。网格系统非常适合于大型多玩家在线游戏(例如 Quake),同样也适合用于大型科学和企业协作式研究系统。

存储访问虚拟化

以下技术可用于存储虚拟化:

  • SAN 适合进行代码块级别的远程访问,Network Attached Storage (NAS) 适合用于文件级别的远程访问,而 Redundant Array of Independent Disks (RAID) 可提高两种访问的性能和可用性。
  • Serial-Attached SCSI (SAS) 或 Serial Advanced Technology Attachment (SATA) RAID 设备和存储池适合可伸缩性存储,包括同构数组(homogeneous array)、机架系统、模块(brick)和松散的异构集合,支持网格存储需求
  • NAS、Internet SCSI (iSCSI) 和 Fibre Channel (FC) 接口适合于通过 Network File System (NFS)、Internet Protocol (IP) 和 FC 互连网络标准化访问存储设备。

网络访问虚拟化

以下技术可用于网络虚拟化:

  • 将宽带和基带网络相互连接,使用高质量服务按需传输内容。
  • 宽端口和多路径接口为 fail-in-place 恢复提供宽带管理以及超量供给(over-provisioning)。
  • 端口虚拟化和数据包多路复用通过提供随需应变的传输,可以提高带宽使用效率。
  • 网格系统可能包含多种传输方式,包括 IP 基带/宽带网络、Dense Wavelength Division Multiplexing (DWDM) 光纤和混合光纤同轴(HFC)网络。

CPU 虚拟化和虚拟机

考虑以下可实现处理器虚拟化和虚拟机的技术:

  • 可以在一个平台上托管多个操作系统,从而为异构式系统应用程序提供支持。
  • 示例虚拟机包括 Xen、VMware 和 IBM® 虚拟机,可以在 Microsoft® Windows® 上运行 Linux®,反之亦然。
  • 网格系统托管各种应用程序,并尝试在工作流中与这些应用程序进行交互和互操作,并且很少像原装 PC 和集群应用程序那样需要进行修改。
  • 网格系统必须托管批作业和实时系统,因此必须对资源进行管理,以实现最佳吞吐量和服务质量。

信息和服务虚拟化

以下技术可实现信息和服务虚拟化:

IBM Research 致力于研究 fail-in-place、可伸缩、智能存储块

IBM Research 为实现自治计算的目标以及为新兴的计算架构(例如网格)提供支持,一直从事原型存储研究,这种存储易于管理、可伸缩、成本低廉、可轻松部署到环境中,并非常适合使用超量供给和 fail-in-place。

  • 网格系统必须对数据进行组织,包括结构化数据库和非结构化的文件,以便在协作中使用。
  • 数据保险库和数据仓库技术可集中存储数据并帮助企业实现对网格系统的高性能访问。
  • 在协作中,用户可能需要对结构化数据、数字视频或音频和文件进行虚拟交互,因此,按需提供内容对于提高协作效率非常重要。按需提供高价值内容时的长尾(Long-Tail)现象 意味着网格系统中存储的信息必须具有海量、低延迟的特性。
  • 按需提供软件服务是网格系统的关键,这样用户才可以共享应用程序、避免安装和许可问题,并且还可以阻止对敏感数据和应用程序的广泛访问。

网格系统架构师面前的一个艰巨挑战就是,将以上介绍的所有技术组合起来,并确保这些技术可互操作、可伸缩并且经济有效。幸运的是,针对每种技术都提供了很多推荐标准,并且网格设计标准也会提供帮助(参阅 参考资料)。选择了标准和技术之后,下一步将重点介绍用户、用例场景以及网格系统的管理方式。





回页首


网格计算中的用户和系统管理观点

在任何良好的网格架构中,技术是最为明显的构成组件,然而网格设计中最棘手的部分还涉及安全访问和可用性以及成本和高可用性的权衡。这些网格系统特性源于用户和系统管理观点。

授权的网格用户可以透明地使用资源、内容和服务,而非授权用户的使用则受到限制。同样,网格对于用户应该高度可用,并且资源伸缩对用户是透明的,同时只需少量的维护工作。用户通常通过用户门户与网格进行交互。网格管理的理想状态是尽可能实现网格自治(包括配置、修复、组织和保护)。网格架构师也可以利用很多现有技术和标准进行 UI 和管理设计。

用户界面门户

以下技术可用于 UI 门户:

  • 针对网格互操作和框架的 Web 技术,例如 IBM WebSphere®,提供了 Web Services Description Language (WSDL)、XML、SOAP 和 Java™ 方法,使现有应用程序彼此交互,并实现用户门户。
  • 网格系统将安全性、身份验证和数字版权管理与诸如 SOAP 这样的消息传递协议相结合,使用 Secure Sockets Layer (SSL)、高级数字签名和水印保护内容。
  • 网格互操作性和信息访问需要进行远程过程调用和消息传递,这些内容可以在可移植的高级语言如 WSDL 中指定。

系统管理

以下技术可用于系统管理、编排和供应:

  • 网格系统如果使用典型 PC 或集群采用的传统的系统管理方式,则无法正常工作。网格系统的管理必须具备更高的层次,提供更多内置的智能功能,从而实现服务、资源和内容的自动化供应。总之,网格系统必须对服务质量、高可用性和伸缩性进行组合,通过提供异构资源池满足用户随需应变的需求。
  • 网格中的超量供给为实现 fail-in-place 恢复提供了充足的资源,从而避免系统停机并使系统的剩余空间能够满足动态的随需应变的工作负载。
  • 网格理论上纳入了自治性质的自配置、修复、组织和保护(CHOP)功能,因此只需要进行少量的系统管理。一般来讲,网格系统的自治性越高越好。然而,这种技术目前还未完全成熟。因此,网格系统通常只实现了某种程度的 self-CHOP 功能,但是未来一段时间内还无法得到充分利用。

对于结合了多种技术的基本网格设计策略和概念,架构师还需面对一个问题:是否选择了正确的资源平衡策略以及部署完成之后如何进行重大调整。

推动技术发展的摩尔定律表明,在未来一段时间内,处理技术和网络带宽技术将持续发展,性能翻倍。然而,存储访问技术却无法跟上这一步调,但存储密度却会是现在的两倍。

如今的磁盘容量是两年前同等价位磁盘驱动器的 10 倍,但是再看一下带宽和磁盘访问速度,情况又大有不同。如今的驱动器转速为 5400;7200;10000 甚至达到 15000 RPM,但是它们所提供的数据访问速率最多也只达到每秒几百兆字节。

存储访问通常使用 I/O 每秒(IOP)和带宽进行度量。RAID 阵列很少能够提供 GB 级别的带宽或是几十万的 IOP,而这恰恰是众多网格系统所需要的,尤其是数据处理网格。未来将出现新型的存储访问解决方案,包括微机电系统(MEMS)设备。但是,在每 GB 的成本还相当高昂时,即使它们承诺可以降低每 I/O 的成本,很多新兴技术还不能够应用于实际当中。





回页首


数据网格计算瓶颈

网格系统提供了随需应变的海量内容以及各种服务和应用程序,可以生成、分析和共享这些数据。正如 Bart Jacob 在 “Grid computing:What are the key components?” 中指出,网格系统可以是数据、计算或清除系统。即使以计算为主的网格系统仍然需要保存和传输大量信息,但很多诸如 CERN 这样的新型网格系统则为当前技术所羁绊(参见 参考资料)。

和 Web 类似,网格系统具有高度的数据驱动特征,对于较小型的网格来说,使用高密度、高并发存储和 I/0 子系统将获益良多。

IBM Intelligent Bricks 项目结合新兴的高密度系统,承诺可以更好地满足新型架构(如网格)的容量、访问、带宽需求。例如,Sherwood Information Partners 的 Atrato 系统将几千个未缓存的存储 IOP、几十 GB 的带宽和 TB 级别的存储封装到 3 个机架单元。类似 IBM brick 系统,Sherwood 使用高级方法管理 fail-in-place 组件,从而大大减少了管理和维护工作,实现了每三年进行一次维护,而无需时常进行。

由于网络系统规模以及内容出现长尾现象(参见 参考资料),网格必须提供大型用户社区,还必须提供高度并发式随机存储访问。如今,存储和 SAN 管理通常要求大量系统管理。因此,未来的网格 SAN 必须提供自治性更高的存储、连网和处理能力。





回页首


数据网格系统可从 I/O 执行器密度获益

IBM Research 正在寻求一种新技术来延续摩尔定律,如量子计算。然而,至少还需十年的时间才能得到实际应用,并且也无法保证可提供较高的性价比。

理论上讲,对于某些配备了大型 RAM 缓存或固态闪存的网格系统,存储 I/O 瓶颈问题有望得到解决。然而,RAM 的价格至少是硬盘的 20 倍,而闪存的价格至少要比硬盘贵 10 倍。

IBM 还研究了 MEMS 设备,例如 Millipede 存储设备,用以实现大型的并行存储或 I/O 执行。在未来网格系统中,所有这些新技术都有望实现更好的平衡处理、I/O 和存储访问。诸如 IBM Intelligent Bricks 和 Sherwood Atrato 阵列这样具有较小尺寸的磁盘驱动器可以提供大型阵列,满足价格权衡、密度、大型并行运行以及应用 fail-in-place 自主设计等需求。





回页首


结束语

网格系统的构建非常复杂,需要认识到这是一项巨大的工程,但其回报也很丰厚。也许一些网格系统可以为全球变暖或癌症治疗提供解决方案。

本文针对网格组件、子系统和标准分析了网格概念和定义与网格设计分析和资源之间的联系。通过详细探讨网格系统提供的功能以及可并入到网格解决方案中的各种技术,成功的网格部署将实现对大量企业和组织的重新改造。



参考资料

学习

获得产品和技术

讨论


关于作者

Author photo

Dr. Sam Siewert 是一名嵌入式系统设计和固件工程师,其工作曾涉及航天、电信和存储等多个行业。他还在业余时间为位于 Boulder 的科罗拉多州立大学讲授 Embedded Systems Certification Program,并且之前是 CU 的一名研究助理,主要研究 NASA JPL Autonomous Operation 架构。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款