CN105677486B - 数据并行处理方法及系统 - Google Patents
数据并行处理方法及系统 Download PDFInfo
- Publication number
- CN105677486B CN105677486B CN201610012000.2A CN201610012000A CN105677486B CN 105677486 B CN105677486 B CN 105677486B CN 201610012000 A CN201610012000 A CN 201610012000A CN 105677486 B CN105677486 B CN 105677486B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- parallel processing
- main management
- management node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000007246 mechanism Effects 0.000 claims abstract description 27
- 238000009826 distribution Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 23
- 239000008280 blood Substances 0.000 claims description 19
- 210000004369 blood Anatomy 0.000 claims description 19
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 claims description 9
- 238000005192 partition Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 abstract description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Abstract
本发明提供的一种数据并行处理方法,包括如下步骤:步骤1,主管理节点接收数据并获取数据的关联关系;步骤2,主管理节点计算工作计算节点的可调配的GPU和GPU工作负载;步骤3,主管理节点划分数据并将已划分的数据分发到各个工作计算节点;步骤4,工作计算节点对接收到的数据进行并行处理并将处理的结果传输回主管理节点;步骤5,主管理节点将结果合并输出。本发明的有益效果如下:采用了主/从架构模式用于高性能大规模数据并行处理,根据DNA特征建模,将应用程序转化成的具体作业进行作业阶段划分,并根据划分结果,进行节点粒度级别的作业部署,采用线程并行优化机制,充分利用多计算核提高单节点内数据流并行任务的执行效率。
Description
技术领域
本发明属于计算机系统与高性能计算领域,具体涉及一种在众核处理器架构上的大规模数据高性能并行处理方法,它是一种高效能的处理密集型大数据并且能够提供辅助决策的有效方法。
背景技术
随着科学研究、电子商务、社交网络、移动通信等各行业领域无时不刻都会产生大量数据,这些数据的类型日益复杂,数量日趋庞大,处理规模从TB级别演变到PB级别,直到如今的EB级别,这对大数据处理的高效性、实时性提出了严峻的挑战。半导体工艺技术和体系结构不断发展,处理器功能、分布式存储技术、GPU 高速运算卡、微处理器结构、多核、众核设计技术也在不断创新。利用这些技术最大化并行处理能力是应对这一挑战的有效手段之一,也是E级计算重大挑战之一。
国内外学术界和工业界诸多学者和开发者做了很多卓有成效的工作,给出一系列的面向众核处理器的高性能大规模数据并行处理技术原理、框架模型和技术实现等。比如,Shahram等人在Shahram T,YongshengZ,Tong H,et al.A robust framework for real-time distributed processing of satellite data[J], Parallel DistributedComputing,2006,66(3):403-418(面向卫星数据处理的鲁棒性实时分布式框架)中,通过多台服务器冗余备份的方式构建系统架构模型,并实现处理卫星数据的分布式实时并行计算的框架,保障冗余数据库的可靠性和可操作性。虽然该框架在一定程度上保证了并行框架数据处理技术的稳定性,但是和大数据量的强重复性计算一样,需要不断读写磁盘,没有充分利用计算机系统的内存资源进行快速计算,而且未挂载GPU高速运算卡加速运算,故其计算性能远远未能达到最佳。Yi Cao等人在Yi Cao,et al.A parallel computingframework for large-scale air traffic flow optimization,IntelligentTransportation Systems,IEEE Transactions on,2012,13(4):1855-1864(大规模航空交通流优化并行计算框架)中提出并构建了一个并行计算框架,该框架分别通过利用TCP 和UDP协议在服务器端和客户端之间交互通信命令与数据,用来计算解决大规模的航空交通数据流的优化问题。但是,该并行计算框架明显地缺乏有效的容错保障机制,很难保证运行的可靠性和稳定性。Yizhuo Wang等人在Yizhuo W,Yang Z,et al.An adaptive andhierarchical task scheduling scheme for multi-core clusters[J],ParallelDistributed Computing,2014,40(10):611-627(一种面向多核集群的可适用性和层次调度模式)中,首先对任务初始化进行划分,在父子计算机节点分别设计全局调度器和局部调度器,并通过计算节点内部 work-stealing和计算节点间work-sharing相结合的方式,筛选victim节点动态调节计算节点间工作负载,以达到负载均衡。RanieriBaraglia等人在RanieriBaraglia,et al.A multi-criteria job scheduling framework for largecomputing farms,Journal of Computer and System Sciences,2013,79(2): 230-244(面向大规模集群的多标准工作调度框架)提出了一种多标准的工作调度框架,用于优化大规模的计算节点负载均衡,缓解“木桶效应”问题。以上学者对已有的并行计算框架做调度优化设计,但是仍然还缺乏系统化的方法指导和成熟的技术支持。
经检索,发现发明专利:名称“一种基于CPU核管理的分布式并行计算平台及方法”、专利(ZL)号“ZL21410079473”。该方法提出应用于电力系统仿真的分布式并行计算平台的构建策略,但是在该架构策略中只运用了多个单一的CPU核,也没有利用现今已经技术发展比较成熟的具有超算能力的GPU高速运算卡来加速计算,同时未构建完善良好的容错机制,一旦发生错误便无法很好地进行快速重配从而恢复计算能力。
总地来说,目前面向众核处理器的高性能大规模数据并行处理方法一方面缺乏对诸如GPU高速运算卡、高性能处理器等硬件强有力软件支撑;另一方面,还存在迭代计算过程中没有充分利用高内存快速计算的特性,需要不断读写磁盘、节点作业调度策略和数据分布不合理、容错机制差等问题,计算节点的并行度也有待进一步提升。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种在保证系统高容错性前提下,提高节点内部和节点间的并行度,从而提升了大规模数据的并行处理能力的数据并行处理方法及系统。
为解决上述技术问题,本发明提供的一种数据并行处理方法,包括如下步骤:
步骤1,主管理节点接收数据并获取数据的关联关系;
步骤2,主管理节点计算工作计算节点的可调配的GPU和GPU工作负载;
步骤3,主管理节点划分数据并将已划分的数据分发到各个工作计算节点;
步骤4,工作计算节点对接收到的数据进行并行处理并将处理的结果传输回主管理节点;
步骤5,主管理节点将结果合并输出。
优选地,主管理节点通过jdbcDNA接口接收数据。
优选地,步骤1中,主管理节点对数据进行最近邻关联数据集建模,获取数据源之间的关联属性。
优选地,步骤1中,主管理节点对数据进行最近邻关联数据集建模包括如下步骤:
步骤1.1,根据数据的分类和特征对数据进行维度划分;
步骤1.2,对数据的每个维度进行方差计算;
步骤1.3,以计算所得的最大方差值所对应的纬度为依据划分数据。
优选地,维度包括用户相似度、数据源位置、数据访存时间、数据类型、数据访问频度及内存依赖程度。
优选地,步骤2中,主管理节点通过基于父子节点双血缘机制计算工作计算节点的状态。
优选地,步骤2中,主管理节点通过基于父子节点双血缘机制计算工作计算节点的状态信息包括如下步骤:
步骤2.1,子血缘采集所在的工作计算节点的状态信息并将采集到的状态信息传输给父血缘;
步骤2.2,父血缘接收状态信息并根据状态信息对子血缘进行调配。
优选地,父血缘与子血缘之间采用异步更新机制。
优选地,步骤4中,各个工作计算节点将数据转化成的具体作业并进行分割,然后进行基于节点粒度的部署,启动执行调度器将作业分割为具体的任务进行并行处理。
一种数据并行处理系统,数据并行处理系统采用数据并行处理方法。
与现有技术相比,本发明的有益效果如下:
1)高并行性:本发明采用了主/从架构模式用于高性能大规模数据并行处理,根据DNA(Dataset of Nearest relAtionship,最近邻关联数据集)特征建模,将应用程序转化成的具体作业进行作业阶段(Stage)划分,并根据划分结果,进行节点粒度级别的作业部署,采用线程并行优化机制,在节点可支配资源范畴内,由ExecutorScheduler控制任务的执行,充分利用多计算核心提高单节点内数据流并行任务的执行效率。
2)资源异构性:考虑到CPU和GPU在计算处理中的计算能力和功能的差异性,通过PCI-e插槽连接CPU和多个GPU高速运算卡构建众核处理器计算节点(核组),每个包含芯片组的工作计算节点对应一个CG(CoreGroup,核组)编号,由一个管理核(CPU,即主核)和数量众多的计算核(GPU,即众核)组成,共同构成一个芯片组,一个节点确定为一个操作系统核心,更好地增强了数据计算处理能力。
3)高效性:在自定义的jdbcDNA采集数据后,本发明设计了按照所见关联性等级设计最近邻关联数据集,对数据数据源进行分类、数据集特征维度的划分(包括用户相似度、数据源位置、数据访存时间、数据类型、数据访问频度、内存依赖程度等),从数据关联关系方面,对数据集进行特征建模,实现对数据集的有效分类。这使得逻辑上相近的数据能够分布在一个计算节点中,在保持负载均衡的状态下,将DNA 的强关联数据集上的任务分配在同一节点,将有效减少数据在计算节点间的传递而花费的时间延迟和代价。
3)稳定性:本发明采用了一种双血缘机制构建,评估工作计算节点的可调配资源,同时在高规模数据并行处理的过程中,调节计算节点间的负载均衡问题;同时提出了Checkpoint机制,很好地保证了在并行处理的稳定性和可靠性。
4)可配置性:在计算节点中,采用了工作计算节点内部实行异构资源的细粒度调配,根据数据与任务的划分,以“软件定义”的方式,通过动态参数分配和调整任务所需的CPU与GPU的数量与配比,使得作业能够充分利用异构资源的特性,在保证作业快速处理的情况下,细粒度调配资源保证了过度使用异构资源而造成的资源浪费。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明 的其它特征目的和优点将会变得更明显。
图1为本发明数据并行处理方法流程图;
图2为本发明数据并行处理方法架构模型示意图;
图3为本发明数据并行处理方法主管理节点和从计算节点信息交互流程图图;
图4为本发明数据并行处理方法最近邻关联数据集流程示意图;
图5为本发明数据并行处理方法工作计算节点内部异构资源细粒度调度执行机制示意图。
具体实施方式
下面采用具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明数据并行处理方法的技术方案如下:
(1)面向众核处理器高性能数据处理的任务和数据划分
面向众核的大规模数据并行处理框架的核心理念是:通过利用先进发展较为成熟的半导体工艺技术、分布式计算机架构体系、GPU高速运算卡、众核设计等技术,通过网络将大量的成本相对较低的计算资源集中起来供用户处理,整合成一个强大计算能力的高性能系统,不断提高大数据的并行处理能力,进而减少数据处理的时间。本发明在现有的神威众核自主处理器的基础上,构建一个面向众核处理器的高性能大规模数据并行处理架构平台,用户通过提交作业和数据,通过相应的数据划分策略和调度算法将作业和数据进行划分,并分发到各个计算节点进行快速处理,从而得到用户所需的处理结果,处理过程对用户透明。
当前大部分的异构资源的分配策略以及独立运行的资源管理和调度框架考虑的资源为CPU和内存两种,并未充分考虑异构处理架构。将资源抽象为<CPU,GPU,内存>;其中,GPU具有数据存储和交换的高内存带宽、多线程的程序模型技术和超算的计算能力等特点,主核更多地承担流程和任务控制,而从核作为并行计算设备,可以提高计算性能和并行度。
从并行计算的任务和数据划分角度看,确保大量作业和数据成功运行在大规模集群系统的关键环节,首先就是具备良好的集群系统架构。在目前一些众核集群系统中,主流的架构方式有平行架构模式和主从架构模式,但是计算节点的计算性能还不是非常强,例如基于单一多核CPU的计算节点,没有采用GPU高速运算卡等,已经不能很好适用。
基于集群大规模数据处理的平台架构,研究管理节点调度管理计算节点的策略和算法。并行处理框架整体采用Master(主)/Slave(从)机制,Master管理节点为主控节点,负责监管各Worker(工作)节点的资源和运行状况,应用程序提交到Master节点,Master节点为应用程序创建驱动进程,负责弹性关联数据构建、节点资源分配、任务的划分和调度。针对所构建的神威众核集群系统架构特征,为每组节点指派Driver 节点,负责调度其他Worker节点,包括节点监控及父Lineage(血缘)的记录。
单个计算节点中存在一个芯片组,且每个芯片组上可能包含数量众多的主核与从核。特定于神威众核集群系统来说,在一个机柜中存在多个具有多CG(CoreGroup)核组的神威2U4P自主处理器计算节点。将并行处理框架中的节点确定为一个操作系统核心,即一个节点对应一个CG(CoreGroup,核组)编号,由1个管理核心(CPU)和64个计算核心(GPU)组成。这样的节点划分,充分利用高内存特性和GPU的超算能力,同时简化了节点内部任务的划分和调度。
(2)大数据并行处理的可靠性技术
由于节点故障导致对应节点上任务失效、数据集的丢失,同时延缓了作业处理速度,也在很大程度上影响了系统的整体可靠性。因此,通过容错技术和可靠性设计保证大数据并行处理的可靠性是非常重要的。采用父子Lineage技术对节点进行运行信息的监控,跟踪数据的进出数据量大小,资源的使用情况进行日志记录,并将子Lineage统计的信息汇总到父Lineage中,采用Checkpoint(检查点)机制的父子Lineage的监控信息更新,使得满足用户对并行处理数据的可控性,保证数据处理的稳定性以及正确性。
对节点进行分组管理,节点内构建的子Lineage维护节点任务所需DNA间关联关系。同时,为同一组节点构建父Lineage,来维护节点间的任务分配。针对节点上的异步更新采用Checkpoint机制,提高节点的容错能力,充分发挥神威自主处理器并行处理架构的特性,高效、可靠地实现节点内和节点间数据处理。
子Lineage的构建研究:通过记录节点内DNA上的关联关系,实现在节点内故障后,节点上任务所需的DNA的快速重配。
父Lineage的构建研究:在任务划分方面,通过记录每个节点上的根任务(首个创建的任务),并按照任务执行所需的DNA关联性的强弱来为节点划分任务,从而实现高效利用节点内DNA资源;在容错方面,首先记录节点内子Lineage,来实现在节点故障后,对节点的子Lineage的快速重建,其次,将节点内所发生的写更新操作记录并返回给Master节点,并在下层存储介质上执行采用Checkpoint操作,提高节点可靠性。
(3)数据源的节点分布优化
传统的面向众核处理器的大规模数据并行处理将数据和作业分别分派到不同的节点进行执行,然后合并处理结果。针对目前大多高性能大规模数据并行处理方法未对数据集进行节点分布优化的问题,研究提出一种最邻近关联数据集(DNA),将数据密集型数据统一集中地分配到一个节点中,从而避免在作业运行过程中作业所需数据不在节点中而必须从其他节点调配数据的问题,支持数据之间的关联关系的描述,为节点任务的确立和划分提供了参照,有效地提升了节点的数据处理效率,缩短作业的总体执行时间。针对DNA的特征,设计新型的两层内存数据结构(包括数据块列表、DNA上的关联列表),为内存中高效的并行数据处理提供支持。同时针对场景受限问题,自定义jdbcDNA通用数据采集接口来满足对通用数据库中数据采集的需求。
(4)细粒度的异构资源调配
本发明针对特定的神威自主处理器,充分利用GPU高速运算卡的超算能力,拟在构建大数据并行处理平台上设计异构资源调配机制,通过“软件定义”的方式,调配CPU 和GPU的配比,提高数据运算的并行度。计算节点中的CPU核调控作业的执行,分别用计算节点中的多个GPU进行执行作业,并将数据更加细粒度地计算。
根据DNA特征建模,将应用程序转化成的具体作业进行作业阶段(Stage)划分,并根据划分结果,进行节点粒度级别的作业部署,启动执行调度器(ExecutorScheduler);在节点内部DNA的强关联关系,将Stage划分为具体的任务,采用线程并行优化机制,在节点可支配资源范畴内,由ExecutorScheduler控制任务的执行,充分利用多计算核心提高单节点内数据流并行任务的执行效率。
如图1~图5所示,本发明数据并行处理方法,包括如下步骤:
步骤1、利用多个特定的神威众核自主处理器等,遵循Master/Slave架构模式,构建用于并行处理高性能大规模数据的众核集群计算机系统;
用于高性能大规模数据并行处理的众核集群系统,具体如下:
众核集群系统包括一个Master管理节点和多个数量众多计算核的Worker计算节点,所有节点在GigaNet、InfiniBand网络中进行信息的交互通信。
Master管理节点包括至少一台具有多CPU核的计算机服务器,统一启动系统管理中的各个服务,并接收集群系统客户端提交的作业,控制整个集群系统的运行。
Worker计算节点采用特定的神威众核自主处理器,每个包含芯片组的Worker计算节点对应一个CG(Core Group,核组)编号,由一个管理核(CPU,即主核)和数量众多的计算核(GPU,即众核)组成,共同构成一个芯片组(神威自主处理器包括1个CPU 芯片和64个GPU芯片),一个节点确定为一个操作系统核心,每个计算机节点安装Linux 操作系统,配置Linux SSH服务器使得服务器之间的登录不需要密码。调用第三方程序接口参与计算,并进行计算任务的调度管理和数据的分布式计算,第三方程序接口实现开发完成后预先存放在计算节点服务器中。
由于GPU具有数据存储和交换的高内存带宽、多线程的程序模型技术和超算的计算能力特点,因此考虑到CPU和GPU在计算处理中的计算能力和功能的差异性,管理核承担流程和任务控制,而计算核作为并行计算的部件,具有很高的计算性能和并行度,这样的节点划分简化了节点内部任务的划分与调度。
步骤2、Master管理节点通过自定义jdbcDNA接口获取数据流;自定义jdbcDNA 接口来满足对通用数据库中的数据采集的需求,克服数据采集的场景受限问题,同时解决大数据文件读取困难的问题,例如,在Windows操作系统中应用程序不可以提交超过 2GB的文件,而内存映射文件可支持高达16EB的数据量。具体如下:
自定义jdbcDNA接口可以实现一种基于多核环境的海量数据快速读取策略,从而来满足对通用数据库中的数据采集的需求,克服数据采集的场景受限问题,同时解决大数据文件读取困难的问题。
众核处理器环境下的数据划分的核心思想就是将给定的数据划分成n个长度相等的子数据域或采集任务域,将n个子数据域或采集任务域用n个线程并行,以充分利用多核硬件资源快速预处理数据。并行内存映射文件算法采用基于视图映射粒度的划分方式,即以64KB为粒度单位将所需要读取的文件划分为m块,n个线程每个线程分到m/n个 64KB大小的数据块进行读取并进行预处理。
海量数据的快速读取问题一般可以分为两大场景:场景1:在读取数据时,能够在程序执行之前,确定文件的数据量大小,如依次读取文件中的所有数据,运行过程中不会产生任务量的变化。此类问题适合采用静态负载均衡方式,将划分好的任务以固定的方式分配给各个执行线程,这样不但可以达到负载均衡,而且可以避免动态任务分配所带来的额外开销。场景2:访问文件时,如果在程序开始执行时,不能确定读取的数据量大小。如:查找文件中的某个字符串;随机地访问文件中的部分数据。若采用静态负载均衡的方式会导致负载不均衡。所以针对此类问题,并行内存映射算法采取动态负载均衡方式,将所有任务按轮询的方式逐个分配给各个处于空闲状态的处理器以达到负载的均衡。
步骤3、Master管理节点对数据特征进行最近邻关联数据集(Dataset of NearestrelAtionship,DNA)建模,计算数据源之间的关联性;
按照关联性等级设计最近邻关联数据集(Dataset of Nearest relAtionship,DNA),具体如下:
1)DNA特征建模:根据数据源的分类、数据集特征对数据进行维度划分(包括用户相似度、数据源位置、数据访存时间、数据类型、数据访问频度、内存依赖程度等),从数据关联关系方面,对数据集进行特征建模,实现对数据集的有效分类;
对数据集的每个维度的特征进行量化考核,并根据各个维度(即Split域)进行划分,统计每个维度上面的特征方差,挑选方差最大的维度作为第一个划分维度。数据划分方差最大,表明数据集合沿着这个维度分散地比较开,从这个方向上面对数据进行分割可以获得更好的分辨率,使得数据可以较明显地分散聚集在不同集合中,从而在后续任务数据划分中可以聚集在一个计算节点中,减少任务执行过程中数据过多地在节点间传输带来时间浪费。
2)DNA结构的设计方法:针对DNA的特征,设计新型的两层内存数据结构(包括数据块列表、DNA上的关联列表),为在计算机内存中高效的并行数据处理提供支持。
步骤4、基于父子双血缘(P-Lineage和C-Lineage)机制构建,评估Worker 计算节点的可调配资源和工作负载;
基于双Lineage机制构建,具体如下:
采用Master/Slave机制对节点进行分组管理,在父子节点构建父子Lineage,维护节点任务所需DNA间关联关系:
1)Master/Slave机制:针对神威自主处理器架构特征,为每组节点指派Driver 节点,负责调度其他节点(Worker),包括节点监控及父Lineage的记录;
2)子Lineage的构建:通过记录节点内DNA上的关联关系,实现在节点内故障后,节点上任务所需的DNA的快速重配;子Lineage采集所在计算节点的GPU空闲核数、CPU 核数、内存大小等信息,并定时将所收集信息发送给父Lineage;
3)父Lineage的构建:在任务划分方面,通过记录每个节点上的根任务(首个创建的任务)。父Lineage对分布式计算节点子Lineage的信息进行采集统计,并基于该信息调配资源和任务。
步骤5、划分作业和数据集,并分发到各个Worker计算节点;
划分作业和数据集,采用双层资源分配的方式,具体如下:
首先应用程序的驱动进程根据程序所申请的资源,结合节点的资源使用状况,进行粗粒度的节点分配;节点内部根据数据和任务的划分进行细粒度的资源调配,具体细化到单个计算核心;按照任务执行所需的DNA关联性的强弱来为节点划分任务。
根据DNA特征建模,将应用程序转化成的具体作业进行作业阶段(Stage)划分,并根据划分结果,进行节点粒度级别的作业部署,启动执行调度器 (ExecutorScheduler);利用节点内部DNA的强关联关系,将Stage划分为具体的任务,采用线程并行优化机制,在节点可支配资源范畴内,由ExecutorScheduler 控制任务的执行,充分利用多计算核心提高单节点内数据流并行任务的执行效率。
鉴于当前集群系统的节点定义,为了保证节点的处理性能是均衡的,分配策略选用轮叫调度算法,此外根据DNA特征建模的强弱关联关系,在保持负载均衡的状态下,将DNA的强关联数据集上的任务分配在同一节点,有效降低节点之间数据交互的代价。
步骤6、根据Worker计算节点的子Lineage,充分利用高内存特性,Worker计算节点内部实行异构资源的细粒度调配并执行任务;
Worker计算节点内部实行异构资源的细粒度调配,具体如下:
首先,将资源抽象为<CPU,GPU,内存>;其次,根据数据与任务的划分,以“软件定义”的方式,通过动态参数分配,适当调整任务所需的CPU与GPU的数量与配比,达到负载相对均衡;
步骤7、采用Checkpoint机制异步更新运行时节点间的监控信息,保证容错机制的实现。
Checkpoint机制异步更新运行时节点间的监控信息,具体如下:
记录节点内子Lineage,来实现在节点故障后,对节点的子Lineage的快速重建;将节点内所发生的写更新操作记录并返回给Master节点,并在下层存储介质上执行采用Checkpoint操作;Master节点和计算节点启动后保持长连接,利用父节点和子节点的communicator通信子进行交互,并互相“心跳”。当某个计算节点崩溃时,Master节点立即侦测到与之连接异常,然后尝试重新连接。重新连接失败,则表示注册节点僵死,Master节点确定某个计算节点发生异常,强制断开,转而连接其它计算节点。进入异常状态的计算节点被孤立,所有错误日志指向该节点,便于手工介入处理。
本发明还提供了一种采用数据并行处理方法的系统。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (8)
1.一种数据并行处理方法,其特征在于,包括如下步骤:
步骤1,主管理节点接收数据并获取数据的关联关系;
步骤2,主管理节点计算工作计算节点的可调配的GPU和GPU工作负载;
步骤3,主管理节点划分数据并将已划分的数据分发到各个工作计算节点;
步骤4,工作计算节点对接收到的数据进行并行处理并将处理的结果传输回主管理节点;
步骤5,主管理节点将结果合并输出;
步骤1中,主管理节点对数据进行最近邻关联数据集建模,获取数据源之间的关联关系;
步骤1中,主管理节点对数据进行最近邻关联数据集建模包括如下步骤:
步骤1.1,根据数据的分类和特征对数据进行维度划分;
步骤1.2,对数据的每个维度进行方差计算;
步骤1.3,以计算所得的最大方差值所对应的维度为依据划分数据。
2.根据权利要求1所述的数据并行处理方法,其特征在于,步骤1中,主管理节点通过jdbcDNA接口接收数据。
3.根据权利要求1所述的数据并行处理方法,其特征在于,维度包括用户相似度、数据源位置、数据访存时间、数据类型、数据访问频度及内存依赖程度。
4.根据权利要求1所述的数据并行处理方法,其特征在于,步骤2中,主管理节点通过基于父子节点双血缘机制计算工作计算节点的状态。
5.根据权利要求4所述的数据并行处理方法,其特征在于,步骤2中,主管理节点通过基于父子节点双血缘机制计算工作计算节点的状态信息包括如下步骤:
步骤2.1,子血缘采集所在的工作计算节点的状态信息并将采集到的状态信息传输给父血缘;
步骤2.2,父血缘接收状态信息并根据状态信息对子血缘进行调配。
6.根据权利要求5所述的数据并行处理方法,其特征在于,父血缘与子血缘之间采用异步更新机制。
7.根据权利要求1所述的数据并行处理方法,其特征在于,步骤4中,各个工作计算节点将数据转化成的具体作业并进行分割,然后进行基于节点粒度的部署,启动执行调度器将作业分割为具体的任务进行并行处理。
8.一种数据并行处理系统,其特征在于,数据并行处理系统采用权利要求1至7任意一项数据并行处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610012000.2A CN105677486B (zh) | 2016-01-08 | 2016-01-08 | 数据并行处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610012000.2A CN105677486B (zh) | 2016-01-08 | 2016-01-08 | 数据并行处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105677486A CN105677486A (zh) | 2016-06-15 |
CN105677486B true CN105677486B (zh) | 2019-03-22 |
Family
ID=56299616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610012000.2A Expired - Fee Related CN105677486B (zh) | 2016-01-08 | 2016-01-08 | 数据并行处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677486B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11237872B2 (en) * | 2017-05-23 | 2022-02-01 | Kla-Tencor Corporation | Semiconductor inspection and metrology systems for distributing job among the CPUs or GPUs based on logical image processing boundaries |
CN107451427A (zh) * | 2017-07-27 | 2017-12-08 | 江苏微锐超算科技有限公司 | 一种可重构基因比对的计算系统及加速平台 |
CN107888697B (zh) * | 2017-11-24 | 2020-07-14 | 北京航天自动控制研究所 | 一种负载均衡算法中的节点锁定方法 |
CN108241472B (zh) * | 2017-12-01 | 2021-03-12 | 北京大学 | 一种支持局部性表达函数的大数据处理方法和系统 |
CN110275771B (zh) * | 2018-03-15 | 2021-12-14 | 中国移动通信集团有限公司 | 一种业务处理方法、物联网计费基础设施系统及存储介质 |
CN110297625B (zh) * | 2018-03-22 | 2023-08-08 | 阿里巴巴集团控股有限公司 | 应用的处理方法及装置 |
CN108762915B (zh) * | 2018-04-19 | 2020-11-06 | 上海交通大学 | 一种在gpu内存中缓存rdf数据的方法 |
CN109189818B (zh) * | 2018-07-05 | 2022-06-14 | 四川省烟草公司成都市公司 | 一种增值服务环境下的烟草数据粒度划分的方法 |
CN109254846B (zh) * | 2018-08-01 | 2022-06-03 | 国电南瑞科技股份有限公司 | 基于两级调度的cpu与gpu协同计算的动态调度方法及系统 |
CN109144783B (zh) * | 2018-08-22 | 2020-08-18 | 南京壹进制信息科技有限公司 | 一种分布式海量非结构化数据备份方法及系统 |
CN109447251B (zh) * | 2018-09-28 | 2021-09-24 | 电子科技大学 | 一种具有新型内存模块的神经图灵机模型及其设置方法 |
CN111339371B (zh) * | 2018-12-18 | 2023-08-25 | 北京嘀嘀无限科技发展有限公司 | 一种数据处理方法及装置 |
CN109753134B (zh) * | 2018-12-24 | 2022-04-15 | 四川大学 | 一种基于全局解耦的gpu内部能耗控制系统及方法 |
CN111782348A (zh) * | 2019-04-04 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 应用程序的处理方法、装置、系统和计算机可读存储介质 |
CN110083488B (zh) * | 2019-04-21 | 2023-03-17 | 哈尔滨工业大学 | 一种面向gpgpu的细粒度低开销的容错系统 |
CN111190723A (zh) * | 2019-05-17 | 2020-05-22 | 延安大学 | 一种数据并行处理方法 |
CN110378581A (zh) * | 2019-07-03 | 2019-10-25 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 铁路客运站与客运列车应急状态设备设施配置方法及装置 |
CN110727615B (zh) * | 2019-10-11 | 2020-12-25 | 福建天晴数码有限公司 | 一种实现加速接口数据请求的方法及其系统 |
CN111143042A (zh) * | 2019-11-14 | 2020-05-12 | 武汉纺织大学 | 一种通过依赖性分析加速gpu的并行化方法及系统 |
CN111666152A (zh) * | 2020-05-18 | 2020-09-15 | 中国电子科技集团公司电子科学研究院 | 面向异构计算平台的任务调度方法、设备及存储介质 |
CN111708621B (zh) * | 2020-05-22 | 2024-03-29 | 伟恩测试技术(武汉)有限公司 | 一种基于多线程并行处理的Pattern文件的显示方法 |
CN111967475A (zh) * | 2020-06-28 | 2020-11-20 | 北京大学 | 一种基于遥感影像sift处理的软件硬件化方法 |
CN113886057A (zh) * | 2020-07-01 | 2022-01-04 | 西南科技大学 | 异构众核上基于剖析技术以及数据流信息的动态资源调度方法 |
CN111935727B (zh) * | 2020-07-10 | 2023-01-31 | 展讯半导体(成都)有限公司 | 通信异常处理方法、主节点、室内分布系统及存储介质 |
CN113421649B (zh) * | 2021-06-18 | 2022-10-28 | 中国海洋大学 | 心脏电生理模型的并行仿真方法及系统 |
CN114338274B (zh) * | 2021-12-30 | 2023-03-14 | 上海交通大学 | 一种异构工业现场总线融合方法及系统 |
CN114564309B (zh) * | 2022-03-01 | 2024-04-09 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 基于灵活配置实现性能提优的复杂算力系统并行处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN102662639A (zh) * | 2012-04-10 | 2012-09-12 | 南京航空航天大学 | 一种基于Mapreduce的多GPU协同计算方法 |
CN104598425A (zh) * | 2013-10-31 | 2015-05-06 | 中国石油天然气集团公司 | 一种通用多机并行计算方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019258A1 (en) * | 2007-07-09 | 2009-01-15 | Shi Justin Y | Fault tolerant self-optimizing multi-processor system and method thereof |
CN101819540B (zh) * | 2009-02-27 | 2013-03-20 | 国际商业机器公司 | 在集群中调度任务的方法和系统 |
-
2016
- 2016-01-08 CN CN201610012000.2A patent/CN105677486B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN102662639A (zh) * | 2012-04-10 | 2012-09-12 | 南京航空航天大学 | 一种基于Mapreduce的多GPU协同计算方法 |
CN104598425A (zh) * | 2013-10-31 | 2015-05-06 | 中国石油天然气集团公司 | 一种通用多机并行计算方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105677486A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677486B (zh) | 数据并行处理方法及系统 | |
Liu et al. | Adaptive asynchronous federated learning in resource-constrained edge computing | |
US10447806B1 (en) | Workload scheduling across heterogeneous resource environments | |
Jalaparti et al. | Network-aware scheduling for data-parallel jobs: Plan when you can | |
Xiong et al. | Intelligent management of virtualized resources for database systems in cloud environment | |
Zhang et al. | iMapReduce: A distributed computing framework for iterative computation | |
CN111263938A (zh) | 基于规则的自主数据库云服务框架 | |
CN109189589A (zh) | 一种分布式大数据计算引擎及架构方法 | |
Xu et al. | Adaptive task scheduling strategy based on dynamic workload adjustment for heterogeneous Hadoop clusters | |
CN108469988A (zh) | 一种基于异构Hadoop集群的任务调度方法 | |
CN108920153A (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
CN110502213A (zh) | 一种人工智能能力开发平台 | |
Ye et al. | vHadoop: A scalable Hadoop virtual cluster platform for MapReduce-based parallel machine learning with performance consideration | |
Lu et al. | Assessing MapReduce for internet computing: a comparison of Hadoop and BitDew-MapReduce | |
Malik et al. | Optimistic synchronization of parallel simulations in cloud computing environments | |
CN102420850B (zh) | 一种资源调度方法及系统 | |
Cafarella et al. | Dbos: A proposal for a data-centric operating system | |
Peng et al. | Towards comprehensive traffic forecasting in cloud computing: Design and application | |
Cui et al. | Shadows on the Cloud: An Energy-aware, Profit Maximizing Resilience Framework for Cloud Computing. | |
You et al. | Ursa: Scalable load and power management in cloud storage systems | |
Audibert et al. | tf. data service: A case for disaggregating ML input data processing | |
Perera et al. | Database scaling on Kubernetes | |
CN110647399A (zh) | 一种基于人工智能网络的高性能计算系统及方法 | |
US20230176859A1 (en) | Automated methods and systems for predicting behavior of a distributed application in response to a proposed change to the distributed application | |
US20230099001A1 (en) | Automated methods and systems for troubleshooting and optimizing performance of applications running in a distributed computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190322 |
|
CF01 | Termination of patent right due to non-payment of annual fee |