端到端的科学数据跨中心工作流分析框架

【www.zhangdahai.com--其他范文】

朱小杰,王华进,沈志宏*,郭学兵,董文

1.中国科学院计算机网络信息中心,北京 100083

2.中国科学院地理科学与资源研究所,北京 100101

当前,大数据驱动的科学研究新范式正在加速普及,相关重大成果层出不穷。如在数据密集型科研范式方面,基于2TB 蛋白质结构数据训练出的人工智能模型AlphaFold2[1]将蛋白质结构预测的准确性推升到可以实用的水平;
天文学家综合运用跨域或多信使的探测数据对宇宙现象进行更准确的分析[2-3]。又如,在融合科学(Convergence Science)[4]范式方面,针对人类社会共同面对的诸多重大问题(如健康、能源、环境污染等),亟需打破传统以学科分割为基本架构的科学研究边界,综合运用多学科领域的数据资源、分析工具,构建问题驱动的端到端数据分析框架。在上述科研新范式中,存在大量的对多学科/领域数据资源和分析流程进行协同分析的需求[5]。科学数据协同分析具备两个显著的特征:(1)需要对分布在不同的学科/领域数据中心的数据进行分析,分析流程横跨不同的数据中心;
(2)需要综合运用分布式大数据处理技术和领域专家常用的单机数据处理技术完成对大规模数据集的多样化分析。如在黄河流域生态保护研究[6]中,研究人员需要利用分布于若干沿黄机构的遥感、生态、气象、农业、经济数据资源及分析模型,构建综合性的数据专题及研究模型。现有主流的工作流数据分析框架,如大数据流水线系统Apache NiFi[7]、PiFlow[8],容器工作流系统Apache AirFlow[9]等,在解决科学数据协同分析问题时面临着以下技术挑战:

(1)跨中心异构算法模型工作流表示问题。科学数据分析普遍具备“对数据集进行多步骤流程化处理”的特征,跨中心工作流分析除具备上述特征外,还具有“处理流程涉及多学科跨领域算法模型”的特征。领域用户需将来自不同学科领域数据中心的算法模型、数据资源组装在一起,形成完整的数据处理、加工、分析工作流。不同学科领域在算法模型功能描述模式、输入输出接口、数据处理流程上有不同的惯用描述格式(即异构)。现有工作流表示方案主要有有向无循环图(Directed Acyclic Graph,DAG)和工作流描述语言(Workflow Description Language,WDL)[10-11]两种,但均面向同构工作流。其中,DAG 主要用于大数据处理作业调度,WDL用于容器调度,均无法直接用于异构算法模型工作流的表示。PiFlow[8]基于模型驱动思想提出的流水线模型描述语言,该描述语言具有模块化特征、层化描述能力和良好的扩展性,能够对不同学科领域的异构算法模型进行统一元数据描述和统一任务调度,但无法表达算法模型的跨数据中心调度信息。

(2)异构计算框架衔接问题。跨中心协同分析任务具有显著的计算框架异构特征。数据中心主要存在两类作业:大数据处理作业、人工智能(AI)训推作业。大数据处理作业用于进行数据的预处理和数据产品加工,而人工智能训推作业则消费经处理/加工后的数据。大数据处理阶段具有“数据量大但计算任务简单”的显著特征,如文本统计、多表Join,主要开销为数据IO 开销,适合采用数据并行计算模式——将计算任务分发到数据存储节点执行,以尽可能避免昂贵的IO 乃至网络传输开销。主流大数据处理框架MapReduce[12]即采用了这样的计算模型。AI 模型训推阶段具有“维度复杂且计算任务并发”的显著特征,如深度学习[13]模型中的仿射、卷积等矩阵运算,适合采用多线程高并发计算模型进行处理。由于高性能计算部件(如GPU)比较昂贵,AI模型训推作业多采用“在任务开始前,将输入数据缓存到计算节点”的中心化计算策略。显然工作流分析框架须能同时实现两类作业的调度和衔接,但两类作业在任务调度策略上存在结构性的矛盾。目前较为流行的容器工作流方案实际上采用了“中心化计算”模式,比较适用于人工智能训推作业,难以兼顾大数据处理作业的效率。

(3)跨中心作业调度问题。跨中心协同分析框架需要在“数据中心之间,数据中心内部节点之间”两级网络上进行任务调度。在数据中心内部,服务器之间一般通过高容量低延迟的局域网核心交换机(如10g/40g/100gbps 交换机)互联,数据分析作业调度一般基于数据本地化计算策略或服务器负载均衡策略实现。在数据中心之间,网络互联带宽普遍相较内网环境低一到两个数量级(如100mbps),大规模数据的跨中心传递时间开销将成为协同分析的性能瓶颈。因此,应尽可能在数据中心内部节点之间进行作业调度,以减少跨中心的数据传输,保障协同分析的效率。现有的大数据工作流分析框架的调度策略多面向内网环境,节点之间的网络传输开销较为一致,不适用于“跨中心-中心内部”这种两级网络的任务调度。

当前,学术界正在积极构建跨中心的科学数据共享基础设施。如:

(1)欧洲核子研究组织(CERN)主导构建的全球网格(WLCG)[14],联合了40 多个国家的170 个计算中心,为高能物理领域的研究者提供共享数据/计算资源。其中,Globus 框架[15]被用于为WLCG提供安全可靠的端到端数据传输服务。

(2)美国地球数据观测网络(DataONE)[16]、全球地球观测系统(GEOSS)[17]均是联邦化的数据网络,成员节点可以获取整个网络上的数据资源,并调用本地软件进行数据分析,但自身并不提供工作流分析服务。

(3)中国生态系统研究网络(CERN)[18]是一个由野外台站、学科数据中心组成的层次化数据共享网络,支撑对中国资源和生态环境方面重大问题的综合研究需求。

(4)欧洲国家发起了泛欧洲市场的云计划GAIA-X[19],致力于创建透明、包容、可互操作的云基础设施。

(5)GO FAIR[20]倡议提出构建数据/工具/服务的FAIR 化全球互联网络IFDS,目标是实现数据、算法和计算三者弹性透明路由。

上述基础设施主要致力于某一学科领域的数据资源跨中心共享和特定分析任务,但本身并不提供端到端的工作流数据分析服务。GAIA-X、GO FAIR虽提出了跨中心数据互操作的设想,但目前并没有提出可以实用的数据工作流分析框架。

本文面向科学数据跨中心工作流分析服务需求,对相关的技术挑战进行探讨和回应,并提出了一个端到端的科学数据跨中心工作流分析框架。该框架可实现数据、计算、模型的跨中心调度与整合,满足多学科跨领域融合分析需求,主要贡献有:

● 提出了跨中心异构工作流表示模型,可解决多学科跨领域跨中心算法模型的装配协作问题。

● 提出了跨框架数据透明传递机制,可实现大规模数据集在异构计算框架之间的高效传递。

● 提出了跨中心作业调度优化策略,可优化广域网环境下的数据资源跨中心迁移开销。

我们在国家生态科学数据中心“草地地上生物量跨台站在线处理与质量控制场景”对该框架进行了功能和性能验证。

科学数据跨中心工作流分析框架的整体架构如图1所示,主要包括跨工作流分析引擎和跨中心工作流调度引擎。工作流分析引擎部署在各个数据中心,供跨中心工作流调度引擎分配计算任务,执行多学科跨领域协同分析任务。跨中心工作流调度引擎接受各个数据中心节点注册请求,通过统一数据源连接框架构建逻辑统一、物理分散的科学数据资源池,采用科学工作流技术抽象分析模块,实现各类数据、算法、模型灵活编排、规划与调度。为保证数据安全,本框架通过服务调用方式将协同数据源、模型、算法、作业等元数据信息写入区块链账本,实现数据确权与可信存证。同时在作业执行过程中,将子任务相关信息通过账本进行存证,实现跨中心协同计算的流转溯源。

