HydroMP:基于云计算的水动力学建模及计算服务平台
刘荣华1, 魏加华1, 翁燕章1, 王光谦1, 唐爽2
1. 清华大学 水沙科学与水利水电工程国家重点实验室,北京 100084
2. 中国石油勘探开发研究院,北京 100083
魏加华, 研究员, E-mail:weijiahua@mail.tsinghua.edu.cn

作者简介: 刘荣华(1979-),男(汉),江西,博士研究生。

摘要

为解决传统开发水利模拟服务模式中存在的计算精度与效率矛盾及模型接口不统一等技术瓶颈,构建了基于云计算的水动力学模拟服务平台,并提出云计算模式下一维水动力学模型的集成方法和调度模式,通过对模拟模型数据接口、模型调用、模型交互及处理、计算资源分配等方面进行封装,采用Web Service、 XML (Extensible Markup Language)及OpenMI (Open Model Interface)等技术实现了云计算平台下模型的调用、模型与平台间的数据交换和资源动态分配。以南水北调中线工程水力响应分析为例,应用开发的云计算水动力学模型进行了多方案、多层次的模拟计算,在计算效率、兼容性等方面具有良好的效果。研究表明:云计算模式下,可实现水动力学模型在广域互联网上的多客户端、多用户、多方案并发计算,采用云端计算和存储模式降低了高性能计算的门槛,提高了模型复用率和计算资源利用效率。

关键词: 云计算; 水动力学模型; 模型集成; Web Service
中图分类号:TV131.4 文献标志码:A 文章编号:1000-0054(2014)05-0575-09
HydroMP: A cloud computing based platform for hydraulic modeling and simulation service
Ronghua LIU1, Jiahua WEI1, Yanzhang WENG1, Guangqian WANG1, Shuang TANG2
1. State Key Laboratory of Hydroscience and Engineering, Tsinghua University, Beijing 100084, China
2. PetroChina Research Institute of Petroleum Exploration & Development, Beijing 100083, China
Abstract

Computing accuracy in large CFD problems is restricted by the computation cost. A hydraulic modelling platform (HydroMP) was constructed using computing cloud to reduce costs and to provide a uniform interface between the dataset and the model for hydraulic models. This paper gives a generic integration method for hydraulic models and a scheduling mode for the cloud computing. The system includes the models and computing resources, including the data interface, model calls and interactions and computations of resource allocation using Web Services, XML(Extensible Markup Language) and OpenMI(Open Model Interface). This design assures that the cloud computing platform can conveniently call the models, exchange data between the servers and the clients, and dynamically allocate the computing resources including multiple cores and multiple nodes. The platform with the integrated flow model is used to analyze the hydraulic response to a change in the discharge of the South-to-North Water Diversion Project, which is a multi-client, multi-level and multi-scheme simulation. The results indicate that this model improves the computational efficiency and compatibility. This hydraulic computing model based on cloud computing theory allows multiple schemes be solved simultaneously using multiple clients in a WAN Internet and multiple users. The cloud computing model lowers the threshold for using HPC resources and improves the utilization efficiency of computation resources.

Keyword: cloud computing; hydraulic models; model-integration; Web Services

水利模型计算是环境系统模拟的重要内容,随着计算机数值分析技术的成熟[1],数值模拟得到了迅速的发展和大规模的应用。但是随着水利模拟的对象越来越复杂,计算结果要求越来越精细,实时调度等需求对计算速度要求越来越高,这导致现有模型架构在模拟应用中遇到了瓶颈,主要表现在: 1) 计算资源要求越来越高,计算消耗越来越大,一般研究机构难以承受软硬件购置及维护费用,即使购买后利用率低,可持续性差; 2) 模型接口不统一,系统与模型、模型与模型间通讯、集成困难,模型的校验和比较无法实现,计算结果得不到校核,模型选择余地小; 3) 由于缺乏专业软件平台,模型软件的维护和升级困难; 4) 现代流域水利管理决策对实时性、多方案情景分析要求高,传统建模和计算模式难以适应多用户同步在线和多方案同步快速模拟与对比分析。

为此,很多学者对模型组件化、模型的集成、模型之间交互及模型应用模式创新方面做了大量研究,其中,张刚等实现了12个洪水预报模型的组件化并应用到预报系统中[2]; 在模型接口方面,欧洲水学会的HarmorIT项目开发了OpenMI(Open Model Interface)的标准,为模型间交互提供了步长级的互操作标准和规范,为模型间实时交互提供了调用接口[3],很多学者采用OpenMI的标准接口实现了水文模型、 Script脚本模型集成[4]; 在服务模式方面, Alexander和Burger为分布式水文模拟和水资源监控方面的特定应用需求分别设计和实现了云计算模式下的水文模拟和水资源管理[5,6],此外,有限元计算也存在类似的问题, Ari等设计了有限元模拟计算的云服务框架并实现其中的部分模块[7]。这些研究为解决水利模型快速及大规模应用提供了很好的思路,其中,云计算作为一种新型的计算服务模式,在资源高效利用、可扩展性及节约成本方面具有优势,为水利模型服务模式提供了很好的技术支撑和实现思路,将有助于更全面的解决模型应用中存在的问题,主要包括数据接口、模型接口以及软件的服务模式等方面的创新和变化,云服务模式的思想、服务的可扩展性、可远程交互特性将有助于解决水利模拟服务中存在的诸多问题。

本文基于云服务和云计算的框架和思路,设计基于云计算的水利模型服务平台HydroMP(hydrologic/hydraulic modelling platform), 平台致力于提供一种水利模型创建、集成、模拟和服务的新思路。

1 平台框架设计

基于云计算的平台,以模型可扩展性及资源可扩展性为主要特征,通过Web Service接口为终端提供模拟计算服务,在平台总结结构方面有别于传统的水利模型软件系统,涉及到数据建模过程优化、多系统间的消息传递及处理、计算资源分配及模型动态集成和管理等多个方面,本节对框架结构设计及关键的技术问题提出实现方法。

1.1 平台总体框架

系统总体上分为数据层、模型层、管理服务层和客户端。其中,云端包括数据、模型、管理服务等3个逻辑结构层,云端的数据及方法通过Web Service的方式供客户端引用和调用,客户端(终端)包括PC机上安装的前后处理系统、安卓客户端上的查询管理小工具、 Web 浏览器及调用云端计算的各类应用系统。

数据层采用关系型数据库管理工具Oracle对用户信息、方案信息、计算结果和计算信息、数据信息进行管理[8,9,10],各个表之间采用主外键等约束设置实现数据的关联; 模型层是系统的核心,模型接口包括一维、二维、三维水沙动力学模型、分布式水文模型及水质模型。

管理服务层是云端管理和服务的程序集合,包括方案管理程序、任务调度程序、计算管理程序、模型管理程序、数据请求程序和系统管理程序等,负责方案数据的增删改查、模型库管理、模型的调用、结果查询及系统管理等工作。PC客户端程序采用C#提供的Form、 PictureBox、 MSChart等控件实现可视化的方案编辑、存取、计算提交和查询等操作。图1所示为整个系统的总体框架结构,其中,虚线框定的部分为本文实现并讨论的部分。

1.2 数据建模及数据流

HydroMP采用面向对象的建模思想,通过数据接口标准集成多个模型,采用面向对象的数据结构存储模拟对象及数据,采用界面化工具提供对象建模人机交互接口。面向对象建模的根本思想是对复杂系统进行分解,并实现抽象化描述及层次化的存储和关联[11],最后通过面向对象的编程语言,比如C++、 C#或Java等采用类来描述,用字段描述对象的属性,用方法描述对象中属性的运算关系,用接口实现和外部对象及程序的交互,数据类可被继承形成子类。同时,类的存储本身即是具有层次结构的,这有区别于以往的模型中以独立的数组方式存储的模式,原有程序中只有完全弄清楚程序的结构才能了解数据的组织方式,以一维水动力学模型为例,面向过程的编程方式采用数组的方式存储模拟对象、断面文件、边界条件、建筑物及控制条件等,每一类文件是一系列数组,各个数组之间不具有层次结构,都是独立的数据结构,只能通过读取程序中所有关于各个数组的处理才能看出其中的存储结构,程序可读性差,而面向对象的建模思路则采用层次结构对数据进行存储,在一维水动力学模拟方案中,工程是第一层,河网结构、断面方案、边界方案、建筑物方案、控制方案及模拟参数方案为第二层,河段、断面、边界条件、建筑物、控制条件、模拟时段、输出设置、时间步长等为第三层,其中,每一个断面、边界条件、侧向入流及建筑物存储了河网结构中的河段编号及桩号,从而实现断面与河网之间的关联; 每一个控制条件关联了建筑物的编号; 每一个模拟方案则关联了所有的方案编号,并给出了模拟起始时间、时间步长及输入输出设置,从而在第三层实现了数据的关联; 第三层数据根据需要还可以往下分为第四层,比如每个断面点数据、时间序列中每个时间点数据等。一维水动力学的数据结构如图2所示。

图2 一维水动力学模型的数据结构

具有层次结构的数据模型具有良好的可扩展性,根据需要可以在相应的层次结构中添加子对象,比如断面方案中可以在非规则断面的基础上添加矩形断面、梯形断面、椭圆形断面等,建筑物方案中可以在大坝、闸门的基础上添加堰、倒虹吸、桥梁、涵洞等,每一层的结构可扩展而不影响其他的数据组织结构。除此以外,类中的属性通过方法来实现运算,比如对于规则断面,用户可以选择输入底宽、边坡系数,这些非规则的无序对象在程序中可能是一个计算公式,比如用于计算矩形、梯形等断面参数的式(1):

A=c1H+c2Hc3(1)

其中: A为过流面积, H为水深。在此公式中,规则断面参数需统一为 c1 c2 c3, 根据面向对象的编程方法,此要求可在断面类中添加ComXsPara()方法来实现参数的计算。

人机交互接口则把模型使用者从枯燥的数字游戏中解放出来,用户只需要根据系统的操作说明,在各类标签(Label)的提示下来编辑即可。最常使用的基础交互接口包括窗体、菜单、按钮、文本框、下拉框、图表框和标签等,其中,标签(Label)的作用为用户数据建模时做提示,从而可以在友好的界面中完成数据编辑。同时,系统还提供了编辑控制的设置,比如控制条件数据的编辑,系统供用户选择的建筑物是可控建筑物,比如闸门、分水口、退水闸、大坝等,而每类建筑物各能提供哪些控制条件也是可控的,除此以外,系统还提供了导入功能,可以批量导入其他格式的数据,比如CSV文件(逗号分隔符文件)、文本文件等,同时,对于用户的输入也采用了控制条件,比如控制只能输入数字的文本框无法输入除数字及小数点以外的符号,比如输入桩号时长度只能小于河段长度等。界面化、系统提示、对象限制及数据范围的限制保证建模过程的快速掌握及输入数据的正确性。同时,为了再次验证方案编辑的正确性,特别是对于非正常退出等情况下方案数据的正确性,系统还可以采用模型校验方法,该方法主要用于检验模型编辑的正确性,保证传输到云端计算的方案没有逻辑上的错误,其中主要包括各种关联数据都能找到关联源、各种对象数据保证在河网范围内、时间范围限制的数据保证正确、计算参数符合基本的收敛条件等,比如,每一个断面关联的河段编码在地理文件中存在,建筑物的桩号不超出关联河段的长度,计算的起止时间不超过非恒定边界的范围,计算时间步长满足CFL数条件等。

在面向对象分析与设计思想的基础上,对水利模拟的对象进行抽象和层次化,提出了以工程信息、地理数据、模拟对象、边界条件、控制条件、模拟参数分别存储,以工程文件作为第一层、其他数据作为第二层的层次结构。其中,工程文件中记录了工程的属性以及其他文件的路径和名称,模拟方案文件则存储了多个模拟方案的计算参数信息以及关联的地理方案、对象方案、边界方案等的方案编码,这要求文件之间具有关联性,否则读取的数据之间将无法建立联系或者找不到对应的方案编码,将会造成数据混乱乃至系统崩溃。在系统在运行时,直接打开工程文件即可实现相关数据的读取,也可以分别打开各个类型的文件进行编辑。同时, C#提供了对象的XML序列化方法和反序列化方法,用户可以根据需要将每一个层次的数据导出为XML文件,比如Network.XML、 Project.XML、 CrossSection.XML等。

针对HydroMP平台中云端和客户端数据建模的共性,平台采用面向对象的属性、方法、接口的方式,实现对象的层次关系结构、属性之间数据的计算及标准接口的定义,并把类结构编译为DLL文件供终端和云端调用。根据云端和终端数据层次结构的差异性及调用关系,平台定义4个数据结构,分别为ServerClass、 ClientClass、 WebService及WebService Reference, 这4个数据结构都需要用到一些相同的数据对象,系统把相同的数据结构单独建模,形成基础类BaseClass, 其结构如图3, 在终端对类进行引用时,先引用BaseClass, 然后创建ClientClass, 最后再从云端引用WebService创建一个Web引用,各个对象的生成顺序和引用关系见图4所示。

1.3 系统及进程间通信

系统根据工作流、数据流的关系可以动态分解为不同的子系统、不同进程、不同模块和类库,系统之间、进程之间需要实时通信,而系统、进程与模块及类库之间则存在引用的关系。通过对功能及流程的再分解,可以把大系统分解为终端前后处理系统、管理及服务系统、 HPC Server、 数据库系统以及计算进程、入库进程、调度进程和模型转换动态库等文件。

其中的管理及服务系统又包括方案管理、任务调度和并行计算3个模块,这3个模块处于一个子系统中,管理及服务系统、数据库系统分别位于局域网内的两台服务器中; 管理及服务系统和并行计算刀片机的头节点位于同一台机器上, HPC Server管理的刀片机则采用BI网络与HPC 头节点及管理作业调度系统通信; 终端前后处理系统则位于局域网的任意位置和任意终端上,包括局域网和广域网的PC机、 Pad及手机终端。

系统及进程之间的通信以及对模块及类库的调用关系包括以下部分: 终端前后处理系统和管理服务系统通信、管理服务系统与HPC Server之间的通信、管理服务程序与数据库系统之间的通信、管理服务程序与计算调度程序之间的通信、计算调度程序与计算进程之间的通信、 HPC Server与计算进程之间的通信、并行计算系统进程间的通信。

1.4 计算调度器

平台通过一个智能调度器来实现计算资源的调用,每个计算方案都需要通过实例化一个计算调度器来实现其计算进程的启动和交互。管理服务程序在完成数据的存储后,通过调用调度器组件,并将用户信息、方案信息作为参数传输给调度器。调度器在接收到任务后,通过查询当前的计算资源使用情况、用户的优先级并决定是否实时启动计算,如果选择的是并行计算模型则还需要计算该模型运行对应的进程数,并将进程数传给HPC Server, HPC Server为标准并行EXE程序分配相应的计算资源。

计算调度器主要与管理服务平台、 HPC Server及计算进程通信,其中,通过被引用和实例化的方式实现与管理服务平台的通信、通过HPC Job组件实现对HPC Job的新建及提交、通过管道方式实现与计算进程间的通信。计算调度器主要调用资源获取、启动计算、流程转换、核心分配、计算暂停、结果输出、任务重启等方法来管理方案计算的全过程。

1.5 计算任务管理

HydroMP定位于多用户、多方案的同时计算,处理多方案并发计算以及计算、查询并发是对系统的基本要求; 对每个会话来说,都希望在计算的过程中实时获得计算结果,实现在本机计算同样的视觉效果,所以并发查询需和并发计算一起考虑,而不是让查询进程只和数据库进行交互; 另一方面,上一节描述的智能调度器中所有算法的实现需要多方面数据的支持,其中,每个方案的计算状态是其中的重要参量集。以上几方面的需求都要求都是会话内(Session)的管理无法实现的,而是需要HydroMP平台实现对计算任务的实时统一管理。

计算任务的管理就是通过在一个可快速交互及通信的数据空间里存储方案计算时所有的状态及数据信息,并实现对这些数据及信息生命周期的管理,包括计算任务新建、状态更新、错误收集、结果增量、结果入库、任务在线设置、方案更新及任务重启以及对客户端的响应函数。由于终端计算调用的是相互独立的Web Service会话,为了实现对计算会话的统一管理和数据交互,系统采用了共享内存方式实现了方案计算状态管理。

1.6 模型库及模型调用

