《[精选]科学工作流系统Kepler及其应用-发展数据资源提升服》由会员分享,可在线阅读,更多相关《[精选]科学工作流系统Kepler及其应用-发展数据资源提升服(40页珍藏版)》请在金锄头文库上搜索。
1、科学工作流kepler及其应用,周园春、林小光、程洁 黄刚、王鹏飞、屈侠 2008-10-28,背景 工作流概述 科学工作流系统简介 Kepler系统及其应用 基于Web的科学工作流,目录,背景,海量科学数据 数字化技术和无处不在的网络发展推动了数据的收集、产生、共享、与分析。 科学数据规模越来越庞大,科学实验过程也越来越复杂。 科学与工程研究日益成为数据密集型的工作。,背景,超级计算环境 与观察实验、理论分析鼎足而立的科学计算已成为e-Science的核心。 现今很多交叉和前沿学科的研究越来越需要高性能计算,如大气科学计算、生命科学计算、湍流计算、分子模拟等。 由于这些研究所需的数据资源和计
2、算资源非常庞大,目前各研究机构很难为这些科研需求提供足够的资源,导致了很多研究无法往前推进。,背景,科学密集型实验迭代的科学数据处理流程,源数据获取 Web服务、SRB、FTP、HTTP,数据输入,数据预处理,数据运算,数据分析 数据挖掘,结果输出 结果数据集 可视化图片等,背景,动态的科学逻辑处理过程 虽然数据密集型科学问题的求解过程也遵循一定的基本流程,但是整个过程中的诸多细节却是动态的、不确定的,科学实验流程的定义往往是不完整的,在执行过程中也需要根据实验流程的运行态势做出动态修改。,工作流概述,商业工作流 工作流的概念起源于办公自动化领域。它所关注的问题是处理过程的自动化,它根据一系列
3、定义的规则,把文档、信息或任务在参与者之间传递,以达到某种目的。 工作流管理联盟(WfMC)对工作流的定义:一类能够完全或者部分自动执行的经营过程,根据一系列过程规则、文档、信息或任务能够在不同的执行者之间传递、执行。,工作流概述,商业工作流 经营过程的一个计算机实现。 工作流管理软件(WfMS)是一个软件系统。用以完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。运行在一个或多个工作流引擎上。与工作流执行者交互,推进工作流实例的执行,并监控工作流的运行状态。,工作流概述,科学工作流 2O世纪9O年代,随着问题求解环境(PSE)在科学研究活动中的应用,科学工作
4、流和科学工作流管理被引入到科学问题求解环境中。 科学工作流就是采用工作流的思想,用来描述和控制科学实验和过程的执行,它是面向e-Science,服务于科学家,使得科学家能够更容易的分析和管理科学数据。,工作流概述,科学工作流 科学工作流是获取科学数据(包括传感器数据、医学影像、卫星图像、仿真输出、各类观测数据等等),并对所获取到的数据执行复杂分析的灵活的工具。 目的在于组合一个广阔领域的应用程序,从实验的设计、执行、监控到归档,以及使得实验数据重用等的管理和分析流水线化。,工作流概述,科学工作流 Streaming/pipelined execution Highly data-centric
5、 Compute-intensive Analysis-intensive Visualization-intensive Interconnection between multiple tools,工作流概述,商业工作流 VS. 科学工作流 科学工作流面向数据量,以数据驱动 商业工作流面向控制流,事务驱动,call,return,科学工作流系统介绍,国际上比较成熟的科学工作流系统: 学术领域的: Kepler Taverna Triana 商业性质的: DiscoveryNet Pipeline-Pilot LabView,科学工作流系统介绍,Kepler Open-Source,Java
6、 圣地亚哥超算中心 地学、生物信息学、化学等,科学工作流系统介绍,Taverna Open-source,Java OMII-UK 生物信息学,科学工作流系统介绍,Triana Open-Source,Java Cardiff University, UK 信号、文本、图片处理,科学工作流系统介绍,商业性质科学工作流,科学工作流系统介绍,国内相关研究现状 目前,国内在科学工作流领域的研究尚处于起步阶段。 许多具体领域的研究机构已经开始着手使用国际上成熟的科学工作流系统(如Kepler等)进行涉及科学数据处理的大规模复杂科学实验。 一些大学及研究所也开始对科学工作流系统进行了针对性研究,比如武汉
7、大学软件工程国家重点实验室、南京大学计算机软件新技术国家重点实验室等。,Kepler系统,Kepler允许科学家设计科学工作流,并使用基于网格的分布式计算方法执行这些工作流。 Kepler是用于科学数据分析与建模的软件应用程序。Kepler使用一个可视化展现(科学工作流模型,用以展示离散分析和建模组件之间的数据流),使得创建可执行模型的过程简单化。,Kepler系统,Kepler用户即使没有计算机科学背景,也可以使用标准组件来生成工作流,或者修改现有的工作流模型以满足需要。 Kepler集成了一些通用数据分析及可视化软件,如Matlab、R等,为领域科学家提供了方便。 高级用户也能从Keple
8、r提供的大量优良特性获益,特别是当使用一个方便理解地以及容易分享的方式呈现一个复杂程序和分析。,Kepler系统,Kepler构建于另一个开源可视化建模系统PtolemyII之上,为科学家提供了一个方便易用的工作平台。 Kepler是一个用户友好的程序,允许科学家通过简单地拖拉、连接一些特定的组件,建立满足条件的科学工作流,而不用手工整合大量的软件程序,也不用借助于计算机程序员的协助。,Kepler系统,Ptolemy系统由UC Berkeley大学开发,用于研究并发、实时以及嵌入式系统的建模、仿真和设计。 Kepler系统很好地继承和发展了Ptolemy面向角色建模的特性,并加入了大量新特性
9、,用于支持科学工作流。主要体现在对科学数据的获取、处理。,Kepler系统,术语 角色(actor):执行一系列复杂操作的组件,是SWF中处理科学数据的实体。 参数(parameter):角色可配置的值。 端口(port):角色间供相互连接的通道,有输入端口和输出端口。 连接(relation):用于连接角色的端口,是数据传递的通道。,Kepler系统,Director,The Director controls the sequence of actor execution. Each actor takes data on its input ports, processes that d
10、ata, and send results its output ports.,An actor fires, placing the resulting data in a container called a token. The data token then flows from the output port to the input port of connected actors.,Actors transform input tokens into output data tokens which then get passed to the next actor under
11、control of the director.,Kepler系统,在用Kepler/PtolemyII构建的科学工作流中,独立处理具体任务的组件实体被称为“actor”。 “actor”之间通信的接口是“port”,有input port和output port两种。 actor使用“parameter”来配置和定制相关的行为。 actor之间通过“channel”相互连接。,Kepler系统,类型定义良好的面向角色工作流模型Define a workflow: W = A: a set of Actors D: a set of connections : i/o-signature of
12、 W M: a director (model of computation) : a set of constraints,Kepler系统,“director”指定了模型执行的语义,定义了actor如何执行,以及相互之间如何通信。用户定制好的工作流模型,包括一个特定领域的“director”,以及至少一个“actor”。工作流执行的时候,“director”控制数据在“actor”中的流动,按照定制好的流程,调度部署每个“actor”的迭代执行。,Kepler系统,在Kepler/PtolemyII系统中,定制好的科学工作流模型以XML文件形式存储,该XML文件满足MoML(Modelin
13、g Markup Language)XML模式要求。 MoML使用DTD(文档类型定义)定义。,Kepler系统,Contributors for Kepler,基于web的科学工作流系统,该系统拟提供给用户(具体领域研究人员)一个基于web的简单易用的工具,用于对数据密集型科学实验的全过程。该方案使用Web服务、SRB、FTP等多种方式获取研究所需要的科学数据,并通过实现在web浏览器上的VML/SVG可视化操作界面,定制满足需求的工作流实例,提交给后台Kepler/PtolemyII工作流引擎服务器,经过对所获取的数据调用科学数据专有的处理软件(包括NCL、Matlab、CDO等)进行分析
14、计算,最终得到所需要的可视化结果或是将结果数据反馈给用户。,基于工作流的科学数据分析平台,数据和模型的结合,结果,科研人员,基于web的科学工作流系统,体系架构图,数据资源层 完成对物理资源及分布式资源(大规模科学数据,如IPCC、NCAR等)的存取。 算法模型库 简单算法:加、减、乘、除等 复杂操作:统计、聚类分析等 高性能计算环境,基于web的科学工作流系统,工作流引擎及中间件层 提供一个稳定的工作流引擎 ,并支持资源、引擎、web等之间的通信。 使用Kepler: 管理actor的分类信息; 处理工作流实例的运行; 动态添加算法模型(actor)。,基于web的科学工作流系统,Web接口
15、层 提供给用户一个设计良好、方便易用的接口,以组装、查看、执行、管理工作流实例。 提供给用于一个一站式服务的web环境,从数据资源获取、结果数据反馈、用户信息管理、及其它服务。 使用Ajax等web技术开发。,基于web的科学工作流系统,基于web的科学工作流系统,对实验自动化流程提供了以下支持: 读写数据 rapid prototyping experiment computing systems 隐藏了资源之间整合的细节 管理一个实验的整个生命周期,Thanks!,9、静夜四无邻,荒居旧业贫。21.5.3121.5.31Monday, May 31, 2021 10、雨中黄叶树,灯下白头人
16、。17:29:2817:29:2817:295/31/2021 5:29:28 PM 11、以我独沈久,愧君相见频。21.5.3117:29:2817:29May-2131-May-21 12、故人江海别,几度隔山川。17:29:2817:29:2817:29Monday, May 31, 2021 13、乍见翻疑梦,相悲各问年。21.5.3121.5.3117:29:2817:29:28May 31, 2021 14、他乡生白发,旧国见青山。2021年5月31日星期一下午5时29分28秒17:29:2821.5.31 15、比不了得就不比,得不到的就不要。2021年5月下午5时29分21.5.3117:29May 31, 2021 16、行动出成果,工作出财富。2021年5月31日星期一5时29分28秒17:29:2831 May 2021 17、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。下午5时29分28秒下午5时29分17:29:2821.5.31 9、没有失败,只有暂时停止成功!。21.5.3121.5.31Monday, May 31, 2021 10