图1 科学数据跨中心工作流分析框架的技术架构Fig.1 The Architecture of the Workflow Framework for Crosscenter Scientific Data Analysis

本文给出如下术语定义:

定义1 协同网络:由数据中心节点构成的协同计算环境。

定义2 作业:端到端跨中心分析工作流。

定义3 组件:构成工作流的计算环节,包括数据、算法、模型和分析工具。

定义4 任务:属于同一作业的具有上下游依赖关系的组件集合。

定义5 标准化DataFrame:当某种数组数据类型提供了schema、limit、count、filter、slice 等数据操作方法时,我们称该数据类型为标准化DataFrame。

定义6 标准化算子: 输入输出数据格式均为标准化DataFrame 的数据处理组件、算法模型组件。

1.1 跨中心异构工作流表示模型

针对跨中心异构工作流的表示问题,我们在PiFlow 模型描述语言的基础上,增强了对跨中心工作流的描述能力,提出了面向科学数据跨中心异构工作流表示模型BigFlowDL,实现数据、模型算法、协同任务的标准化。

BigFlowDL 基于有向无环图模型,将科学数据工作流分析作业抽象为一系列具有数据处理能力的组件(Operator),数据在组件之间的流动方向(Path),以及其他基本信息(BasicInfo)。其中,组件作为拓扑图中的节点,数据在组件之间的流动方向及规则作为拓扑图中的有向边。

图2展示了BigFlowDL 描述的一个跨中心数据分析工作流。与传统工作流分析模型不同,跨中心异构工作流表示模型的组件Operator 包括两种类型:(1)跨域数据源;
(2)具有数据处理能力的算法、模型、分析工具。在协同计算场景下,两种类型的组件均由不同数据中心的科研人员进行注册。因此,跨中心异构工作流表示模型的组件Operator 应包含名称Name、唯一标识UUID(DOI/CSTR)、数据中心DataCenter、属性Properties、数据流入端口Inports 和数据流出端口Outports,数据处理逻辑函数Perform。如图3所示。

图2 BigFlowDL 描述的一个跨中心工作流Fig.2 A BigFlowDL Instance of Cross-center Workflow

图3 组件Operator 描述模型Fig.3 The Description Model for Operator

DataCenter 包括数据中心名称Name、唯一标识UUID、数据中心计算服务ComputeURL、处理器CPU、内存Memory、磁盘Disk 等信息;
Properties包含0 到多个Property,表示数据处理组件的多个属性;
Inports 包含1 到多个Inport,表示数据处理组件的多个输入端口;
Outports 包含1 到多个Outport,表示数据处理组件的多个输出端口。Perform 是组件功能的具体执行函数,通过对上下游数据抽象与封装,能统一表示大数据作业、人工智能训推作业。Path 模块是对工作流分析作业中数据流动方向的描述,表示数据在各个组件Operator 模块中的流动顺序。该模块包括源数据处理组件FromOperator、源数据处理组件FromOperator 的数据输出端口OperatorOutport、目标数据处理组件ToOperator,以及目标数据处理组件ToOperator 的数据输入端口OperatorInport。

1.2 跨框架数据透明传递机制

大数据处理作业、人工智能训推作业的共同之处是均需要对高维数据进行多步骤处理。针对这一特点,我们采用DataFrame(数据帧)作为内存数据模型,并在此基础上提出了跨框架标准化DataFrame传递协议。

如图4所示,在标准化DataFrame 传递协议下,数据需要首先被映射为逻辑结构为多维数组(Array)的DataFrame,才能被跨框架传递。DataFrame 具有很强的表示能力,可以表示0 ~n 维数据结构,能够覆盖绝大多数科学数据类型。如可以将孤立的数字表示为0 维的DataFrame,将1 维数组/序列表示为1 维DataFrame,将2 维数组/矩阵/表格表示为2 维DataFrame,将n 维数组表示为n 维DataFrame。DataFrame 很好地适应了跨中心工作流分析作业普遍具备的“高维数据多步骤处理”计算特征。