传统的模型开发是通过编译工具将程序编译成exe文件,部分模型为了和应用系统的集成,对模型程序进行了改写,主要包括对程序封装成DLL方式和采用Web Service方式等。如,周振红等采用DLL技术将Fortran语言编写的水力模型计算模型集成到以VB和C#开发的平台下[12],朱仕杰采用SOA的方式对水文模型进行集成,实现了系统和模型之间的松散耦合,采用Web Service接口的方式实现了模型和系统之间的通信[13]。针对水利模型云服务平台定位于多用户、多方案的快速计算的特点,为此,系统设计了一种可扩展的、高效的混合集成方式,其中,客户端和服务端使用Web Service的通信集成, HPC服务器的进程间采用MSMPI的通信方式,管理服务器和并行计算之间的通信采用命名管道方式, MPI调用Fortran程序改写后生成的DLL文件, MPI程序给DLL直接传递计算单元的实例化对象,而不是输入文件的位置,这样将大大加快数据的交换速度,模型调用关系如图5所示。

图5 基于管道及MPI的并行集成模式

混合集成方法的针对的是具有面向对象、组件化编程经验以及程序可并行实现的模型,是一种高效的模型集成方式,但是目前并未实现完全通用的标准化集成,而平台致力于对用户提供多模型选择,为了实现更多的模型集成,并考虑到不同的模型开发者的计算机水平和模型本身模块化的复杂性差异,本文还涉及2种标准化的集成模式,一种为EXE集成模式,一种为可交互集成模式。EXE集成模式主要考虑到部分模型开发人员并不掌握模型封装、进程通信等技术,这种集成方式不需要模型开发者修改原有的模型引擎,即编译好的EXE可执行文件不需要修改,而只需要增加一个数据转换的DLL接口文件即可; 可交互集成模式则需要模型开发者除了数据转换接口外,还需要将原有的模型进行改写,改写的程序必须符合可交互集成的接口标准,其中PerformTimeStep()为模型单步调用的接口,该集成方式的运行阶段和运行过程如表1所示。

表1 可交互集成阶段及调用的过程

HydroMP通过3种方式实现模型集成,分别为EXE集成、可交互集成和并行集成。这3种集成方式的特点和简要步骤分别为: 1) EXE集成: 以原模型EXE文件所定义的文件格式作为模型输入输出文件规范,开发用于转换平台数据接口和输入输出文件之间的接口函数并封装为DLL文件,在平台调用的过程中,先新建一个文件夹,然后拷贝EXE执行文件,并调用DLL文件实现数据转换和文件生成,最后通过调用原模型的EXE文件实现模型计算; 2) 可交互集成方式: 将原模型改写为执行图5所示接口的程序并封装为Model.DLL文件,开发用于转换平台中SimuScheme对象字节流到模型预定义数据转换的DataExchange.DLL接口文件,再通过具有和平台之间进行标准通信的程序调用Model.DLL文件,并生成新的和平台可实时交互的标准EXE文件,在平台调用过程中,平台的方案数据以字节流的方式传给标准EXE程序,标准EXE程序通过解析后将数据传给Model.DLL模块,并按照计算时间步调用PerformTimeStep接口实现模拟计算; 3) 并行集成方式: 以符合MPI并行计算的EXE文件作为运行程序, EXE采用并行方式,其中主进程和作业调度程序采用阻塞的命名管道通信模式,其数据交互方式和第二种方式类似,所不同的是,针对并行算法的复杂性和差异性,平台还未能建立标准的EXE程序,而是对原有的可并行EXE程序进行改写,从而实现和平台之间的标准化管道通信。

2 模型集成及应用终端开发

在云平台中集成了可用于河网水动力计算及渠道控制计算的模型,并基于HydroMP提供的程序集及Web Service接口开发了PC终端程序,程序用户方案编辑、提交及结果分析。

2.1 水动力学模型集成

平台通过标准接口实现了对JPWSPC模型的集成, JPWSPC模型采用汊点水位校正法来实现复杂河网的求解[14]。平台以3种方式集成模型, EXE方式为快速集成方式,只需要开发数据转换的DLL文件,可交互集成方式分为串行和并行模式,可交互集成模式除开发了用于实现数据转换的DLL接口文件外,还将模型改写为可单步执行的组件接口,最后通过标准EXE程序对其进行引用后生成新的具有管道通信接口的EXE程序; 并行集成方式采用串行方式相同的数据转换接口文件,同时,将原程序改为可并行执行的方式,主要的方法为采用面向对象的方法,将原有的数据结构改为单河段分别存储的数据结构,同时,采用一个关联表用于存储各个河段之间的关联关系,即河段—汊点关联表,通过此关联表将河段的计算分配到每一个独立的进程中,并在主进程中对每个汊点的水位/流量进行校正,校正完成后将新的水位/流量值发送给相应的进程,从而实现每个河段的并行计算。

