CN110347489B - 一种基于Spark的多中心数据协同计算的流处理方法 - Google Patents
一种基于Spark的多中心数据协同计算的流处理方法 Download PDFInfo
- Publication number
- CN110347489B CN110347489B CN201910629253.8A CN201910629253A CN110347489B CN 110347489 B CN110347489 B CN 110347489B CN 201910629253 A CN201910629253 A CN 201910629253A CN 110347489 B CN110347489 B CN 110347489B
- Authority
- CN
- China
- Prior art keywords
- task
- computing
- client
- resource
- thread
- 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.)
- Active
Links
Images
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于Spark的多中心数据协同计算的流处理方法,多个客户端生成和提交用户的计算任务请求给计算端,计算端解析请求,生成并执行计算指令;本发明对于多中心的数据计算的需求和操作的执行流处理计算,提高程序执行性能和资源分配效率;设置资源管理的日志和RESTFul,准确调控记录来自多中心的Spark请求任务所占用和需求的内存和线程资源;利用最大最小公平原则的策略,执行对流计算中每一步的资源分配;本发明解决了多中心数据协同计算的大批量的线程阻塞延迟问题,减少单个用户的等待时间,提升资源分配的灵活性和公平程度。
Description
技术领域
本发明属于流处理技术领域,尤其涉及一种基于Spark的多中心数据协同计算的流处理方法。
背景技术
流处理技术(Stream Processing)是一种计算机编程范式,也可以叫做数据流编程或者交互式编程,是一种让计算应用在有限的并行处理模式下获得更高效使用效率的技术。这一类型的技术应用可以在多种运算单元上存在,比如图形运算单元(GraphicProcessing Unit,GPU)或者可编程阵列门电路(Field-programmable Gate Arrays,FPGA),并且不显式的管理内存分配,同步和单元之间的交流。Spark streaming是Spark核心API的一个扩展,它对实时流式数据的处理具有可扩展性、高吞吐量、可容错性等特点。主要提供的接口为上下文创建StreamingContext,流开始start,流结束stop,缓存cache,Checkpointing等。
多中心数据协同计算是大数据背景下出现的应用场景,多方数据中心需要统筹数据资源以及数据处理的需求,以求为各个单体用户提供更易用和强大的数据处理平台资源。单个个体用户可以选择将自己的数据资源和多方的数据资源整合进行集中分析,同时可以选择多种运算需求,在多中心背景下进行并行计算。
现有的多中心协同分析平台大多为实质上的单中心,即将多方数据库缓存到同一处数据节点,再将多种分析需求逐个进行处理,实际上等价于将所有并发默认到一个流上进行,这种方式会导致大批量的线程阻塞延迟,每个批在队列中的等待时间增加,新加入用户的计算需求很难得到即时的反馈和满足,数据实时性也难以保持。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于Spark的多中心数据协同计算的流处理方法,本发明通过资源管理日志和Spark的流计算实现对多中心数据协同计算的流处理化,将流处理的资源分配优势和多中心化的异质化计算需求进行耦合,提高多中心协同计算的资源分配公平性和数据分析效率,降低计算队列任务等待时间。
本发明的目的是通过以下技术方案来实现的:一种基于Spark的多中心数据协同计算的流处理方法,该方法在多中心数据协同计算系统上实现,所述多中心数据协同计算系统包括若干客户端和一个计算端,所述客户端用于生成和提交用户的计算任务请求给计算端,所述计算端用于解析请求,生成并执行计算指令;该方法包括以下步骤:
(1)在客户端和计算端建立RESTFul服务,记计算任务队列为Q=[(ck,tk,ntk,nmk,Dk)],1≤k≤L,L为计算任务队列Q的长度,任意一个客户端ck向计算端发起一个新的计算任务请求tk,该请求包括计算的线程资源需求ntk、计算内存的需求nmk、对应此任务的待计算数据Dk;
(2)计算端解析客户端ck发送的计算任务请求,得到(ck,tk,ntk,nmk,Dk);
(3)计算端将(ck,tk,ntk,nmk,Dk)作为一个元素插入计算任务队列Q,之后发起Scheduling计算,在Scheduling计算中任务队列Q各个元素的计算需求取值按照客户端为单位的最大最小原则进行优化,更新每个元素的ntk和nmk;
(4)计算队列Q的长度len(Q)=L,以L为循环边界条件,用Spark.StreamingContext(Spark.StreamingContext为Spark框架下的流处理任务创建指令接口)创建L个流,并用Spark.Conf(Spark.Conf为Spark框架下的流处理任务配置指令接口)声明分配给各个流的资源;对于依次向Spark发起实际的流任务,载入数据Dk,对数据执行计算任务tk,分配的线程资源为ntk,内存资源为nmk;其中,如果Dk中存在中间结果和计算任务元数据,则直接从其对应的步骤开始计算任务。
流1:载入数据D1,对数据执行计算任务t1,分配的线程资源为nt1,内存资源为nm1;
流2:载入数据D2,对数据执行计算任务t2,分配的线程资源为nt2,内存资源为nm2;
…
流L:载入数据DL,对数据执行计算任务tL,分配的线程资源为ntL,内存资源为nmL;
(5)对于已经在流处理的任务(cl,tl,ntl,nml,Dl),利用StreamingContext.CheckPointing(StreamingContext.CheckPointing为Spark框架下的流处理任务数据持久化指令接口)在流处理过程中的数据读取至HDFS、数据预处理缓存、计算、返回这四个步骤中执行数据流持久化操作,保存中间结果和计算任务元数据至Dl;同时监听队列的更新状况,如果监听到队列更新,则利用StreamingContext.stop(StreamingContext.stop为Spark框架下的流处理任务中止指令接口)停止该流,返回步骤(4);如果完成了流处理过程中的计算任务,则向该流处理任务对应的客户端返回任务处理结果,并将任务从队列Q弹出。
进一步地,所述步骤(3)中,基于客户端的Scheduling计算流程如下:
(3.1)对于队列Q=[(ck,tk,ntk,nmk,Dk)],1≤k≤L,L为计算队列Q的长度,如果客户端存在多条记录,先按照客户端进行求和,得到以客户端为单位的新队列Lmid为Qmid长度,sj为每个客户端发起的任务总数,分别为客户端cj请求的线程资源总数和内存资源总数;
(3.2)对于线程资源,执行如下优化分配流程:
(3.2.4)将同一个客户端所分配到的线程资源平均分配给该客户端所对应的所有任务,对于同一cj对应任务Tj={tz|1≤z≤sj},其中为用户cj实际提交的一个任务tz所分配到的线程资源,为(3.2.2)得到的该用户分配到的所有线程资源,sj为用户cj发起的任务总数。
(3.3)对于内存资源,执行如下优化分配流程:
(3.3.4)将同一个客户端所分配到的内存资源平均分配给该客户端所对应的所有任务,对于同一cj对应任务Tj={tz|1≤z≤sj},其中为用户cj实际提交的一个任务tz所分配到的内存资源,为(3.2.2)得到的该用户分配到的所有内存资源,sj为用户cj发起的任务总数。
(3.4)从(3.2)和(3.3)中得到的[ntk]和[nmk],重新组成Q=[(ck,tk,ntk,nmk,Dk)]。
本发明的有益效果是:本发明对于多中心的数据计算的需求和操作的执行流处理计算,提高程序执行性能和资源分配效率;设置资源管理的日志和RESTFul,准确调控记录来自多中心的Spark请求任务所占用和需求的内存和线程资源;利用最大最小公平原则的策略,执行对流计算中每一步的资源分配;本发明解决了多中心数据协同计算的大批量的线程阻塞延迟问题,减少单个用户的等待时间,提升资源分配的灵活性和公平程度。
附图说明
图1为本发明中心协同计算流处理方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
如图1所示,本发明提供的一种基于Spark的多中心数据协同计算的流处理方法,该方法在多中心数据协同计算系统上实现,所述多中心数据协同计算系统包括若干客户端和一个计算端,所述客户端用于生成和提交用户的计算任务请求给计算端,所述计算端用于解析请求,生成并执行计算指令;该方法包括以下步骤:
(1)在客户端和计算端建立RESTFul服务,记计算任务队列为Q=[(ck,tk,ntk,nmk,Dk)],1≤k≤L,L为计算任务队列Q的长度,任意一个客户端ck向计算端发起一个新的计算任务请求tk,该请求包括计算的线程资源需求ntk、计算内存的需求nmk、对应此任务的待计算数据Dk;
(2)计算端解析客户端ck发送的计算任务请求,得到(ck,tk,ntk,nmk,Dk);
(3)计算端将(ck,tk,ntk,nmk,Dk)作为一个元素插入计算任务队列Q,之后发起Scheduling计算,在Scheduling计算中任务队列Q各个元素的计算需求取值按照客户端为单位的最大最小原则进行优化,更新每个元素的ntk和nmk;
(4)计算队列Q的长度len(Q)=L,以L为循环边界条件,用Spark.StreamingContext(Spark.StreamingContext为Spark框架下的流处理任务创建指令接口)创建L个流,并用Spark.Conf(Spark.Conf为Spark框架下的流处理任务配置指令接口)声明分配给各个流的资源;对于依次向Spark发起实际的流任务,载入数据Dk,对数据执行计算任务tk,分配的线程资源为ntk,内存资源为nmk;其中,如果Dk中存在中间结果和计算任务元数据,则直接从其对应的步骤开始计算任务。
流1:载入数据D1,对数据执行计算任务t1,分配的线程资源为nt1,内存资源为nm1;
流2:载入数据D2,对数据执行计算任务t2,分配的线程资源为nt2,内存资源为nm2;
…
流L:载入数据DL,对数据执行计算任务tL,分配的线程资源为ntL,内存资源为nmL;
(5)对于已经在流处理的任务(cl,tl,ntl,nml,Dl),利用StreamingContext.CheckPointing(StreamingContext.CheckPointing为Spark框架下的流处理任务数据持久化指令接口)在流处理过程中的数据读取至HDFS、数据预处理缓存、计算、返回这四个步骤中执行数据流持久化操作,保存中间结果和计算任务元数据至Dl;同时监听队列的更新状况,如果监听到队列更新,则利用StreamingContext.stop(StreamingContext.stop为Spark框架下的流处理任务中止指令接口)停止该流,返回步骤(4);如果完成了流处理过程中的计算任务,则向该流处理任务对应的客户端返回任务处理结果,并将任务从队列Q弹出。
进一步地,所述步骤(3)中,基于客户端的Scheduling计算流程如下:
(3.1)对于队列Q=[(ck,tk,ntk,nmk,Dk)],1≤k≤L,L为计算队列Q的长度,如果客户端存在多条记录,先按照客户端进行求和,得到以客户端为单位的新队列Lmid为Qmid长度,sj为每个客户端发起的任务总数,分别为客户端cj请求的线程资源总数和内存资源总数;
(3.2)对于线程资源,执行如下优化分配流程:
(3.2.4)将同一个客户端所分配到的线程资源平均分配给该客户端所对应的所有任务,对于同一cj对应任务Tj={tz|1≤z≤sj},其中为用户cj实际提交的一个任务tz所分配到的线程资源,为(3.2.2)得到的该用户分配到的所有线程资源,sj为用户cj发起的任务总数。
(3.3)对于内存资源,执行如下优化分配流程:
(3.3.4)将同一个客户端所分配到的内存资源平均分配给该客户端所对应的所有任务,对于同一cj对应任务Tj={tz|1≤z≤sj},其中为用户cj实际提交的一个任务tz所分配到的内存资源,为(3.2.2)得到的该用户分配到的所有内存资源,sj为用户cj发起的任务总数。
(3.4)从(3.2)和(3.3)中得到的[ntk]和[nmk],重新组成Q=[(ck,tk,ntk,nmk,Dk)]。
以下给出本发明基于Spark的多中心数据协同计算的流处理方法在多中心医学数据协同计算平台上应用的一个具体实例,该实例的实现具体包括以下步骤:
(1)在客户端(3家医院)和计算端(数据中心)建立RESTFul服务,记计算任务队列为
Q=[(“hospital1”,”task1”,8,4,”path1”),(″hospital2″,″task2″,8,8,″path2″),
(″hospital2″,″task3″,4,8,″path3″)],
L=3,第三家医院″hospital3″向计算端发起一个新的计算任务请求″task4″,该请求包括计算的线程资源需求16、计算内存的需求16、对应此任务的待计算数据″path4″;
(2)计算端解析客户端ci发送的计算任务请求,得到(“hospital3”,”task4”,16,16,”path4”);
(3)计算端将(“hospital3”,”task4”,16,16,”path4”)作为一个元素插入计算任务队列Q,
Q=[(“hospital1”,”task1”,8,4,”pathl”),(″hospital2″,″task2″,8,8,″path2″),
(″hospital2″,″task3″,4,8,″path3″),(″hospital3″,″task4″,16,16,″path4″)];
之后发起Scheduling计算,在Scheduling计算中任务队列Q各个元素的计算需求取值按照客户端为单位的最大最小原则进行优化,更新每个元素的ntk和nmk,队列Q取值变为:
Q=[(″hospital1″,″task1″,8,4,″path1″),(″hospital2″,″task2″,5,6.5,″path2″),
(″hospital2″,″task3″,6,6.5,″path3″),(″hospital3″,″task4″,13,15,″path4″)];
其中,Scheduling计算流程如下:
(3.1)对于队列
Q=[(“hospital1”,”task1”,8,4,”path1”),(″hospital2″,″task2″,8,8,″path2″),
(″hospital2″,″task3″,4,8,″path3″),(″hospital3″,″task4″,16,16,″path4″)]
L为计算队列Q的长度L=4,如果客户端″hospital2″存在多条记录,先按照客户端进行求和,得到
Qmid=[(″hospital1″,8,4,1),(″hospital2″,12,16,2),(″hospital1″,16,16,1)],
Lmid为Qmid长度Lmid=3;
(3.2)对于线程资源,执行如下优化分配流程:
(3.2.1)对于所有客户端的线程资源请求总数队列[8,12,16],按大小进行排序得到[8,12,16]和下标映射M=[1,2,3];记计算中心计算资源池的总线程资源为NT=32,则预给[8,12,16]的资源为[10,10,12];
(3.3)对于内存资源,执行如下优化分配流程:
(3.3.1)对于所有客户端的内存资源请求总数队列[4 16 16],按大小进行排序得到[4 16 16]和下标映射M=[1 2 3];记计算中心计算资源池的总内存资源为32,则预给[416 16]的资源为[10 10 12];
(3.4)从(3.2)和(3.3)中得到的[ntk]和[nmk],重新组成
Q=[(″hospital1″,″task1″,8,4,″path1″),(″hospital2″,″task2″,5,6.5,″path2″),
(″hospital2″,″task3″,6,6.5,″path3″),(″hospital3″,″task4″,13,15,″path4″)]
(4)计算队列Q的长度len(Q)=4,以4为循环边界条件,用Spark.StreamingContext(Spark.StreamingContext为Spark框架下的流处理任务创建指令接口)创建4个流,并用Spark.Conf(Spark.Conf为Spark框架下的流处理任务配置指令接口)声明分配给各个流的资源;对于依次向Spark发起实际的流任务,
流1:载入数据″path1″,对数据执行计算任务″task1″,分配的线程资源为9,内存资源为4;
流2:载入数据″path2″,对数据执行计算任务″task2″,分配的线程资源为9,内存资源为9;
流3:载入数据″path3″,对数据执行计算任务″task3″,分配的线程资源为4,内存资源为9;
流4:载入数据″path4″,对数据执行计算任务″task4″,分配的线程资源为10,内存资源为10;
其中,如果流1、流2、流3中检查存在中间结果和计算任务元数据,则直接从其对应的步骤开始计算任务。
(5)对于已经在流处理的任务
Q=[(″hospital1″,″task1″,8,4,″path1″),(″hospital2″,″task2″,5,6.5,″path2″),
(″hospital2″,″task3″,6,6.5,″path3″),(″hospital3″,″task4″,13,15,″path4″)]
利用StreamingContext.CheckPointing(StreamingContext.CheckPointing为Spark框架下的流处理任务数据持久化指令接口)在流处理过程中的数据读取至HDFS、数据预处理缓存、计算、返回这四个步骤中执行数据流持久化操作,保存中间结果和计算任务元数据至path1,path2,path3,path4;同时监听队列的更新状况,如果监听到队列更新,则利用StreamingContext.stop(StreamingContext.stop为Spark框架下的流处理任务中止指令接口)停止该流,返回步骤(4);如果完成了流处理过程中的计算任务,则向该流处理任务对应的客户端返回任务处理结果,并将任务从队列Q弹出。
以上仅为本发明的实施实例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,不经过创造性劳动所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (2)
1.一种基于Spark的多中心数据协同计算的流处理方法,其特征在于,该方法在多中心数据协同计算系统上实现,所述多中心数据协同计算系统包括若干客户端和一个计算端,所述客户端用于生成和提交用户的计算任务请求给计算端,所述计算端用于解析请求,生成并执行计算指令;该方法包括以下步骤:
(1)在客户端和计算端建立RESTFul服务,记计算任务队列为Q=[(ck,tk,ntk,nmk,Dk)],1≤k≤L,L为计算任务队列Q的长度,任意一个客户端ck向计算端发起一个新的计算任务请求tk,该请求包括计算的线程资源需求ntk、计算内存的需求nmk、对应此任务的待计算数据Dk;
(2)计算端解析客户端ck发送的计算任务请求,得到(ck,tk,ntk,nmk,Dk);
(3)计算端将(ck,tk,ntk,nmk,Dk)作为一个元素插入计算任务队列Q,之后发起Scheduling计算,在Scheduling计算中任务队列Q各个元素的计算需求取值按照客户端为单位的最大最小原则进行优化,更新每个元素的ntk和nmk;具体为对于所有客户端的线程资源请求总数队列并按大小进行排序,将总线程资源与请求总数的比值作为预给的线程资源,将排序后的队列中小于预给线程资源的线程资源,需要重新分配线程资源,最后将同一个客户端所分配到的线程资源平均分配给该客户端所对应的所有任务;对于所有客户端的内存资源请求总数队列并按大小进行排序,将总内存资源与请求总数的比值作为预给的内存资源,将排序后的队列中小于预给内存资源的内存资源,需要重新分配内存资源,最后将同一个客户端所分配到的内存资源平均分配给该客户端所对应的所有任务;
(4)计算队列Q的长度len(Q)=L,以L为循环边界条件,用Spark.StreamingContext创建L个流,并用Spark.Conf声明分配给各个流的资源;对于依次向Spark发起实际的流任务k,载入数据Dk,执行计算任务tk,分配其满足计算的线程资源需求ntk的线程数,分配满足计算内存的需求nmk;其中,如果Dk中存在中间结果和计算任务元数据,则直接从其对应的步骤开始计算任务;
(5)对于已经在流处理的任务(cl,tl,ntl,nml,Dl),利用StreamingContext.CheckPointing在流处理过程中的数据读取至HDFS、数据预处理缓存、计算、返回这四个步骤中执行数据流持久化操作,保存中间结果和计算任务元数据至Dl;同时监听队列的更新状况,如果监听到队列更新,则利用StreamingContext.stop停止该流,返回步骤(4);如果完成了流处理过程中的计算任务,则向该流处理任务对应的客户端返回任务处理结果,并将任务从队列Q弹出。
2.根据权利要求1所述的一种基于Spark的多中心数据协同计算的流处理方法,其特征在于,所述步骤(3)中,基于客户端的Scheduling计算流程如下:
(3.1)对于队列Q=[(ck,tk,ntk,nmk,Dk)],1≤k≤L,L为计算队列Q的长度,如果客户端存在多条记录,先按照客户端进行求和,得到以客户端为单位的新队列Lmid为Qmid长度,sj为每个客户端发起的任务总数,分别为客户端cj请求的线程资源总数和内存资源总数;
(3.2)对于线程资源,执行如下优化分配流程:
(3.2.4)将同一个客户端所分配到的线程资源平均分配给该客户端所对应的所有任务,对于同一cj对应任务Tj={tz|1≤z≤sj},其中为用户cj实际提交的一个任务tz所分配到的线程资源,为(3.2.2)得到的该用户分配到的所有线程资源,sj为用户cj发起的任务总数;
(3.3)对于内存资源,执行如下优化分配流程:
(3.3.4)将同一个客户端所分配到的内存资源平均分配给该客户端所对应的所有任务,对于同一cj对应任务Tj={tz|1≤z≤sj},其中为用户cj实际提交的一个任务tz所分配到的内存资源,为(3.2.2)得到的该用户分配到的所有内存资源,sj为用户cj发起的任务总数;
(3.4)从(3.2)和(3.3)中得到的[ntk]和[nmk],重新组成Q=[(ck,tk,ntk,nmk,Dk)]。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629253.8A CN110347489B (zh) | 2019-07-12 | 2019-07-12 | 一种基于Spark的多中心数据协同计算的流处理方法 |
JP2021533418A JP6990802B1 (ja) | 2019-07-12 | 2020-04-07 | Sparkに基づくマルチセンターのデータ協調コンピューティングのストリーム処理方法 |
PCT/CN2020/083593 WO2020233262A1 (zh) | 2019-07-12 | 2020-04-07 | 一种基于Spark的多中心数据协同计算的流处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629253.8A CN110347489B (zh) | 2019-07-12 | 2019-07-12 | 一种基于Spark的多中心数据协同计算的流处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347489A CN110347489A (zh) | 2019-10-18 |
CN110347489B true CN110347489B (zh) | 2021-08-03 |
Family
ID=68176115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910629253.8A Active CN110347489B (zh) | 2019-07-12 | 2019-07-12 | 一种基于Spark的多中心数据协同计算的流处理方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6990802B1 (zh) |
CN (1) | CN110347489B (zh) |
WO (1) | WO2020233262A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347489B (zh) * | 2019-07-12 | 2021-08-03 | 之江实验室 | 一种基于Spark的多中心数据协同计算的流处理方法 |
CN110955526B (zh) * | 2019-12-16 | 2022-10-21 | 湖南大学 | 一种用于在分布式异构环境下实现多gpu调度的方法和系统 |
CN115081936B (zh) * | 2022-07-21 | 2022-11-18 | 之江实验室 | 面向应急条件下多遥感卫星观测任务调度的方法和装置 |
CN115242877B (zh) * | 2022-09-21 | 2023-01-24 | 之江实验室 | 面向多K8s集群的Spark协同计算、作业方法及装置 |
US11954525B1 (en) | 2022-09-21 | 2024-04-09 | Zhejiang Lab | Method and apparatus of executing collaborative job for spark faced to multiple K8s clusters |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335376A (zh) * | 2014-06-23 | 2016-02-17 | 华为技术有限公司 | 一种流处理方法、装置及系统 |
WO2017106718A1 (en) * | 2015-12-17 | 2017-06-22 | Kersplody Corporation | Method and apparatus for execution of distrubuted workflow processes |
CN107193652A (zh) * | 2017-04-27 | 2017-09-22 | 华中科技大学 | 容器云环境中流数据处理系统的弹性资源调度方法及系统 |
CN107291843A (zh) * | 2017-06-01 | 2017-10-24 | 南京邮电大学 | 基于分布式计算平台的层次聚类改进方法 |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100542139C (zh) | 2006-12-31 | 2009-09-16 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
KR101638136B1 (ko) | 2015-05-14 | 2016-07-08 | 주식회사 티맥스 소프트 | 멀티 스레드 구조에서 작업 분배 시 스레드 간 락 경쟁을 최소화하는 방법 및 이를 사용한 장치 |
US10120721B2 (en) | 2015-08-28 | 2018-11-06 | Vmware, Inc. | Pluggable engine for application specific schedule control |
CN105930373A (zh) * | 2016-04-13 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种基于spark streaming的大数据流处理方法和系统 |
US10554577B2 (en) * | 2017-03-14 | 2020-02-04 | International Business Machines Corporation | Adaptive resource scheduling for data stream processing |
CN107870763A (zh) | 2017-11-27 | 2018-04-03 | 深圳市华成峰科技有限公司 | 用于创建海量数据实时分拣系统的方法及其装置 |
CN108037998B (zh) * | 2017-12-01 | 2019-05-24 | 北京工业大学 | 一种面向Spark Streaming平台的数据接收通道动态分配方法 |
CN109684078A (zh) * | 2018-12-05 | 2019-04-26 | 苏州思必驰信息科技有限公司 | 用于spark streaming的资源动态分配方法和系统 |
CN110347489B (zh) * | 2019-07-12 | 2021-08-03 | 之江实验室 | 一种基于Spark的多中心数据协同计算的流处理方法 |
-
2019
- 2019-07-12 CN CN201910629253.8A patent/CN110347489B/zh active Active
-
2020
- 2020-04-07 WO PCT/CN2020/083593 patent/WO2020233262A1/zh active Application Filing
- 2020-04-07 JP JP2021533418A patent/JP6990802B1/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335376A (zh) * | 2014-06-23 | 2016-02-17 | 华为技术有限公司 | 一种流处理方法、装置及系统 |
WO2017106718A1 (en) * | 2015-12-17 | 2017-06-22 | Kersplody Corporation | Method and apparatus for execution of distrubuted workflow processes |
CN107193652A (zh) * | 2017-04-27 | 2017-09-22 | 华中科技大学 | 容器云环境中流数据处理系统的弹性资源调度方法及系统 |
CN107291843A (zh) * | 2017-06-01 | 2017-10-24 | 南京邮电大学 | 基于分布式计算平台的层次聚类改进方法 |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020233262A1 (zh) | 2020-11-26 |
CN110347489A (zh) | 2019-10-18 |
JP2022508354A (ja) | 2022-01-19 |
JP6990802B1 (ja) | 2022-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347489B (zh) | 一种基于Spark的多中心数据协同计算的流处理方法 | |
US9665404B2 (en) | Optimization of map-reduce shuffle performance through shuffler I/O pipeline actions and planning | |
CN107888669B (zh) | 一种基于深度学习神经网络的大规模资源调度系统及方法 | |
CN103098014B (zh) | 存储系统 | |
US20050081208A1 (en) | Framework for pluggable schedulers | |
DE112010005705T5 (de) | Umplanen von Workload in einer hybriden Datenverarbeitungsumgebung | |
US20120005682A1 (en) | Holistic task scheduling for distributed computing | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN101359333A (zh) | 一种基于隐含狄利克雷分配模型的并行数据处理方法 | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
CN112463390A (zh) | 一种分布式任务调度方法、装置、终端设备及存储介质 | |
CN112306642B (zh) | 一种基于稳定匹配博弈理论的工作流调度方法 | |
US7454749B2 (en) | Scalable parallel processing on shared memory computers | |
CN110262896A (zh) | 一种面向Spark系统的数据处理加速方法 | |
CN108446165A (zh) | 一种云计算中的任务预取方法 | |
Lei et al. | Redoop: Supporting Recurring Queries in Hadoop. | |
Sweeney et al. | Early experience using amazon batch for scientific workflows | |
Zheng et al. | Conch: A cyclic mapreduce model for iterative applications | |
US9152451B2 (en) | Method of distributing processor loading between real-time processor threads | |
Lim et al. | Accelerating Model Training in Multi-cluster Environments with Consumer-grade GPUs | |
Gunasekaran et al. | Dynamic scheduling algorithm for reducing start time in Hadoop | |
Janardhanan et al. | Analysis and modeling of resource management overhead in Hadoop YARN Clusters | |
CN113806044B (zh) | 一种用于计算机视觉应用的异构平台任务瓶颈消除方法 | |
CN115686865B (zh) | 一种基于多场景应用的超算节点资源分配系统 | |
Singla et al. | Task Scheduling Algorithms for Grid Computing with Static Jobs: A Review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |