如何借助云集群打造高性能计算

云计算一开始致力于为互动系统(systems of engagement)改善应用架构,而在高性能计算方面提供不了什么。而如今,领先的云服务提供商正在重构解决方案及相关的基础设施,让计算密集型应用切合实际、经济高效。

在过去,云架构是为了交付将应用程序与Dropbox、Gmail、iTunes和Evernote等存储结合起来的服务而设计的。Bright Computing公司的首席执行官Matthijs Van Leeuwen说:“集群的架构旨在暴露除了存储外的其他资源,比如在定制网络中执行厂商提供的或用户构建的应用程序所需要的那些资源。”

酷似在专用硬件上运行的传统集群,基于云的集群包括不同的分布式资源,这些资源因某个用途而结合起来。这可能包括:为可识别集群的数据库管理系统(DBMS)、高性能计算(HPC)应用或大数据分析应用交付平台。亚马逊和Rackspace之类的公有云提供商暴露资源的预定义实例,它们可以用于在云基础设施上构建集群。

OpenStack让企业组织可以定制自己的资源实例,然后使用这些资源实例在自己的私有云中构建集群。物理服务器或使用物理服务器上虚拟机管理程序的虚拟机在专用的内部部署集群中很典型。对开发人员来说,区别主要在于资源实例抽象,这是云集群与专用集群之间的主要区别。

常见的集群使用场合

Leeuwen表示,云集群可以用来取代或补充专用资源。对于运行在低配专用硬件(比如笔记本电脑)上的应用程序而言,云可以用来为集群创建实例、使用集群以及删除实例。在这种使用场合下,笔记本电脑只是访问基于云的集群的最终用户设备而已。它并不提供用来执行计算或设计网络的任何实例化资源。

在第二种常见的使用场合下,基于云的资源可以用来补充专用资源。这种情况下,内部部署的资源通过云突发流程,由云端可用的那些资源予以拓展。基于云的资源只要根据需要创建实例、使用并删除实例。可以做到内部部署资源与云端资源的这种区别对最终用户和许多类型的应用而言是透明的。

这两种使用场合都可以运用到公有云或私有云。企业组织可以设计其应用程序架构,以便直接做到这一点,或者充分利用Bright Cluster Manager之类的工具,在AWS公有云或在OpenStack私有云中构建集群,前期的开发和配置工作比较少。

弥补抽象方面的缺口

开发人员面临的最大挑战就是,用于相对专用硬件,配置云资源(比如网络、处理器和存储)的不同抽象模式。云依赖实例化资源。除了存储外,暴露基于云的处理器实例在公有云和私有云解决方案中都相当成熟。最新的云解决方案随带服务和钩子(hook),可用于指定异常需求,比如InfiniBand网络连接、GPU加速和定制的IP网络。

任何资源都需要通过这同一条路径来传输,之后才能予以暴露,以便在任何一种类型的云里面利用。由于集群通常使用低延迟高带宽的互连结构、加速器和协处理器以及其他的专门资源,这每一个在基于云的集群方面同时带来了机遇和挑战。

Leeuwen表示,企业组织完全由云服务提供商来支持存储和计算之外的资源实例化。比如说,AWS通过亚马逊VPC以及英伟达GPU实例,支持定制的IP网络。一种良好的做法就是,开发标准的配置,或者充分利用第三方云管理工具,管理存储、计算、网络和加速器等资源,无论它们驻留在企业内部,还是与AWS协同使用。

延迟对集群来说很关键

通信延迟是构建可扩展集群应用面临的最大挑战之一。一个良好的做法就是,为HPC智能化缓存数据。在数据方面,这需要认真考虑使用更具成本效益的、速度较慢的持久性存储服务(比如AWS S3)和归档服务(比如AWS Glacier),而不是成本较为高昂的RAM实例。

但是一个还要重大的网络挑战在于在运算期间,尽量缩短节点之间的通信延迟。处理期间充分利用消息传递的HPC应用最有可能出现瓶颈。大量使用消息传递接口(MPI)等接口的应用会陷入困境,除非开发人员和操作团队确保节点之间的延迟极低。

如果MPI应用在密封在私有云或公有云里面的集群中运行,这个问题比较容易解决。但如果在不同公有云或私有云基础设施上运行的不同节点之间有大量的MPI流量,这个问题就比较棘手。

这些考虑同样适用于云端运行大数据分析任务。让Hadoop分布式文件系统(HDFS)实例横跨内部部署基础设施和云基础设施没有太大意义。Leeuwen说:“但是完全在内部或完全在云端的HDFS实例实际上能取得相当好的效果。”

敏捷云整合解决方案提供商Jitterbit的首席技术官Ilan Sehayek表示,你在扩展时要保持性能的关键在于分布式架构。“让用户自行选择哪里运行API,哪里运行支持API的服务。”

另外要确保所有通信由可扩展的消息传递基础设施来支持,以便快速、有保障地处理API网关与服务之间的API请求。Sehayek补充说,面向集群的服务还需要高效的缓存技术,以便提供快速响应API这一机制。

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2015-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏无原型不设计

更巧妙的表单设计与登陆访问

以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具 你觉得一个普通人每天会使用多少次登陆功能呢?数据显示至少1...

32640
来自专栏芋道源码1024

再谈 HBase 八大应用场景

HBase是一个分布式存储、数据库引擎,可以支持千万的QPS、PB级别的存储,这些都已经在生产环境验证,并且在广大的公司已经验证。特别是阿里、小米、京东、滴滴内...

26710
来自专栏微信公众号:Java团长

【重磅】Java大规模分布式跟踪监控系统源码+视频教程小编送你!

本项目对java、scala等运行于jvm的程序进行实时日志采集、索引和可视化,对系统进行进程级别的监控,对系统内部的操作进行策略性的报警、对分布式的rpc调用...

13210
来自专栏云计算D1net

云备份选项保护公共云存储数据

如今,公共云供应商正在开发尖端产品,以使基于云计算的备份产品更有效地备份公共云的存储数据。 数据是当今大多数企业的命脉。而备份数据可能是IT行业人士最不喜欢做的...

36160
来自专栏测试驿栈

<转>性能测试浅谈

本文主要针对WEB系统的性能测试。不涉及具体的执行操作,只是本人对性能测试的一点理解和认识。

23950
来自专栏杨建荣的学习笔记

一次快速的数据迁移感悟(r8笔记第54天)

最近碰到一件事情很感慨,简单说说。 有下面的三个数据库实例,都是在开发测试中使用,一台服务器上有业务1+业务2,另外一台服务器上有业务1+业务2. 当然为什么会...

31030
来自专栏深度学习与数据挖掘实战

【neo4j图数据库】基础入门&案例整理

neo4j有社区版本和企业版。社区版本是免费的,只支持单机版;企业版是付费的,是分布式的。整理了一些不错的参考资料分享给大家。

26320
来自专栏腾讯数据库技术

腾讯新一代企业级云数据库CynosDB(NewCDB)

NewCDB是在CDB十年技术和产品沉淀的基础上诞生的,腾讯云数据库产品在继承中不断完成突破。

7.7K60
来自专栏杨建荣的学习笔记

自问自答的一些运维开发问题

CMDB完成了80%的基础开发工作,后续需要对元数据信息进行确认和完善,还有部分的接入。

12330
来自专栏屈定‘s Blog

如何学习一门新技术

最简单的是找一个上手视频,因为视频是非常直观的展示了技术的使用.先学会用是最根本的,对于没有视频的技术的话,就可以搜索XX上手教程,XX学习记录之类的关键词,很...

25030

扫码关注云+社区

领取腾讯云代金券