基于云的CFD仿真平台实现
本文介绍CloudSME仿真平台,一种支持多云部署与工作流管理的平台即服务(PaaS)解决方案,助力中小企业低成本实现高性能计算流体动力学(CFD)仿真。通过TransAT CFD软件的云化案例及三项实证研究,验证了该平台在不同云环境下的可行性与成本效益,实现了接近本地集群的性能表现。
通过平台即服务解决方案实现基于云的计算流体动力学
摘要
计算流体力学(CFD)在制造和工程领域中被广泛应用于产品设计到测试的各个环节。CFD需要大量的计算能力,通常依赖高性能计算来缩短可能较长的实验时间。专用的高性能计算系统对于中小型企业(SMEs)而言往往成本高昂。云计算声称能够以低成本访问高性能计算资源,而无需资本投入。CloudSME仿真平台旨在提供一种灵活且易于使用的基于云的平台即服务(PaaS)技术,使中小企业能够实现高性能计算的优势。我们的平台集成了工作流管理和跨多种云资源的多云实施方案。本文介绍了该技术的组成部分以及利用其创建 TransAT CFD软件云版本的经验。三项案例研究对本地集群和两个不同云环境的性能进行了有利对比,验证了我们基于云方法的可行性。
索引术语
计算流体动力学,云计算,建模与仿真,高性能计算,流体力学。
I. 引言
计算流体力学(CFD)使用数值方法来分析与流体或气体流动相关的问题 [1]。计算流体力学在车辆和航空工程、生物医学工程、热液压工程、化学工程以及气象学等广泛的工程应用中被使用。相比于物理测试,CFD仿真在实验灵活性和成本效益方面具有诸多优势。CFD仿真软件的核心通常是一种偏微分方程求解器,该求解器使用复杂的算法来分析流体/气体/固体流动。CFD 还使用仿真后处理工具,例如分析和可视化软件,来展示仿真的结果。
计算流体力学(CFD)试图解决的问题在复杂性和规模上各不相同。在此背景下,我们根据仿真实验中的相数来定义复杂性。问题分为两种类型:单相和多相。单相仿真涉及同一相态材料的分析,例如液‐液;而多相仿真则涉及不同相态或不同化学性质的材料,例如液‐气、油‐水等。后者具有更高的复杂性。问题的规模与实验的分辨率相关。如上所述,CFD通过求解偏微分方程来获得结果。除了非常简单的CFD问题外,这些偏微分方程无法解析求解。因此,流场区域被划分为子域(即几何基元),并在每个子域内求解控制方程。这些子域称为单元或单元,所有单元的集合称为网格或网格。通常,使用更大的网格可以获得更高的精度。然而,随着分辨率的提高,求解偏微分方程所需的计算资源也随之增加。这可能会显著延长分析问题所需的时间。
高性能计算的进步对计算流体力学产生了重大影响。使用线程、消息传递接口(MPI)或并行虚拟机(PVM)的并行化策略,使得在更短的时间尺度内实现更精确、更快的计算流体力学分析成为可能[2],[3]。网格被映射到多个不同的CPU上,从而通过紧密耦合的高速通信支持并行求解偏微分方程。因此,能够访问高速计算集群的企业可以期待更快的计算流体力学分析,并有机会创建更优的设计和解决方案[4]。已有许多研究探讨了计算流体力学并行化的各种方法,尤其是使用MPI的方法[5]。例如,Shang [6]讨论了使用具有MPI并行功能的计算流体力学软件Code Saturne时不同网格划分方法的并行性能,并得出结论:网格划分方法在延迟和效率方面均会影响并行仿真的性能。不同的划分方法的行为对性能具有影响。多核计算设施(如超级计算中心提供的设施)正被用于支持大规模计算流体力学应用的处理[7]。通常,一家拥有他们自己的高性能计算设施将能够更快地处理CFD仿真。这对于中小型企业(SMEs)而言是一个问题,因为购买和维护自有计算集群的成本可能过高,从而难以与拥有该技术的大型公司竞争。
云计算提供了广泛可用、易于访问的按需计算资源,可快速获取以支持特定任务,然后予以释放 [8]。通常,这种服务模式使用户能够使用硬件资源而无需资本支出或持续的IT管理成本,并可能以按使用付费的方式使用软件,而非购买年度许可证。在高性能计算方面,云提供了以经济方式租用大量计算资源的机会。然而,由于需要整合多种多样的技术选择,基于云的解决方案开发并非易事。例如,云计算至少提供四种不同的部署模型,并通过云服务模型在不同抽象层次上提供服务。这些部署模型包括组织边界内的私有云、具有共同利益的组织使用的社区云、可通过公共网络访问的公共云,以及可结合上述三种模式特点的混合云。云服务模型,即云堆栈,包括基础设施即服务(IaaS——对计算、网络等物理云元素进行管理和托管;根据上述云部署模型将这些资源部署为IT基础设施)、平台即服务(PaaS——提供和管理已部署的云基础设施以及支持基于云的应用程序部署与开发的中间件)和软件即服务(SaaS——部署在云平台上的实际软件应用程序,利用云基础设施资源)。
正如Runchal [9],从CFD仿真软件的角度指出的那样,云计算非常具有吸引力,因为它能够支持创建新一代高速、按使用付费的CFD应用,这些应用由互操作集合的仿真软件服务组成。例如,CFD实验的数据可以存储在基于云的数据库中,并连接到基于云的CFD求解器。仿真在支持并行化CFD处理需求的多CPU实例上运行。结果可通过基于云的后仿真工具进行分析和可视化。他还支持这一观点:对于那些无法访问此类设施的用户而言,云计算有可能以较低成本访问利用此类架构的CFD应用,尽管规模较小。Evangelinos和Hill[10]使用按需EC2集群测试了基于云的集群性能,并得出结论:当时,基于云的高性能计算可与低成本本地集群相媲美。Ledyayev和Richter [11]报告了一种OpenFOAM的高性能计算云实现,其最佳结果是在使用单个配备多个核心的基于云的虚拟机时获得的。O’Leary等人[12]将Hydra‐TH CFD仿真移植到了他们的开源高性能计算/云架构上一种在亚马逊EC2云上实施的平台方法。他们的结果表明,其性能与本地非云资源相当。古泽蒂等人[13]已认识到,将MPI进程映射到核心上以反映模型结构引起的密集通信的重要性。他们还指出,云可以成为一种成本效益高的计算资源用于CFD,并提供强大的硬件配置,尤其是在考虑映射的情况下。这些示例表明,云是一种可行且具有成本效益的技术,可用于加速CFD仿真。事实上,工业界已有在云上执行CFD仿真的实例(例如Sabalcore、Rescale、Ciespace、Autodesk A360等)。然而,对于开发此类应用的中小企业而言,若缺乏适当的云计算技术基础,将面临高昂且陡峭的学习成本;此外,除Hydra‐TH示例外,目前几乎没有基于云的平台能够简化并降低开发成本的证据。进一步地,上述大多数示例均使用单一云服务商(通常为亚马逊)。不同的云服务商对其实例类型的收费不同,服务质量也可能存在差异。因此,能够在不同云服务商之间轻松切换而不被锁定在单一服务商将非常有用。然而,各云服务商的平台技术各不相同,将应用程序从一个云迁移到另一个云需要额外的工作。最后,任何商业云产品或服务都需要某种计费机制,以便根据用户对应用程序和云资源的使用情况进行收费。而上述示例均未具备这些功能。
因此,高性能计算流体力学仿真的中小企业开发者需要一种技术,使其能够快速且经济地开发基于多云的应用,并根据需要使用多CPU实例。除此之外,其他类型的仿真应用(例如离散过程仿真)也需要高性能计算能力,以同时运行多个仿真,从而加快实验速度。因此,支持高性能仿真需求的云平台必须满足以下两点:(i)允许并行化应用程序在单个云实例上可用的多个紧密耦合的CPU上运行;(ii)在多个单个云实例的组合上并行运行多个仿真(例如,如同实验在多台计算机上运行)。因此,该平台需要能够部署到各种云环境和不同规模的实例上,并且作业必须能够在多组云实例上并行运行。中小企业的商业需求意味着该平台还必须具备按使用量计费的能力。为了尝试构建一个面向中小企业的基于云的高性能仿真平台,制造与工程领域的基于云仿真平台(CloudSME)项目(www.cloudsme‐apps.com)开发了CloudSME仿真平台。为满足上述需求,我们选择了(i)CloudBroker (www.cloudbroker.com)来满足多云/多实例部署的需求,因为它提供了针对不同云的通用应用管理接口,使应用程序能够轻松部署并从一个云切换到另一个云(即,CloudBroker已经实现了特定云的接口和部署功能,从而避免了开发者自行实现这些工作)。