平台已集成CE-QUAL-RIV1、 JPWSPC-SC及JPSWPC-MPI这3个模型,分别采用EXE集成、可交互集成和并行集成方法。JPWSPC-SC及JPWSPC-MPI模型在运行阶段能与平台实时通信, JPWSPC-MPI实现了基于MPI通信接口的并行计算。

2.2 方案编辑终端程序

基于HydroMP所提供的数据结构及Web Service接口,开发了PC终端软件系统。该系统引用BaseClass和ClientClass类,并将计算方案(集)对象作为Web Service接口的参数,将方案提交到云平台中计算。系统包括可视化方案编辑、云端方案查询、方案计算进度查询等功能。

3 平台应用

本文研究的对象为南水北调中线工程(简称“中线工程”), 中线工程是一项特大型长距离跨流域调水工程。中线工程总干渠(简称“总干渠”)从丹江口水库陶岔枢纽引水,跨江、淮、黄、海四大流域,全长约1 277 km, 各种交叉建筑物1 750余座。中线工程采用闸前常水位运行模式,通过节制闸、分水口和退水闸等的启闭操作实现总干渠的水流调节和控制。

3.1 计算方案设置

受调水水源可调水量和受水区需水流量限制,总干渠输水过程是一个不均匀的过程。任何渠段输水流量发生变化时,都将引起渠段水位波动,本文研究某些极端工况下的水力过渡过程: 陶岔渠首在一定时间内由某一流量线性变化到另一流量,各分水口分水流量同步线性变化,各节制闸从初始开度同步调节到目标开度。

陶岔渠首流量分为减小和增大2种工况类型: 1) 假设渠道中初始状态下通过70%的设计流量,在一定时间内分别减小到50%和10%设计流量; 2) 假设渠道中初始状态下分别通过设计流量的70%和10%,然后在一定时间内增大到80%和70%设计流量。按照渠首来流量的变化幅度和时间,拟定5种计算工况。其中,工况1、 工况2、 工况5的节制闸开度减小,工况3、 工况4的闸门开度增加。工况1—工况4的计算渠段为全线,工况5分黄河南、北两段进行计算,工况具体参数见表2

表2 总干渠输水流量变化工况组合表
3.2 方案提交及计算效率分析

系统提供多方案提交和同时计算的功能,如图6所示。在进行方案提交时,系统列出工程下的所有方案,并根据所要计算方案的类型(一维、二维), 实时从服务端的模型库中获取能用于计算的模型,当前方案为渠道一维水动力学方案,云端集成了CE-QUAL-RIV1、 JPWSPC-SC模型和JPWSPC-MPI三个模型。其中CE-QUAL-RIV1以EXE方式集成, JPWSPC-SC、 JPWSPC-MPI分别为适应平台接口的JPWSPC改进的可交互串行模型和可交互并行模型。在方案提交计算的过程中,系统将实时的获取计算结果,并显示计算的进度,如图6所示。

本文中云计算服务器配置如表3所示。

表3 云计算服务器配置

计算完成后,将不同方案的计算时间和原模型的计算时间进行对比(表4所示)。从表4可以看出,采用串行集成方式的计算时间和采用原模型时间相当,采用并行集成模型的计算时间则大为减少,因为并行计算均采用14个进程同时计算,其加速比均值为7.01。在云计算实现多方案并发计算后,相对于单机多方案顺序计算,并发并行加速比为23.5。

表4 不同方案、不同模型的计算速度对比表
4 结 论

水利模拟云服务平台实现了一维水动力学模型的集成,并在此基础上实现了对南水北调的多方案模拟和并发并行计算,并发测试及模型计算结果说明,基于HPC Server、 WCF、 MPI和管道通信的平台架构能提供多方案、多模型的并行并发模拟计算服务。实例中通过3种方法对一维水动力学模型进行集成,集成接口满足平台对于数据通信和资源调度的要求,平台与可交互集成模型之间实现了实时通信。平台的模型集成方法相较于OpenMI接口,增加了进度计算、剩余时间计算、实时结果输出等接口,接口用于并行和并发计算中的过程交互,保证了平台对计算资源调度。