图4 基于标准化DataFrame 传递协议的跨框架数据透明传递机制Fig.4 The Standard DataFrame Protocol for Cross-Framework Transparent Data Transfer

选择DataFrame 作为内存数据模型的另一个原因是其应用较为广泛。主流的大数据处理系统(如Apache Spark[21]、Apache Flink[22])和流行的人工智能训推系统(如R[23]、Pandas[24]、PyTorch[25]、TensorFlow[26])上均采用了类似DataFrame 的内存数据结构。但每种框架下的DataFrame 在内存结构上具有显著的差异性,并不能互操作使用。通过跨框架标准化DataFrame 传递协议,一种计算框架的DataFrame 可以被透明地传递给另一种计算框架使用。如图5所示,Spark 的内置数据类型DataFrame可以借助跨框架DataFrame 传递协议传递给Pandas的DataFrame,Pandas 的DataFrame 可以进一步换为PyTorch 或TensorFlow 的内置数据类型Dataset。

图5 基于标准化DataFrame 传递协议的工作流Fig.5 Workflows based on the Standard DataFrame Protocol

在DataFrame 的标准化传递协议的基础上,我们可进一步制定统一的算子执行效率优化策略。如通过Apache Arrow 来实现对标准化DataFrame 的向量化运算,将同类算子合并执行以减少调度开销等。更进一步地,我们可针对性地优化跨框架的DataFrame 传递效率。例如:针对同节点的DataFrame 传递,采用进程间内存映射的方式实现免序列化传递;
针对跨节点的DataFrame 传递,提供多种DataFrame 序列化机制供算法模型的开发者选择。数据资源发布者在发布某种格式的数据时,须同时提供将该格式转换为标准化DataFrame 的数据标准化组件。

1.3 跨中心作业优化调度策略

科学数据跨中心工作流分析框架采用了一种启发式的跨中心数据迁移优化策略,实现面向复杂分析场景的数据资源和计算任务跨数据中心优化调度。

设定协同网络由五个数据中心节点组成,分别为DataCenter-A、DataCenter-B、DataCenter-C、Data-Center-D、DataCenter-E。其中DataCenter-A、Data-Center-B、DataCenter-C 分别注册了Data1、Data2、Data3 三个数据源,数据体量分别为Size1、Size2、Size3。该调度策略首先针对协同任务,按照是否会产生数据迁移行为为原则进行子任务划分。划分过程如图6所示:协同任务被划分为五个子任务,分别为Task1、Task2、Task3、Task4、Task5。设定协同网络中数据量阈值为Xmax,任务执行计划根据数据量差值大小进行合并优化。以Task3 为例,当上游数据量相差不大,即 | Size1 - Size2 | < Xmax,则认为Task1 和Task2 执行耗时相当,需动态规划Task3 执行节点,执行计划保持不变;
当上游数据量相差较大时,即 | Size1 - Size2 | ≧ Xmax,则Task1和Task2 执行耗时相差较大,根据移动计算不移动数据、必要移动数据时移动少量数据原则,Task3 与数据量大的任务进行合并优化,在保证传输少量数据的同时,还能减少跨任务的数据传输。

图6 任务划分策略Fig.6 The Task Partition Strategy

子任务是网络中的最小可调度单位,当子任务包含数据源组件时,则会被分发到数据源所在数据中心执行。当子任务不包含数据源组件,则需动态规划执行节点。Task1 包含Data1、Task2 包含Data2、Task4 包含Data3,而Data1、Data2、Data3 分别分布在DataCenter-A、DataCenter-B、DataCenter-C,故Task1 分发到DataCenter-A 执行,Task2 分发到Data-Center-B 执行,Task4 分发到DataCenter-C 执行。按照DAG 有向无环图自顶向下方式执行。Task2 与Task4 分别分发至DataCenter-B 和DataCenter-C并行执行,而后Task1 获取Task2 输出数据并在DataCenter-A 执行,具体任务执行见图7a。