selves.),(ii) WS‐PGRADE/gUSE [14]科学网关框架,用于实现一个工作流系统,支持启动和管理多个实验(及其他任务),以及(iii) 项目中开发的AppCenter,使公司能够对其在云上部署的应用进行收费。该领域的其他技术具备一定的多云功能,并且由电子科学和网格工作流计算平台[15]发展而来。例如,Wang等人[16]展示了如何通过CometCloud将KEPLER与联合云资源集成。Juve等人[17]描述了PEGASUS工作流系统在三个云上的扩展,并报告了云与网格实现之间的性能相当;赵等人 [18]提出了一种在云上运行SWIFT的方法。这些示例均针对科学应用开发,似乎缺乏支持计费与支付等商业需求的机制。类似地,目前存在少量多云平台(如 RightScale和Scalr),但不具备工作流集成能力。
为了说明我们的工作如何用于创建高性能计算流体力学仿真,本文提出了两项主要贡献:CloudSME仿真平台以及如何利用该平台开发基于云的CFD应用。该基于云的应用为ASCOMP的TransAT(传热现象分析工具) CFD工具。我们选择TransAT来展示我们的方法,因为它是一种商业工具,可用于模拟涉及传热的广泛单流体和多流体/组分流动。TransAT的典型应用涵盖从表面张力主导的流动(如微流控系统)到大规模湍流(如船舶与潜艇的流体力学),应用于多个行业。第二节介绍了CloudSME仿真平台的更多信息。第三节介绍了我们在开发基于云的CFD仿真的经验。第四节展示了三个案例研究,以说明云的成功应用。第五节讨论了该方法的优势与局限,第六节总结了主要贡献和未来工作。
II. CloudSME仿真平台架构
图1展示了CloudSME仿真平台的架构。应用中心和平台应用程序编程接口(API)构成了仿真应用层,WS‐PGRADE/gUSE和CloudBroker构成云平台层,而平台和应用程序所访问的各种云基础设施则位于云资源层。从概念上讲,需要云部署和/或基于云的高性能计算的平台软件在仿真应用层被重新开发为软件即服务,由云平台层(平台即服务)托管,并通过云资源层提供的云资源进行使用。CloudSME仿真平台已被用于在广泛的工业应用中实现十一种商业仿真产品(参见 http:// www.cloudsme‐apps.com/practical‐examples/了解计算流体力学、过程仿真和计算机辅助设计的示例)。技术细节介绍了平台技术集成的[19]。现在我们描述平台各组件的功能。
A. 应用中心
这是一个用于浏览和执行各种仿真应用程序的通用入口。应用中心支持三种主要开发选项:直接部署的应用、桌面应用程序和基于Web的应用。直接部署的应用可直接从应用中心部署并提供云应用。软件提供商在CloudSME应用中心注册并发布应用程序,终端用户随后可直接通过应用中心访问并执行这些应用,并根据软件提供商定义的定价策略(例如基于订阅的定价、基于资源消耗的定价、每次仿真运行的固定费用,甚至免费执行)为其使用情况付费。该方案的优势在于,应用中心提供了易于定制的选项来设置多种定价模型,并负责计费与账单管理。用户只需为其账户充值,即可在所选应用支持的所有云资源上执行仿真应用。多云执行和计费的复杂性由平台处理。桌面应用程序通过使用平台API之一为桌面软件扩展云执行支持,将计算密集型仿真重定向至云端。用户从应用中心下载软件包,在本地设备上安装后,即可使用其扩展的云功能。该方案使供应商能够在保留原始产品用户界面(仅需少量修改)的同时,通过其产品访问应用中心的计费与账单功能。基于Web的应用则简单地链接到应用中心。这类网络应用可提供完整的定制门户式用户界面,并通过适当的API利用平台以及应用中心的计费与账单机制。为了支持直接在应用中心部署的应用程序的开发,或为桌面应用程序添加云支持,可使用CloudBroker Java客户端库API或REST API。
或者可以使用WS‐PGRADE/gUSE远程API。通过使用CloudBroker API,可以绕过WS‐PGRADE/gUSE,使应用程序直接访问CloudBroker支持的多云资源(即在不需要工作流的情况下)。而使用WS‐PGRADE/gUSE的远程API则可让开发者在多个云上执行复杂的应用程序工作流,将多个应用组件相互连接。对于基于Web的应用,既可以使用WS‐PGRADE/gUSE的应用程序特定模块(ASM)API,快速开发以自定义Liferay Portlet形式呈现的自定义门户/网关,也可以开发完全自定义的Web界面,嵌入CloudBroker API或gUSE远程API调用。此外,也可直接使用WS‐PGRADE/gUSE或CloudBroker的基于Web的前端来启动相应的工作流或云应用。
B. WS-PGRADE/gUSE
WS‐PGRADE/gUSE 支持在不同类型的分布式计算基础设施(如集群、桌面网格和云)上开发和部署高性能计算应用。它被多个科学界广泛用于创建高性能计算应用。WS‐PGRADE/gUSE 由三个架构层组成:表示层、中间层和架构层。表示层由 WS‐PGRADE(Web服务并行网格运行时和开发环境门户)构成,基于 Liferay Web门户框架(www.liferay.com)实现,并提供图形化工作流编辑器,允许用户为其在各种分布式计算基础设施(包括云)上运行的应用程序创建和配置工作流。一旦工作流创建完成,便会被保存并由中间层的 gUSE 服务进行管理。gUSE 服务为工作流支持与执行提供了完整的环境,支持工作流的管理、存储和执行,并提供灵活部署选项(单点托管或分布式托管,以优化资源使用或提升性能)。此外,它还提供多种数据服务、作业管理服务和工作流发现服务。通过适当的安全认证机制,gUSE 服务可实现对分布式计算基础设施资源的安全访问和授权(CloudSME仿真平台通过 CloudBroker 实现云安全)。在架构层中,gUSE 使用分布式计算基础设施桥(DCI桥)的作业提交服务来访问和管理各类分布式计算基础设施的资源。存在许多不同类别的分布式计算基础设施,每种都有其复杂的管理需求。为了创建一种简化且分层的云开发方法,在 WS‐PGRADE/gUSE 的视角下,云被视为一种单一类别的分布式计算基础设施。在 CloudSME仿真平台 中,对不同云的管理职责交由 CloudBroker 承担。例如,当 gUSE 处理一个工作流任务时,会通过 DCI桥 将该任务提交至 CloudBroker,随后平台将在指定的云上管理该任务。
C. 云经纪
典型的云实施方案涉及为单一云(例如亚马逊)开发的软件。不同的云提供不同的功能和成本。CloudSME仿真平台中CloudBroker部分的理念在于,它提供了一个云平台,开发者可利用该平台管理其在多个云上的实施方案。这意味着,一旦应用程序被部署到不同的云上,CloudBroker即可帮助开发者提供灵活的服务,使基于不同云基础设施的产品能够轻松地管理和计费。CloudBroker环境是一个基于Web的应用商店,用于在云上部署和执行计算密集型应用,并广泛自动化了用户、软件、资源、作业和发票管理。它适用于各种面向批处理的命令行软件,包括基于Linux和Windows的软件,以及串行或并行处理(例如通过MPI)的软件。用户可以通过任何网页浏览器以及多种API访问该平台。
为了帮助开发者在多种云平台上创建基于云的应用程序,CloudBroker 实现了一系列云适配器。一旦为特定云实现了云适配器,CloudBroker 就能为用户提供一个通用API,用于开发其应用程序(从而减少学习如何在不同云上部署所需的时间)。因此,用户可针对 CloudBroker API 开发其应用程序,为其软件和云变体(通常由操作系统要求区分,而非特定的云中间件)创建应用模式。这意味着,一旦用户在某个云上成功创建了应用模式,后续在其他云上的开发时间将更短。当前支持的适配器包括亚马逊网络服务、CloudSigma、OpenStack、OpenNebula 和 Eucalyptus。新的适配器正在为高性能计算中心开发,包括意大利的 CINECA、德国的 HLRS 以及法国的 Romeo。CloudBroker 通过使用适配器与特定云交互,处理在该云上实例化计算实例的请求。运行时的进程监控、排队、资源、存储和镜像管理服务负责处理在特定云实例上运行特定软件的请求。该平台还提供进程、用户和应用管理、计费、账单与支付模块,以及安全性和容错管理功能。公众可通过 platform.cloudbroker.com 访问 CloudBroker 的公开版本。
III. 基于云的TRANSAT
ASCOMP的TransAT由图形用户界面(前端)和CFD求解器(后端)组成。前端用于设置仿真、定义网格分解以及预处理所需的输入参数。然后将这些信息传递给后端,后端通过CFD求解器进行编译并执行仿真。仿真完成后,结果将使用后处理软件(如Paraview(www.paraview.org) 或Tecplot(www.tecplot.com))进行可视化。后端的仿真执行可能需要几秒或几周,具体时间取决于实验的复杂性和计算能力。TransAT通过使用Open‐MPI(www.open‐mpi.org)实现高性能计算的并行执行。在TransAT图形用户界面中,用户可以指定要使用的计算集群中的CPU数量。随后,TransAT会管理仿真任务在可用CPU之间的分解。因此,最终用户需要拥有自己的集群,或租用ASCOMP的集群,才能利用TransAT的并行实现。与ASCOMP关于开发TransAT基于云的版本的讨论中,明确了两个主要需求:用户如何在没有昂贵计算硬件的情况下使用可扩展的高性能计算和TransAT?以及该工具如何更广泛地分发?因此,云成为一个有吸引力的选择,因为硬件可以按需租用,并且该工具可以通过网络进行访问和分发。人们还期望单个云实例中紧密耦合的CPU能够提供一种可扩展性解决方案(即更大的实例规模应带来更快的性能,因为TransAT已经实现了并行化)。
考虑了三种开发方案。直接部署到应用中心以及基于Web的实现都需要对TransAT的前端进行大量重新开发,以将其转变为基于Web的版本。因此,桌面替代方案更具吸引力,因为它只需要进行少量修改。在应用中心设置下载区域意味着用户可以从基于Web的应用中心下载软件包,安装到自己的机器上,然后通过TransAT前端在云上运行仿真。在运行之前,用户需在应用中心建立账户。随后用户登录TransAT并运行其仿真任务。TransAT将与应用中心同步,以便对用户的云资源使用进行计费。由于TransAT一次仅运行一个仿真任务,因此无需工作流支持。基于云的TransAT的需求因此包括:(i) 允许用户选择云/云实例(以及必要时的区域),(ii) 管理仿真在云上的执行,以及 (iii) 对云资源的使用进行计费。图2展示了基于云的工具的架构和流程图。如图所示,该架构由三个部分组成:安装在用户工作站上的TransAT图形用户界面及可视化工具、部署在CloudSME仿真平台云平台层的部分,以及TransAT运行并存储其输出的云资源层(注意图中未显示应用中心)。选择使用CloudBroker REST API来开发该应用程序(Java API不适用于此实现)[20]。

创建基于云的应用程序遵循了以下步骤。首先,创建了一个应用模式,以实现将TransAT后端部署到云上。该应用模式包含一个安装包,其中含有安装shell脚本、压缩的TransAT求解器和许可证密钥。该TransAT应用模式通过CloudBroker基于Web的系统上传至CloudBroker。随后,对TransAT的前端进行了修改,使用户能够登录应用中心,从可用的云和云实例列表中进行选择(在运行时从CloudBroker加载),并运行和监控其仿真。为TransAT创建了一个应用中心条目,允许用户创建账户(并添加信用额度)下载TransAT。因此,要使用基于云的TransAT,用户需要创建一个账户并下载安装TransAT。然后用户创建CFD模型,登录其账户进行身份验证,选择一个云/云实例,然后运行该模型。运行指令会将包含云信息的模型作为一个XML作业描述发送给CloudBroker。收到后,CloudBroker将其用户账户与应用中心同步,并创建作业。此过程包括获取所请求云/实例对应的TransAT应用模式,调用所选云上的特定云实例,然后在该实例上上传并执行该应用模式(TransAT的后端涉及在实例的CPU上编译TransAT工具以及许可证密钥的认证)。完成后,CloudBroker将模型上传至云实例,并指示TransAT开始仿真。TransAT前端会定期轮询CloudBroker以确定运行是否结束。随后,CloudBroker将此次运行的成本与应用中心同步。用户即可下载结果。
IV. 案例研究
我们现在展示三个案例研究,说明基于云的TransAT的使用和性能。这些案例研究的目的并非在通过CloudSME仿真平台可访问的每个云上进行全面的性能测试,而是提供一些示例,以说明我们方法在计算流体力学仿真中的优势。我们仅限于示例针对石油和天然气行业(计算流体力学的主要用户)从业者所熟悉的场景。在油田生产过程中,从油井中提取的产物天然含有油和水。在此过程中也可能注入水,以迫使油上升至地表。分离采用多种技术,其中之一是基于重力的卧式三相分离器。该装置是一种圆柱形容器,在足够停留时间的条件下,借助重力实现水、油和气体的分离。对石油工业而言,高效利用这些分离器至关重要。第一个案例研究说明了基于云的仿真如何加快这一重要领域的仿真速度。第二个案例研究展示了云如何用于加速一个著名相关数值基准的仿真。该基准由Gaztransport & Technigaz (GTT)公司在2009年国际近海与极地工程师学会(ISOPE)提出[21],基于液化天然气(LNG)运输船内液体由于晃荡(即封闭罐体中被气体包围的液体)而产生的液体冲击。气体和液体初始处于静止状态,其密度恒定,压力均匀。在初始状态下,液体在重力作用下开始自由下落,最终撞击刚性水平罐底。第三个关于毛细作用的案例研究代表了该领域另一个常见的仿真问题。毛细作用是指液体在狭窄空间中无需或逆着外力流动的能力。这种现象发生在两种不混溶流体之间或流体与表面之间的界面处。选择此案例还因为毛细作用在多个工业和医疗应用中的微结构中具有重要作用,例如微热交换器、芯片实验室、生物微机电系统和微型冷却电子器件[22]。需要进行仿真以优化和开发此类设备的设计。
A. 基于重力的卧式三相分离器
所仿真的设备有一个用于油田产物的入口和三个分别用于分离出油、水和气体的出口。
展示了该分离器的TransAT可视化效果。为了提升分离器性能,设置了多个入口装置。例如,在第一阶段使用入口动量破碎器以降低进料流股的动量。在圆筒内部设有机械装置,可降低流体速度,使液体进入积聚区。所选仿真的网格尺寸包含30万个单元,设备中的三相流动增加了模型复杂度。
我们在ASCOMP的本地高性能计算集群以及云资源上使用CloudSME仿真平台进行了实验。本地集群上的运行使用了最多32个处理器(Intel Xeon E5649 2.53GHz处理器,配备32GB内存)。在云上,对于最多8个CPU的实验,通过CloudSME仿真平台使用了通用平衡型亚马逊EC2(均为 Intel Xeon E5‐2670 2.50 GHz CPU,规格包括large(2个 CPU,7.5GB内存)、xlarge(4个CPU,15GB内存)和 2xlarge(8个CPU,30GB内存))。对于16和32个CPU的实验,使用了计算优化型亚马逊EC2使用了以下实例(均为 Intel Xeon E5‐2680 2.80GHz CPU:4xlarge(16核CPU配32GB内存)、8xlarge(32核 CPU配32GB内存))。表I中的结果展示了重力分离器CFD模型在不同实例上执行3000次迭代的运行时间(秒)。
表I 运行时间(秒)(3000次迭代)
| 处理器数量 | 本地集群 | 亚马逊EC2 |
|---|---|---|
| 2 | 412,319 | 678,000 |
| 4 | 153,687 | 358,500 |
| 8 | 121,791 | 198,000 |
| 16 | 78,805 | 99,000 |
| 32 | 38,667 | 57,000 |
显示了本地集群与亚马逊EC2均衡实例的运行时间对比。两者呈现出相似的趋势。在2个CPU和8个CPU之间比较运行时间,集群在相当的硬件条件下的性能提升了3.39倍,而云平台提升了3.42倍。如预期所示,仿真在云实例上的运行速度比集群分别慢了0.60、0.42、0.60、0.80和0.68倍(对应2、4、8、16和32个CPU)。由于集群硬件配置优于EC2实例,相对差异反映了CPU之间更快的通信速度。总体而言,尽管从时钟时间来看基于云的平台似乎比本地集群慢,但其性能实际上非常出色,能够实现与集群相当的加速比。这正是整个概念的核心目标:为中小企业提供一种可能性,使其能够在基于云的平台上重现原本只有本地(购置和维护成本高昂)集群才能实现的高性能计算性能。
如表II所示,云计算的对比成本具有很强的说服力。例如,在撰写本文时,最大实例(8xlarge)的成本为每小时1.68美元。在此实例上运行仿真所需的时间为57,000秒(15.83小时)。因此,在该实例规模上运行此仿真的成本为26.60美元。本次实验所使用的集群(一个带有高速互连的64处理器机架)的成本约为24,000美元(不包括维护成本以及电力和冷却方面的巨大能耗成本)。而云性能的成本不到40美元,可以说在成本方面是可接受的,并且完全处于任何中小企业的预算范围之内。
表II 亚马逊EC2成本
| 编号 | CPU | 小时(美元) | (秒)成本(美元) |
|---|---|---|---|
| 亚马逊大型 | 2 | 0.14 | 358,500 26.37 |
| 亚马逊超大型 | 4 | 0.28 | 678,000 27.88 |
| 亚马逊2倍超大型 | 8 | 0.56 | 198,000 30.80 |
| 亚马逊4倍超大型 | 16 | 0.84 | 99,000 23.10 |
| 亚马逊8倍超大型 | 32 | 1.68 | 57,000 26.60 |
每单位成本运行时间总计
B. GTT基准测试
第二个案例研究由Eurobios作为一项独立演示进行。Eurobios是一家咨询公司,使用TransAT为其在石油和天然气行业的客户模拟各种问题,包括自然对流、混合物的重力分离、涡旋/湍流问题以及气泡合并问题。
液体与气体之间的界面采用TransAT中开发的集合平均方法进行描述(该方法对网格中每个网格单元内流体属性取平均)。边界被建模为刚性壁面。所使用的数值格式为有限体积隐式格式,即在给定的网格单元中,通过单元量的体积积分来近似各项物理量;物理量的演化则通过计算单元边界的通量获得(通量表示某一给定单元对其相邻单元状态演化的影响)。
所示,参数如下:液体——密度423 kg·m⁻³,初始流体速度0 m·s⁻¹,压力1 bar;气体——密度1.712 kg·m⁻³,初始流体速度0 m·s⁻¹,压力1 bar。单元的尺寸在图中给出。
性能测试中使用了两种实例类型:(i)亚马逊16核,EC2计算优化型‐4xlarge,30GB内存(0.93欧元/小时,0.14欧元/GB)和(ii)CloudSigma 24核,60GHz,32GB内存(价格未提供)。在性能测试中,考虑了三种规则网格:在亚马逊和CloudSigma上分别使用15,000个单元、60,000个单元和240,000个单元(实验A I、A II、A III、C I、C II、C III)。
和表III显示了上述各实验的运行时间(秒)。表IV显示了加速比。可以看出,2个CPU的性能在1.75到1.96之间(平均:A 1.88,C 1.77),4个CPU在2.53到3.72之间(平均:A 3.34,C 3.02),8个CPU在3.31到6.39之间(平均:A 5.57,C 4.91)。
16个CPU的加速比为3.64到11.08(平均:A 6.94,C 5.43)。平均性能表明具有中等加速比。最佳性能出现在最精细的网格上,反映出每个节点的计算与通信比率更优。总体而言,亚马逊的表现略优于CloudSigma,但在16核CPU实例上例外,其加速比较为显著(A 11.08,C 6.66),这可能反映了亚马逊实例的计算优化型特性。撰写本文时,尚无法获得两朵云之间的成本差异。这再次表明了良好的对比利用率。
表III GTT运行时间(秒)
| CPUs | A I | A II | A III | C I | C II | C III |
|---|---|---|---|---|---|---|
| 1 | 1,980 | 8,460 | 38,049 | 2,578 | 10,526 | 44,257 |
| 2 | 1,116 | 4,446 | 19,391 | 1,472 | 5,869 | 25,092 |
| 4 | 651 | 2,601 | 10,231 | 1,020 | 3,226 | 13,512 |
| 8 | 444 | 1,445 | 5,956 | 779 | 1,803 | 7,920 |
| 16 | 503 | 1,456 | 3,435 | 709 | 1,757 | 6,649 |
表IV GTT加速
| CPUs | A I | A II | A III | C I | C II | C III |
|---|---|---|---|---|---|---|
| 2 | 1.77 | 3.04 | 4.46 | 3.94 | 1.75 | 2.53 |
| 4 | 1.90 | 3.25 | 5.85 | 5.81 | 1.79 | 3.26 |
| 8 | 1.96 | 3.72 | 6.39 | 11.08 | 1.76 | 3.28 |
| 16 | 3.31 | 3.64 | 5.84 | 5.99 | 5.59 | 6.66 |
C. 毛细管运动
第三个案例研究也由Eurobios进行。在此演示中,执行了一项二维轴对称CFD模拟,表示水在充满空气的管中上升的运动。计算域在水平方向为1厘米,在垂直方向为1.5厘米。运行了两个均匀网格,分别包含5400个单元(粗糙)和21600个单元(精细)。实验中使用的实例类型与GTT案例研究相同。
显示了上述各实验的运行时间(秒)。表V显示了加速比。可以看出,2个CPU的性能在1.79到1.95之间(平均:A 1.86,C 1.87),4个CPU在3.21到3.46之间(平均:A 3.34,C 3.31),8个CPU在3.80到6.28之间(平均:A 5.04,C 5.16),16个CPU在4.45到5.98之间(平均:A 4.64,C 5.49)。平均性能再次表明具有中等加速比。在GTT案例研究中,对于最精细的网格获得了最佳性能,总体而言亚马逊的表现略优于CloudSigma,但在16核CPU实例上CloudSigma优于亚马逊(A 4.82,C 5.98)。撰写本文时,云之间的成本差异尚不可用。再次展示了良好的对比利用率。
表V 毛细运动加速比
| CPUs | 亚马逊粗略网格 | CloudSigma粗略网格 | 亚马逊精细网格 | CloudSigma精细网格 |
|---|---|---|---|---|
| 2 | 1.82 | 1.95 | 1.89 | 1.79 |
| 4 | 3.22 | 3.21 | 3.46 | 3.40 |
| 8 | 3.80 | 4.98 | 6.28 | 5.33 |
| 16 | 4.45 | 5.00 | 4.82 | 5.98 |
V. 讨论
如前所述,上述案例研究展示了多种不同的计算流体力学应用。已有文献指出,网格划分会影响性能,云计算有望以更具成本效益的方式访问利用高性能计算架构的CFD应用(尽管规模较小),并且云实施方案可与本地非云资源进行比较。我们的案例研究结果在一定程度上支持了这些观点。使用较大的云实例时,案例研究A显示出与本地集群相当的运行时间。案例研究B和C表明,更大的集群性能更优,并且不同云服务商之间的性能存在差异。这两个案例研究还表明了单元密度对性能的影响,高密度仿真从更大的云实例中受益明显。案例研究C表明,在某些仿真中,这种提升可能是有限的,超过8核CPU实例后额外收益甚微,这很可能是因为较小模型的处理需求所致。然而,整体仿真成本远低于购买本地集群的费用。总体而言,通过我们平台实现基于云的TransAT,使得中小企业无需投入昂贵的硬件即可获得更快的CFD仿真能力。随着云服务商定期更新其硬件,这也意味着中小企业也能访问当代计算系统。还需进一步研究仿真、网格密度与理想云实例规模成本之间的关系。这是我们开发的下一步,将使用通过CloudBroker提供的亚马逊EC2 C3和C4增强网络实例、竞价实例以及其他供应商的类似服务。同时也在测试由高性能计算中心提供的其他云。
在服务开发与交付方面,ASCOMP 对 CloudSME 仿真平台的体验非常积极。最初,开发人员和 CloudSME 仿真平台技术提供方都需要理解最佳的设计策略。一旦上述方法被掌握,将 TransAT 移植到 CloudBroker 并部署在亚马逊和 CloudSigma 云上就相对简单了。在应用中心的条目以及对 TransAT 用户界面的修改,使得 ASCOMP 能够轻松地对云使用进行收费。因此,CloudSME 仿真平台实现了通过菜单驱动选择来便捷地选择云类型和实例规模以进行 CFD 仿真。同时,它显著缩短了产品开发周期至约两个月,并消除了学习如何将 TransAT 部署到不同云的需求。实际上,为 TransAT 添加新的云和云实例只需更新应用模式并在 CloudBroker 上注册(而无需直接学习新的云技术)。在进一步开发方面,目前 CFD 仿真的不同参数运行仍需手动完成。然而,WS‐PGRADE/gUSE 将能够通过使用专用工作流探索多种参数集来实现自动化。因此,正在研究用于 CFD 仿真实验的工作流。其他基于云的产品和服务也已部署在该平台上并正在商业使用中。例如,采用基于Web的应用开发方法开发基于云的 3D扫描鞋垫设计器 以生产定制化鞋垫的经验已在 [23] 中报道。
多云方法正在迅速发展。格罗泽夫和布亚 [24] 以及图西等人 [25] 讨论了多个云向联邦架构或互联云的演进。互联云的优势包括多样化的地理位置(对性能和立法要求的影响)、更好的应用弹性(容错能力)以及避免供应商锁定。IEEE互联云测试平台项目[26]的创建旨在促进互联云的发展。多云和互联云方法都可以利用诸如云爬虫 [27]和CLAudit[28]等工具,实现对云性能的长期监控。
VI. 结论与进一步工作
CloudSME仿真平台旨在帮助中小企业开发基于多云的商业仿真应用程序。尽管CloudSME仿真平台的部分组件已存在,但据我们所知,目前尚无单一的平台即服务方案能够将工作流服务与多云部署整合用于商业应用。本文提出了两项贡献:一是提出了一种新型平台,可用于快速开发基于云的仿真应用程序;二是展示了该平台在计算流体力学仿真中的实际应用方法。
基于云的TransAT的商业发布正在进行中,现已在 www.cloudsmeapps.com/production‐appcenter上线,该平台还通过CloudSME仿真平台的平台即服务提供了许多其他基于云的工业应用。GTT模型可从 10.5281/zenodo.1189315获取。后续工作将进一步研究在讨论部分提到的不同云环境下基于云的TransAT的相对性能,以及使用工作流实现实验自动化的影响力。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)