集成模型的计算结果和原模型运行时一致,并行集成模式的运算速度为原模型6~8倍,同时,在当前HPC Server硬件条件下实现了30个方案同时模拟,对集群扩展后将能实现更多方案的并发计算。同时,平台具备的高效计算及可扩展性特点将在水利工程优化设计、防洪调度、山洪实时预警等方面发挥更进一步的作用。

The authors have declared that no competing interests exist.

参考文献
[1] Launder B E, Spalding D B. The numerical computation of turbulent flows[J]. Computer Methods in Applied Mechanics and Engineering, 1974, 3(2): 269-289. [本文引用:1] [JCR: 2.626]
[2] 张刚, 解建仓, 罗军刚. 洪水预报模型组件化及应用[J], 水利学报, 2011, 42(12): 1479-1486.
ZHANG Gang, XIE Jiancang, LUO Jungang. Componentized model of flood forecast and its application[J]. Journal of Hydraulic Engineering, 2011, 42(12): 1479-1486. (in Chinese) [本文引用:1] [CJCR: 1.308]
[3] Gregersen J B, Gijsbers P J A, Westen S J P. OpenMI: Open modelling interface[J]. Journal of Hydroinformatics, 2007, 9(3): 175-191. [本文引用:1] [JCR: 1.336]
[4] Bulatewicz T, Allen A, Peterson J M, et al. The simple script wrapper for OpenMI: Enabling interdisciplinary modelling studies[J]. Environmental Modelling & Software, 2013, 39: 283-294. [本文引用:1]
[5] Sun A. Enabling collaborative decision-making in watershed management using cloud-computing services[J]. Environmental Modelling & Software, 2013, 41: 93-97. [本文引用:1]
[6] Burger C M, Kollet S, Schumacher J, et al. Introduction of a web service for cloud computing with the integrated hydrologic simulation platform ParFlow[J]. Computers & Geosciences, 2012, 48: 334-336. [本文引用:1] [JCR: 1.438]
[7] Ari I, Muhtaroglu N. Design and implementation of a cloud computing service for finite element analysis [J]. Advances in Engineering Software, 2013, 60-61: 122-135. [本文引用:1] [JCR: 1.422]
[8] Horsburgh J S, Tarboton D G, Maidment D R, et al. A relational model for environmental and water resources data[J]. Water Resources Research, 2008, 44(5): W05406. [本文引用:1] [JCR: 3.709]
[9] Horsburgh J S, Tarboton D G, Schreuders K A T, et al. HydroServer: A platform for publishing space-time hydrologic datasets [Z/OL]. (2013-06-09). http://his.cuahsi.org/documents/JSH_SpringRunoff_HydroServer_2012.pdf. [本文引用:1]
[10] Ames D P, Horsburgh J S, Cao Y, et al. HydroDesktop: Web services-based software for hydrologic data discovery, download, visualization, and analysis[J]. Environmental Modelling & Software, 2012, 37: 146-156. [本文引用:1]
[11] Booch G, Maksimchuk R A, Engle M W, et al. Object-Oriented Analysis and Design with Applications[M]. Boston, USA: Addison Wesley, 2007. [本文引用:1]
[12] 周振红, 任慧, 杜丽平. Fortran DLL 组件集成到. NET平台(一)[J]. 武汉大学学报: 工学版, 2005, 38(4): 100-104.
ZHOU Zhenhong, REN Hui, DU Liping. Fortran DLL component being integrated into Microsoft. NET framework[J]. Engineering Journal of Wuhan University, 2005, 38(4): 100-104. (in Chinese) [本文引用:1] [CJCR: 0.424]
[13] 朱仕杰, 南卓铜, 陈昊, . 基于Web Service的在线水文模型服务研究[J]. 遥感技术与应用, 2010, 25(6): 853-859.
ZHU Shijie, NAN Zhuotong, CHEN Hao, et al. Online hydrological model service using web service[J]. Remote Sensing Technology and Application, 2010, 25(6): 853-859. (in Chinese) [本文引用:1] [CJCR: 1.047]
[14] ZHU Dejun, CHEN Yongcan, WANG Zhiyong, et al. Simple, robust, and efficient algorithm for gradually varied subcritical flow simulation in general channel networks[J]. Journal of Hydraulic Engineering—ASCE, 2011, 137(7): 766-774. [本文引用:1] [JCR: 1.258]