Task5 则需动态规划网络中的执行节点:首先构建当前网络节点队列,初始化各数据中心节点当前任务Task5 所依赖上游任务产出数据分布。然后按照数据量大小进行排序,当数据量相同时,子任务优先调度到当前任务所包含的网络节点潜在开销较小,该类节点被优先调度。基于此给出最优节点排序方案。综合考虑节点计算资源因素,设置计算资源阈值Cmax,排除计算资源不满足条件节点,返回最优执行节点,具体见图7b。

图7 任务动态规划策略Fig.7 The Dynamic Task Planning Strategy

我们结合“草地地上生物量分析”场景,展示科学数据跨中心工作流分析框架在科研新范式实践中的支撑作用。本文以草地地上生物量数据为案例,通过使用跨中心工作流分析框架进行草地地上生物量数据的在线处理与质量控制融合分析,可以用自动化的手段分析处理草地地上生物量数据,有效地揭示草地不同物种随时间的变化规律,及时检测草地生物的异常变化,为草地生态系统的演变研究、合理利用和保护提供助力。

目前草地场景的研究面临以下问题:

(1)草地领域完整的数据处理研究的现状为研究人员手工获取数据并进行加工处理,缺乏自动化平台;

(2)草地领域的研究过程中需要用到多种不同的工具,如基于Excel 或Matlab、Python、Spark 计算,需要手工进行数据格式的转换衔接;

(3)草地数据由多个野外台站的数采设备进行采集,在各野外台站进行处理与质控后汇交至总中心进行进一步处理与融合分析,需要对跨中心的数据进行汇集整合,节点之间的网络传输开销较大。

针对上述问题,如图 8 所示,本文通过跨中心工作流分析框架完成了草地地上生物量协同分析流程。首先,构建跨中心异构工作流。针对草地地上生物量数据的在线处理与质量控制融合分析的处理流程,本文通过面向科学数据跨中心异构工作流表示模型BigFlowDL 进行统一的数据和流程建模。将草地生物量工作流分析作业抽象为一系列具有数据处理能力的组件Operator,具体如下:

图8 草地地上生物量协同分析流程Fig.8 The Cooperative Workflow for Aboveground Grass Biomass Analysis

组件1(分流):数据分别输出到不同下游节点;

组件2(字段检查):与标准规范的表头进行比对;

组件3(空值过滤):过滤名字为空的数据;

组件4(合流):不同上游节点的数据进行合并;

组件5(质控流程):一致性检查(物种名,拉丁名);

组件6(计算流程):逐样地逐年逐月分物种总干重统计,样方个数统计;

组件7(计算流程):分物种计算各样地逐月多年地上绿色部分总干重平均值、均方差,使用Scala语言实现;

组件8(质控流程):分物种计算各样地逐月多年地上绿色部分总干重平均值、均方差,发现3ơ 离群点(统计异常检验),Python 语言实现;

组件9(计算流程):逐个样地代码的逐年逐个月份数据,进行各年地上绿色部分总干重的统计求和(不分物种)计算。

组件10(统计流程):矮韭在羊草样地逐年8月份地上绿色部分总干重的变化。

组件11(结束):对结果数据进行检查,进行质控等数据处理。

数据在数据源及数据组件之间的流动方向,如国家生态科学数据中心-->内蒙古台站的流动方向,则通过Path 描述;
并通过BasicInfo 对工作流分析作业的其他基本信息进行描述,包括草地生物量工作流分析作业的名称Name、唯一标识UUID、作者Author 等信息。

其次,基于标准化DataFrame 实现跨框架数据透明传递。草地地上生物量数据的在线处理与质量控制融合分析的处理流程中,使用Scala 语言实现了地上绿色部分总干重平均组件,使用Python 语言实现了地上绿色部分总干重平均值、均方差的组件,但两种语言在底层实现上有显著的差异性,并不能互操作使用。为此,我们通过基于DataFrame、跨框架DataFrame 传递机制,即将总干重平均组件输出的基于Scala 语言的内存态DataFrame 序列化到磁盘上,并使用异构框架的数据解析器重新解析为基于Python 语言的内存态DataFrame 传输给总干重平均值、均方差的组件,从而实现了数据流在Apache Spark、Pandas 异构框架之间的高效透明传递。

