没有合适的资源?快使用搜索试试~ 我知道了~
SoftwareX 7(2018)234原始软件出版物Eclipse集成计算环境Jay Jay Billingsa,b,*,Andrew R.李文辉,李文辉.麦卡斯基,泰勒帕特森a,j,罗伯特史密斯a,格雷戈里R。沃森a,安娜·沃伊托维奇a,ka计算机科学与数学部,橡树岭国家实验室,橡树岭,TN 37830,美国b田纳西大学布雷德森跨学科研究和研究生教育中心,444 Greve Hall,821 Volunteer Blvd。诺克斯维尔,TN 37996-3394,美国c华盛顿大学,西雅图,WA 98105,美国地址:3200 North Grandview Blvd Waukesha,WI 53188-1678,United States佐治亚理工学院North Avenue,Atlanta,GA 30332,United StatesF Kichwa Coders Ltd.,1 Plomer Green Avenue,Downley,High,Wycombe HP 135 LN,英国地址:633 Clark Street Evanston,IL 60208,United States劳伦斯伯克利国家实验室,1 Cyclotron Rd,Berkeley,CA 94720,美国i计算机科学系和生物科学系,普渡大学,西拉斐特,IN 47906,美国联系我们信息管理有限责任公司,114 Union Valley Rd.,Oak Ridge,TN 37830,United Statesk科罗拉多州立大学,柯林斯堡,CO 80523,美国ar t i cl e i nf o文章历史记录:2017年6月11日收到收到修订版,2018年7月13日接受,2018年保留字:工作流工作流管理超级计算可用性Eclipsea b st ra ct建模和仿真中的问题需要与标准的基于网格的工作流管理系统显著不同的工作流管理计算科学家通常以反馈驱动的方式与仿真软件进行交互,其中解决方案和工作流程是同时迭代开发的。这项工作描述了常见的建模和仿真活动,以及这些活动的组合如何形成独特的工作流程。我们提出了Eclipse集成计算环境作为建模和仿真社区的工作流管理系统和开发环境。环境的适用性,在能源科学,一般多物理场模拟,量子计算和其他领域的问题的例子版权所有©2018作者.由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_SOFTX-D-17-00043法律代码许可证Eclipse公共许可证1.0使用Git的代码版本控制系统使用Java、OSGi、Eclipse RCP和Maven编译要求、操作环境和依赖关系Java 1.8或更高版本、Maven以及依赖关系的Internet连接(如果可用),请链接到开发人员文档/手册https://wiki.eclipse.org/ICE问题支持电子邮件ice-dev@eclipse.org软件元数据当前代码版本2.2.1此版本可执行文件的永久链接https://www.eclipse.org/downloads/download.php? file=/ice/buildings/2.2.1/法律软件许可证Eclipse公共许可证1.0计算机平台/操作系统Windows(32/64位),Mac OS/X,Linux(32/64位)安装要求和依赖关系Java 1.8或更高版本如果可用,请链接到用户手册。如果正式出版,在参考文献列表https://wiki.eclipse.org/ICE问题支持电子邮件ice-users@eclipse.org通讯作者:计算机科学与数学部,橡树岭国家实验室,橡树岭,田纳西州37830,美国。电子邮件地址:billingsjj@ornl.gov(J.J. Billings)。@jayjaybillings(J. J. 比林斯)。https://doi.org/10.1016/j.softx.2018.07.0042352-7110/©2018作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx*J.J. Billings等人/SoftwareX 7(2018)234235版权通知本手稿由UT-Battelle,LLC根据与美国能源部(DOE)签订的合同DE-AC 05 - 00 OR 22725撰写美国政府保留和出版商,通过接受出版的文章,承认美国政府保留一个非排他性的,付费的,不可撤销的,世界范围内的许可,出版或复制本手稿的出版形式,或允许他人这样做,为美国政府的目的。能源部将根据能源部 公 共 获 取 计 划 ( http://energy.gov/downloads/doe-public-access-plan)向公众提供这些联邦资助研究的结果1. 动机和意义在以前的工作中,Billings et al.采访了建模和仿真主题专家,以编制实现和使用这类应用程序的需求列表在这个过程中,他们发现使用高性能建模和仿真软件所固有的许多困难分为五个不同的类别[1]。这些活动在1.1节中详细描述,包括(1)创建输入,(2)执行作业,(3)分析结果,(4)管理数据;(5)修改代码。有许多工具可以单独解决这些问题,但同一项研究发现,这些工具的过多和专业化也有助于学习曲线。以前解决这五个问题的努力已经产生了通用的科学工作流工具,如Kepler [2]或只满足单个软件或单个平台的一组要求的近视工具。这是两个相反的极端,但中间路线的解决方案也是可能的。可以开发一个工作流引擎,将其范围限制在高性能计算(HPC)和与前面提到的五个活动相关联的可能工作流集只需进行少量的 额外开发, 就可以公开丰富 的应用程序编程接 口(API),以便仍然可以基于这个有限的工作流引擎来制作高度定制的解决方案目前尚不清楚这些解决方案中的哪一个(如果有的话)优于其他的和实际的需求将最终决定一个项目的进展路径。这项工作考虑了一个中间立场的解决方案,并提出了Eclipse集成计算环境(ICE)作为证明,它是可能的,以创建这样一个系统。具体来说,这里描述的工作表明,建模和仿真活动可以在简洁的工作流模型中描述(参见这种工作流系统的体系结构可以以可扩展的方式满足工作流模型(参见这样的系统适用于能源科学中的一系列问题,包括虚拟电池模拟和添加制造等(参见本节最后介绍ICE工作流模型。第2节从体系结构的角度详细介绍了软件,第3节提供了一组全面的示例。第4节介绍了影响,第5节提供了获取示例代码的详细信息。1.1. 工作流模型ICE许多科学家很可能会发现这些活动对于他们缺乏经验的所有代码都很困难,而对于他们自己的代码–这些活动在一个或多个科学软件包或代码中的任何特定组合都会导致独特的工作流程。这样的工作流通常但不总是由人类用户请求并由工作流管理系统编排对于任何单独的模拟代码或代码集合来说,最明显的工作流是将活动串在一起,其中用户但是,还有许多其他组合,包括重新运行带有条件或修改的作业,或者分析其他人1创建输入是描述将要模拟的系统的物理模型或状态的过程这可能包括创建输入文件或调用外部进程配置一个正在运行的程序。在大多数情况下,计算科学家将修改现有的输入或从模板创建新的输入‘‘Input’’ generally includes run time parameters forthe 公差);配置选项(例如,数据位置、输出位置、模块配置);待模拟材料的性质;以及模拟空间的离散化(例如,网格、栅格、颗粒分布)。所有必需输入的集合可以相当大,并且可以有许多名称,包括通常,输入文件集将在“主”输入文件中描述,该文件在这项工作中,除非另有说明,否则应该假设执行作业,或这些公司通常在当地经营,从事小型工作或发展。另一方面,大型仿真通常需要大量的硬件资源。这些资源通常是场外的(即,用户物理上不可用),并且通过安全外壳(SSH)连接或类似协议远程访问远程执行需要在执行之前移动输入,并将输出复制或移动到用户但是,在许多情况下,输出太大,无法移动到用户本地和远程作业经常被监视以确定作业的状态。这种监视可以是关于执行是否已经完成的简单检查,或者它可以涉及监视单个量的输出以检查计算状态。后者通常用于检测将导致不正确结果的计算错误如果发现这样的问题,作业通常会被ICE中的本地作业使用标准Java系统调用执行远程作业仅通过远程计算机上的SSH连接启动这包括在集群上直接执行SSH命令,以及通过大型Leadership级超级计算机上的试点服务进行代理连接。不支持Globus和Bosco等服务,但SSH命令执行包括对大量批处理和排队系统的广泛支持。Eclipse并行工具平台(PTP)用于创建所有远程SSH连接,而不管目标机器[3]。在这项工作中,除非另有说明,否则应假设-同样重要的是要注意,执行作业与执行工作流不同。执行作业具体指的是启动模拟,而执行工作流可能有所不同,例如生成输入或后处理结果。1作者已经确定了许多定义工作流“类”的独特组合。在可能的情况下,尽一切努力给类口语化的名称,如···236J.J. Billings等人/SoftwareX 7(2018)234这是一个重要的区别,因为ICE分析结果包括执行特殊作业以一种或多种规定的方式转换数据,并从转换的数据中产生具有科学意义的例如,这对于许多类型的科学计算,这包括查看网格或网格上的模拟结果,并从该数据中提取出版质量的图像或电影其他情况可能包括分析结果,为后续模拟做准备,或执行特征提取、分类或机器学习活动,数据挖掘虽然这类似于执行作业,但它有明显的不同,因为活动改变了焦点以满足人类操作员的需要简单的数据约简,其中确切的约简是已知的,当然有资格作为执行一项工作;然而,建模和仿真结果的分析远非简单的数据约简,并且通常对科学家来说更具交互性。管理数据包括移动、复制、存储、共享或以其他方式与用于模拟或来自模拟的数据交互。这种活动是最普遍的,因为其他每个活动都需要以某种方式与数据进行交互然而,在许多情况下,数据仍然是出于自己的目的进行管理的,而不执行模拟,生成新的输入或分析结果。例如,将数据存档、为出版物打包数据以及手动或通过脚本(通常根据出版物中的新信息)更新值。修改代码通常不被认为是科学计算工作流的一部分。然而,建模和仿真用例通常需要用户在执行之前显式修改代码或发出特殊的重新构建指令。例如,计算流体动力学代码Nek 5000就是如此,它需要在编译之前修改代码,并使用makenekshell脚本[4]进行特殊的构建许多科学家认为如果作者正在修改的模型不能直接配置为输入的一部分,但可以通过操作源代码轻松完成,则可能需要这样做1.2. 相关工作ICE文献中的许多其他工作流模型例如,Yu和Buyya将网格工作流定义为其他人,如Pizzi等人,类似的定义[6]。在工作流是静态的并且在提供了所有初始人工输入之后不需要额外的人工输入或“人在回路中”行为的情况下,这种然而,ICE中的工作流程与人类的定期回调完全交互。讨论“活动”比区分“人类过程”和“计算机过程”要简单得多。关注“活动”而不是过程(人或计算机)也有去除具体元素的好处,如硬件或软件属性,这些元素分散了工作流和工作流管理系统的细节。也就是说,诸如内存使用和原始性能之类的考虑是重要的,但是关于抽象工作流或工作流管理系统应该做什么的问题在此上下文中更为重要还有其他工作流引擎,它们有自己的活动概念,与ICE例如,Taverna有一个活动的概念[7]。Taverna中的活动被定义为工作流中的可调用活动,它与ICE中称为Actions的低级别类密切相关(参见2.1.2)。另一方面,ICE的活动在概念上松散地描述了ICE和Taverna都可以在本机执行Java代码,但ICE 2.0不能在本机调用Web服务定义语言(WSDL)Web服务。ICE使用常规的基于Java的库与Web服务(如Jersey)进行交互,并要求开发人员直接编写代码来实现这一点。Taverna中的Shim服务在ICE中作为框架中的单独服务提供,但在其他方面非常相似。Chiron 是 一 个 代 数 工 作 流 引 擎 , 它 的 活 动 概 念 更 接 近ICEChiron中的活动是要执行的程序或表达式的组合,加上输入模式,再加上输出模式。这与ICE中Item类的设计非常匹配ICE凯龙星的活动和ICE的项目之间的主要区别一个Chiron Activity(如Map或Reduce)通常会在ICE中作为一个Action来实现,而ICE中的一个Item可能会执行多个Action来执行一个工作流。ICE和许多其他系统之间的一个显著区别是,它使用基于语言的方法来定义工作流,但使用标准语言Java,而不是自定义工作流定义语言。Pizzi等人使用Aiida和Python来实现这一点,而Fireworks工作流引擎也使用Python。这种方法的优点是编译不是问题。ICE也不同于其他工作流引擎,因为它特别关注建模和仿真,而不是网格工作流。网格工作流几乎总是被定义为基于树的工作流,没有人在循环中,但建模和仿真工作流更具交互性和无定向性[9]。2. 软件描述ICE是专门为解决科学家的动手工作流程而创建的,如第3节所述。用户在本地下载并执行ICE,ICE又根据需要编排本地或远程工作流它为建模和仿真提供了一个全面的工作台,其中包括用于工作流、可视化、数据管理和软件开发的工具。2.1. 软件构架ICE中的工作流和任务没有被显式地视为树或有向无环图(DAGS),这与网格工作流工具一样[5]。相反,ICE图图1显示了ICE的五个主要组成部分及其相互关系。用户从“ICE客户端”(工作台)或通过使用网络或语言编程接口的无头交互发起创建、编辑、更新或删除工作流可以创建的可用工作流的列表由“ICE核心”动态地提供给ICE客户端,ICE核心充当服务器并且是负责工作流编排的主要组件。工作流信息是动态提供的,因为它经常在运行时根据注册表中可用工作流组件的配置和用户保存在其工作区中的持久化工作流进行更改。工作流任务的制定和执行由称为“项目”的服务执行关于工作流的信息由核心通过植根于J.J. Billings等人/SoftwareX 7(2018)234237Fig. 1. ICE的高级架构,显示了ICE的五个主要组件之间的关系和粗略的责任划分。ICE核心负责工作流管理,并分别将指令和数据委托给项目和数据结构。用户输入是从客户端或通过无头交互接收的,而大量数据的持久化则委托给持久化服务。无状态的“表单”树。表单描述了工作流,并提供了所有必要的信息,以了解应该处理什么工作流(但不是应该如何一旦用户修改表单中的工作流描述以提供其具体细节,客户端就向核心发送请求以修改和/或处理工作流。然后,Core使用表单中的信息执行服务查找,以识别正确的Item来处理工作流。2.1.1. 冰芯ICE Core的主要目的是为平台编排图2显示了与ICE Core交互它是ICE的“核心”控制组件,所有其他组件的交互都集中在这里它是ICE体系结构的中间层ICE Core类将项目的构建和管理委托给项目经理。Item Manager充当ICE Core创建的Item的容器和工厂。项是使用Builder模式构造的,具体的构造由ItemBuilder接口的实现处理ICE2.0包括一个基于EclipseWork-bench的图形客户端,这在Eclipse应用程序中很常见.核心的工作流管理功能也可以通过语言和基于Web的编程接口访问(见第2.1.5节)。2.1.2. 项目ICE中的每个工作流Item都是一个独立的服务,每个工作流类型都是Item基类的子类或另一个Item子类。项通过ICE中的服务注册表动态注册(参见第2.1.5节),并为ICE核心和客户端提供工作流数据、表单的集合由于ICE图 3显示了Item类及其协作器的类层次结构。工作流程的各个组成部分(即,工作流“任务"或”节点“)直接编码在工作流的子类中或作为动态注册到“Action Factory”并在运行时获取的“Actions”提供。在项目、客户端和核心之间共享的公共数据结构由数据结构组件提供。表1描述了项目、操作和表单之间的区别。2Item的常用子类包括Model和Job Launcher类,它们可分别用于为输入生成和工作流执行创建工作流插件。合成物品是由其他物品合成而成的特殊物品.复合项通常用于可以并行执行或紧密耦合不同工作流任务以进行资源和性能管理的工作流项。ICE中的所有项目都是有限状态机,其中状态表示工作流的抽象状态。例如,当第一次创建项目时,它进入在审查之后,它在处理之前进入错误还有几个附加状态这个设计非常重要。首先,这意味着ICE中的所有其次,通过形式化状态和错误检查,ICE明确地描述了哪些工作流可以执行,哪些工作流必须接受额外的配置。最后,它允许实现项目和操作的开发者通过合同指定在继续下一个任务、处理工作流或声明成功执行之前需要2.1.3. 数据结构ICE包含一组通用数据结构,这些数据结构对于表示建模和仿真工作流所需的数据非常有用。图4显示了其中的一些类及其关系。ICE中的所有数据结构(和项目)都是唯一可识别的,并以可预测的方式运行:它们接收和分发更新,可以被访问以确定类型信息等。组件在数据意义上,而不是类意义上,表示一种特殊的数据结构,它形成了窗体的子级。表单本身是组件,并按层次结构聚合其他组件。ICE数据结构上下文中的“组件”这个名称指的是一个唯一的、可重用的数据集合,而不是面向对象意义上的类或组件。保存数据的组件很少做自己的工作,但强烈地限制了客户端的界面契约。2.1.4. 坚持与创新当创建和修改工作流时,ICE将表单的每个副本保存到称为“workspace”的特殊目录中的磁盘上。工作区可以包含项目、文件夹和文件,包括数据、代码、输入和输出。ICE在执行工作流时自动管理数据文件的本地和远程(甚至本地到例如,当执行远程作业时,如果输入文件在工作流中指定并且在工作区的项目目录中可用,同样,如果输出足够小(小于50 MB),ICE会自动将其移回本地目录。按照惯例,ICE表单中的所有路径工作区目录由用户指定,并且是功能齐全的Eclipse目录。2 即 将 到 来 的 API 更 新 将 包 括 正 式 引 入 IWork-flow 、 IWorkflowTask 和IWorkflowEngine接口,以使ICE但是,这必须谨慎进行,以保持向后兼容性。238J.J. Billings等人/SoftwareX 7(2018)234图二、I C E 核 心 的架构及其依赖关系。ICE Core类处理工作流项目和公共数据结构之间的通信,但将工作流项目的构建委托给构建器。图3.第三章。I C E 项 目 的类层次结构,显示项目、其子类和它使用的服务之间的关系。Vibe Launcher和MOOSE Launcher是用于执行作业的特殊作业启动项的示例,它们的应用将在第3节中讨论。表1项、表单和操作的类说明。类类描述对象描述项目Java类与代码执行一个抽象的工作流。提供一个表单。具体的工作流执行器。形式项目处理工作流所需数据的描述和模板。用户修改的工作流数据。行动Java类,用于执行工作流中的特定任务。用于项目。具体的工作流任务执行器。ICE使用“持久性提供程序”处理持久性可靠的持久性提供程序使用JAX-RS将表单写入XML [12]。原则上,其他持久性提供程序可以取代基于XML的提供程序,因为它被注册为动态服务,并且过去一直使用基于JAX-P的提供程序2.1.5. 与其他Eclipse技术的ICE是Eclipse富客户端平台(RCP)应用程序[11],并具有基于Equinox的插件架构,Equinox是开放服务网关计划(OSGi)框架规范的参考实现[13]。最合适J.J. Billings等人/SoftwareX 7(2018)234239见图4。 ICE中常见的数据结构及其关系我认为Eclipse ICE是任何其他Eclipse开发环境的替代品,因为与那些环境一样,它只是具有明确定义的目的和品牌的Eclipse插件的集合。ICE使用Eclipse生态系统中的1200多个附加包来提供语言支持和可视化等服务。本书中描述的ICE的每个独特元素-包括客户端、核心、项目和数据结构-都作为插件提供给Equinox。大多数插件都是动态管理的,并作为服务提供,这些服务可以作为动态OSGi声明性服务获得。ICE中的文件I/O(只有少数例外)与RCP的资源插件和标准Eclipse工作区交互。这还包括使用Eclipse PTP管理的远程资源。ICE插件是使用普通Eclipse开发工具创建的并安装到正在运行的ICE实例中,或者以新构建的版本发布。在这两种情况下,ICE的运行平台只能使用实际安装的插件,并且必须为每个插件编写至少少量的Java代码。对于新手用户或开发人员来说,这种扩展方法可能看起来很奇怪,特别是如果他们不太了解Java,但选择这种设计是因为它是一种简单,快速和精确的创建工作流的方法。ICE提供了内置的开发工具来自动生成吃空,但准备编译插件的类这些工具基于Eclipse平台中的其他代码生成工具这种新工作流的开发得到了简化,因为ICE提供了丰富的API,可以公开所有工作流管理功能、文档、教程和工具,以进一步简化流程。这些都是通过代码完成工具、帮助菜单和文档覆盖在自托管环境中共享的。工作流环境与用于建模和仿真代码的开发平台的紧密接近也是有益的,因为作为自托管实体,工作流可以与代码共同开发ICE可以作为无头Web服务器运行,具有远程服务接口和Web API。Web API也被用作提供实时反馈和监控支持的主要手段,ICE,它也作为OSGi服务发布。这些服务也可以作为OSGi远程服务使用。在许多情况下,图形化或串行地配置工作流是不可接受的,例如当将执行非常大量的工作流或所需的信息类型是非常细粒度的时。在这些情况下,通常需要向工作流管理系统提供脚本。ICE包括Eclipse高级脚本环境(EASE)[14]用于脚本编写,因为它提供了一种在JavaScript,Jython和Python中本地编写Eclipse RCP项目的方法这也使得通过添加这些语言中的项目来扩展环境成为可能具体来说,JavaScript和Python中的脚本是在作为工作台一部分的简单shell中编写和执行的调用其他语言(如C或Fortran)通常通过为这些语言中的可执行文件添加工作流项并执行本地工作流作业启动来完成。C语言例程已经通过Java本机接口(JNI)从ICE调用,但由于其复杂性,这不是一种广泛用于平台的技术。2.2. 功能ICE最重要的功能是作为一个易于扩展的工作流程管理系统,为科学家支持上述活动。在实践中,它最常用作工作流管理系统和开发环境的组合,因为除了工作流工具之外,它还包含大量Eclipse该项目有许多用户,但开发团队最常使用它来支持能源科学项目的工作流科学和开发团队经常使用该平台在几个小时内快速部署新的特定于域的工作台,用于易于编码的小型工作流集合。在开发团队之外,ICE通常被部署为计算科学项目的复杂用户环境(参见第4节)和可视化工具。ICE源代码最初包含大量的可视化支持,但应社区用户的要求,该支持在2016年初被240J.J. Billings等人/SoftwareX 7(2018)2343. 说明性实例图五. 用于VIBE分析的ICE工作台。ICE和MOOSE利用HPC资源快速解决能源科学问题,并部署特定领域的工作台。冰ICE作为一个工作流工具所扮演的角色最好通过它的各种部署方式来说明,如下面的示例所示。3.1. 虚拟电池模拟Pannala等人开发了虚拟集成电池环境(VIBE),作为他们对锂离子电池安全性和性能特征研究的一部分[16]。VIBE将ICE作为其发行版的一部分,并向ICE添加了新的工作流程,使用户能够添加多种类型的输入,配置模拟软件,并启动虚拟电池的模拟。结果的交互式3D可视化嵌入在启动器中,以便用户可以快速找到他们的结果。图5示出了(模拟的)棱柱形电池单元电池在放电期间的温度分布。VIBE 1.0可作为一个虚拟机(方便部署),其中模拟软件和ICE并排提供。VIBE团队机器模拟器。3.2. 使用MOOSE进行MOOSE框架是爱达荷国家实验室开发的一个功能强大,易于使用的多物理场框架。ICE为MOOSE提供了工作流工具,以及用于开发 自 定 义 MOOSE 内 核 的 专 用 类 生 成 实 用 程 序 。 ICE 中 的 许 多MOOSE工具都是与MOOSE团队密切合作开发的,以重现MOOSE用户界面的各个方面 叫“孔雀”图6示出了ICE工作台的示例,使用MOOSE框架解决的简单结构力学问题[18]。有超过300个基于MOOSE的应用程序,创建新的应用程序非常容易ICE开发团队使用提供了自动安装、配置和优化科学开发环境的功能。在MOOSE的上下 文 中 , ICE 支 持 从 MOOSE 的 GitHub 存 储 库 自 动 下 载 和 构 建MOOSE这种集成使用户能够立即开始使用预安装的Eclipse C开发工具开发复杂的多物理场应用程序。一旦构建了新的基于MOOSE的应用程序,它将自动与ICE中的MOOSE工作流工具一起工作,尽管开发人员也可以根据需要创建定制的工作流工具3.3. 粘结剂喷射成型使用粘合剂喷射打印的部件的固态烧结通过降低部件孔隙率和消除空隙而显著增加部件强度然而,这个过程确实会导致最终产品从其原始布局收缩和翘曲理想的近净成形工艺将结合粘结剂喷射与固态烧结,并在零件的设计阶段考虑翘曲和变形图图7显示了一个基于ICE的工作台,用于执行该过程的模拟,并可视化了具有八个杠杆的中心体的模拟前和模拟后属性。这种类型的几何形状的主要变形是由于烧结和热蠕变导致的悬臂梁的3.4. 中子反射率ICE还包括一个小型实用程序,用于模拟中子反射率并将结果与其他数据进行比较[19]。该实用程序是与ORNL的SparkleNeu-tron Source团队合作开发的在ICE中开发的新实用程序如图所示。8.第八条。3.5. 量子计算随着量子计算的发展,对能够使用量子硬件或在量子计算机上执行计算的复杂软件的需求越来越大。J.J. Billings等人/SoftwareX 7(2018)234241图六、 用于MOOSE工作流程的ICE工作台。见图7。 ICE工作台用于粘结剂喷射建模。模拟量子硬件变得更加紧迫。Humble等人为绝热量子计算机创建了一个模拟器,其中工作流被添加到ICE中,以支持与模拟器的交互,并处理大量的二次二进制优化问题[20]。 图 9显示了这个项目的工作台。3.6. 核能ICE在核能建模和仿真项目中的作用有很多例子在ICE 2.1.8中,对“反应堆分析器”的支持4. 影响像ICE这样的软件工具的影响很难量化。然而,有几个例子表明ICE对其开发团队和其他人提供了重大帮助。工作流系统之间的互操作性是一个迫切需要关注和影响的领域。在将大型工作流管理系统(例如,Mandal等人[22]),但通过使用多个系统的最佳功能来获得最大优势的最终目标仍未实现。ICE这允许它连接到其他工作流242J.J. Billings等人/SoftwareX 7(2018)234见图8。 中子反射率ICE工作台。图9.第九条。 Jade绝热开发环境(JADE)中的ICE工作台,用于量子计算模拟。环境,如Triquetrum,很容易[23]。Triquetrum与Kepler一样,是一个基于托勒密的工作流引擎[24]。众所周知,使研究人员更有成效的工具往往会促进新研究的追求。ICE的高度可扩展性和它与更大的Eclipse生态系统相结合的工具使开发团队的研究人员能够快速部署新的仿真环境来解决他们的研究问题。用ICE创建的其他工具可能不会发明一些全新的东西,但它们往往来简化与这些工具的交互。许多ICE用户,当然还有开发团队,都因为ICE提供的工具而经历了软件开发工作的改进,或者因为获得了新工具就像通过Eclipse Marketplace安装更多插件一样简单ICE开发团队并没有跟踪ICE的用户群,因为然而,各种来源,如VIBE邮件列表,ICERNET Technologies,Inc.正在开发一种基于ICE的新的基于云的开发工具,俄亥俄州代顿市,以回应美国能源部颁发的小企业创新研究奖。这个基于网络的ICE版本将继续ICEJ.J. Billings等人/SoftwareX 7(2018)234243云计算解决方案,如Amazon Web Services和ORNL此外,虽然ICE没有直接导致任何ICE也是Eclipse科学工作组的创始项目之一。Eclipse ICE是一个开源项目,作者欢迎并鼓励用户的参与和贡献。感兴趣的各方可以通过联系通讯作者或访问ICE网站进行查询。5. 示例代码、教程和其他资源ICE的主要信息来源是项目网站[26].“资源"菜单包含指向详细教程和用户文档的有关如何创建新工作流项的示例,请访问www.example.comorg.eclipse.ice.demo。https://github.com/eclipse/ice/tree/master/有关如何使用脚本引擎的示例,请访问https://github.com/eclipse/ice/tree/master/examples。ICE还包括一套广泛的单元、集成和UI测试,这些测试也是如何使用该平台的 优 秀 示 例 演 示 和 演 示 视 频 可 在 YouTube 上 获 得 , 网 址 为https://goo.gl/nxCzRD。6. 结论科学家的建模和仿真工作流与实验者或主要与基于网格的工作流管理系统交互的工作流有很大的不同。这里描述的Eclipse ICE工作已用于解决能源科学建模和仿真中的跨学科问题。特别感兴趣的是,与专注于网格的工作流管理系统相比,专注于建模和仿真的工作流管理系统在体系结构上的差异。ICE在能源科学中的许多主题上的广泛适用性表明,这些系统一般都有机会。最后,未来探索的一个有趣的途径是将ICE与其他工作流工具(如Aiida,Triquetrum,Kepler和Pega- sus)耦合或集成,这将使最好的网格和建模工作流与仿真工作流相结合成为可能,以应对更大的挑战。致谢提交人感谢以下人员和机构的协助和支持,没有他们,这项工作是不可能完成的。这包括许多直接为该项目做出贡献的人,无论是在早期的放大图片作者:John M. Hetrick III,Forest Hull,JiztienJiddain , JiSoo Kim , Allison Koenecke , Fangzhou Lin , EricJ.Lingerfelt 、 Greg Lyon 、 Tony McCrary 、 Elizabeth Piersall 、Neeti Pokhriyal 、 Adrian Sanchez 、 Claire Saunders 、 NickStanish、Matthew Wang和Scott Wittenberg。核能高级建模和模拟(NEAMS)和轻水反应堆模拟联盟(CASL)计划的支持也非常感谢。作者希望感谢Eclipse基金会、Eclipse社区、Eclipse科学工作组以及我们许多在Eclipse生态系统中使用和贡献开源项目的同事的特殊贡献。最后,开发团队特别感谢ORNL的Barney Maccabe、DavidPointer和John Turner,感谢他们对这项工作的无尽支持和倡导。这项工作得到了美国能源部、核能办公室(DOE-NE)和能源效率办公室的支持,可再生能源(DOE-EERE)和ORNL本科生研究参与计划,该计划由ORNL赞助,由ORNL和橡树岭科学与教育研究所(ORISE)联合管理。这项工作也得到了ORNL主任ORNL由UT-Battelle,LLC为美国能源部管理,合同编号为DE-AC05-00OR22725。ORISE由橡树岭联合大学为美国能源部管理DE-AC05-00OR22750。引用[1] Billings Jay J,Elwasif Wael R,Hively Lee M,Bernholdt David E,HetrickIIIJohn M,Bohn Tim.为核燃料和反应堆的建模和仿真设计基于组件的体系结构 。 在 : 2009 年 基 于 组 件 的高 性 能 计 算 研 讨 会 论 文 集 , CBHPC'09 。NewYork,NY,USA:ACM;2009. p. 6:1-4.[2] LudscherBertram , Altintas Ilkay , Berkley Chad , Higgins Dan , JaegerEfrat,JonesMatthew,Lee Edward A,Tao Jing,Zhao Yang. 科学工作流程管理与开普勒系统。 ConcurrComput:PractExper 2006;18(10):1039-65。[3] 放大图片作者:TibbittsBeth R,Watson Gregory R,Rasmussen Craig E. 一种改进并行应用程序开发过程的集成方法。2009年IEEEInternational Symposiumon Parallel& Distributed Processing(IPDPS)。 LosAlamitos,CA,USA:IEEE Computer Society;2009. p. 1-8号。[4] Nek 5000 团 队 , Nek 5000-CFD 的 光 谱 元 素 代 码 。 Nek5000 网 站https://nek5000.mcs.anl.gov/。[2016年12月29日[5] 余 佳 , 买 买 亚 · 拉 杰 库 马 尔 。 网 格 计 算 工 作 流 管 理 系 统 分 类 。 J GridComput2005;3(3-4):171-200.[6] 皮齐乔瓦尼,切佩洛蒂安德烈,萨巴蒂尼里卡多,马扎里尼古拉,科津斯基鲍里 斯 。 AiiDA : 计 算 科 学 的 自 动 交 互 基 础 设 施 和 数 据 库 。 Comput MaterSci2016;111:218-30.[7] WolstencroftKatherine , Haines Robert, Fellows Donal , Williams Alan ,WithersDavid,Owen Stuart,Soiland-Reyes Stian,Dunlop Ian,NenadicAleksandra ,FisherPaul,Bhagat Jiten,Belhajjame Khalid , Bacall Finn ,Hardisty Alex,Nievadela Hidden Abraham,Vargas Balcazar,Maria P,Sufi Shoaib,Goble Carole. taverna工作流套件:在桌面、网络或云中设计和执行网络服务的工作流。 核酸研究2013;41(W1):W557-61。[8] 小笠原爱德华多,迪亚斯乔纳斯,席尔瓦维托,奇里加蒂费尔南多,德奥利维拉丹尼尔,波尔图法比奥,巴尔杜里兹帕特里克,马托索玛尔塔。Chiron:aparallel engine for algebraic scientific workflowforConcurr Comput : PractExper 25(16):2327[9] 比 林斯 ·杰 伊·杰 伊, 杰哈 ·尚 特努 。Toward common components for ope
下载后可阅读完整内容,剩余1页未读,立即下载
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功