最后,采用启发式策略优化跨中心的数据迁移开销。草地地上生物量数据的在线处理与质量控制融合分析的场景,涉及到国家生态科学数据中心、内蒙古台站、海北站三个节点的跨中心协同分析,为提升跨数据中心的协同分析效率,本文通过启发式策略,实现了该场景跨数据中心协同任务的高效编排与执行。

在实际部署中,内蒙古台站、海北站分别注册了内蒙古草地地上生物量数据源、海北草地地上生物量数据源,数据体量分别为5.7GB、5.6GB。以图8中最后三个子任务(即字段检查及之后的步骤)为例,分别为Task1:内蒙古数据源的字段检查->空值过滤、Task2:海北数据源的字段检查->空值过滤、Task3:两个数据源的合流->结束。Task1 的输出数据量为5.7GB,Task2 的输出数据量为0.5GB,在为Task3 动态规划执行节点时,根据移动计算不移动数据,必要移动数据时移动少量数据原则,Task3 与数据量较大的任务Task1 执行节点一致,在内蒙古台站上执行。

综上,如图9所示,我们基于跨中心工作流分析框架,构建了国家生态科学数据中心、内蒙古台站、海北站三个节点协同分析网络,实现了内蒙古站、海北站两个草地地上生物量数据的在线处理与质量控制融合分析。该分析案例综合调用了通用领域(组件1 ~组件4)、生态领域(组件5 ~组件9)、生物领域(组件10)的处理组件,验证了科学数据跨中心工作流分析框架的跨领域、跨中心分析的场景适配能力。

图9 草地地上生物量跨中心工作流分析界面Fig.9 The User Interface for Cross-center Workflow for Aboveground Grass Biomass Analysis

大数据驱动的数据密集型科研范式和重大问题驱动的融合科学范式对国家科学数据中心体系提出了新的服务能力需求——提供端到端的科学数据分析服务。本文为应对这一迫切需求和随之而来的技术挑战,提出了可对多学科跨领域科学数据进行跨中心工作流分析的软件框架。该框架:支持构建跨中心数据分析工作流,以应对不同学科领域算法模型之间的协作需求;
支持跨不同计算框架的数据资源透明传递,以支撑大数据处理流程和人工智能训推流程之间的高效衔接;
支持对跨中心作业进行两级作业优化调度,以减少跨中心的数据迁移量。我们在实际应用中验证了该框架的端到端科学数据工作流分析能力。未来,我们将密切结合科研范式变革,如AI4Science、“大数据+人工智能”范式,进一步丰富具体学科领域的人工智能算法组件(如AlphaFold2)、大模型即服务(MaaS)算子,为新型数据库(如TiDB)开发数据接入组件,并构建学科覆盖更为广泛、应用场景更为丰富的科学数据数据协同分析网络,充分发挥科学数据在国家科技创新中的基础性战略资源作用。

利益冲突声明

所有作者声明不存在利益冲突关系。

猜你喜欢数据处理数据中心组件酒泉云计算大数据中心机械研究与应用(2022年4期)2022-09-15无人机智能巡检在光伏电站组件诊断中的应用能源工程(2022年2期)2022-05-23认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*心理学报(2022年4期)2022-04-12ILWT-EEMD数据处理的ELM滚动轴承故障诊断水泵技术(2021年3期)2021-08-14浅析数据中心空调节能发展趋势建材发展导向(2021年7期)2021-07-16新型碎边剪刀盘组件重型机械(2020年2期)2020-07-24U盾外壳组件注塑模具设计装备制造技术(2019年12期)2019-12-25关于建立“格萨尔文献数据中心”的初步构想西藏艺术研究(2019年1期)2019-09-04基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用中国惯性技术学报(2015年1期)2015-12-19基于云计算的交通运输数据中心实现与应用中国交通信息化(2015年3期)2015-06-05

推荐访问:工作流 端到 框架

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0918/656287.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!