CN110427262B - 一种基因数据分析方法及异构调度平台 - Google Patents
一种基因数据分析方法及异构调度平台 Download PDFInfo
- Publication number
- CN110427262B CN110427262B CN201910918380.XA CN201910918380A CN110427262B CN 110427262 B CN110427262 B CN 110427262B CN 201910918380 A CN201910918380 A CN 201910918380A CN 110427262 B CN110427262 B CN 110427262B
- Authority
- CN
- China
- Prior art keywords
- task
- controller
- module
- gpu
- gene
- 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基因数据分析方法及异构调度平台,利用负载均衡通过控制器、GPU、FPGA和CPU之间的交互对待执行的任务进行流水线管理。具体为:读取待分析基因测序文件进行处理将得到的基因数据存入内存,控制器结合处理器的负载和运行状态,读取内存中的基因序列分配至当前处于空闲状态和/或负载未超负荷的处理器,执行多任务的计算分析并对计算结果进行校正和转化,将统计标准输出信息生成分析报告,完成数据分析。分析过程中实时监控负载均衡,若处理当前任务的负载紧张则提高计算资源加速处理;相应降低前置任务计算资源以减少输入;在单位时间内对分析解读多任务基因数据的效率得到了很大的提高。
Description
技术领域
本发明涉及生物信息技术领域,具体涉及一种基因数据分析方法及异构调度平台。
背景技术
随着基因检测技术不断提高和基因检测服务的持续推广。虽然,基因市场中的样本量正在逐年递增,但是,受限于基因检测所需的成本,基因检测的价格通常都比较高,这很大程度上影响了用户的选择并阻碍了产品推广。目前,基因检测的成本主要分为测序成本和分析成本。在测序仪完成测序之后,采用配套的基因数据分析软件对基因数据进行分析和解读。
具体进行基因数据分析解读的常规做法是:通过生信分析人员在中央处理器(Central processing unit,CPU)的服务器上采用命令行方式分析解读基因数据。但是,该流程比较繁琐,且计算效率低,对CPU和内存等的利用率也低,无法使单位时间内执行任务最大化,导致出现无法充分利用***资源的问题。更进一步的是,如果是多用户同时使用服务器,或者申请资源超过CPU本身的负载能力,也容易造成服务器崩溃的问题出现。
发明内容
有鉴于此,本发明实施例提供一种基因数据分析方法及异构调度平台,以解决目前生物信息分析人员在CPU的服务器上采用命令行方式分析解读数据,流程繁琐而且效率低,无法使得单位时间内执行任务最大化,无法充分利用***资源的问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明提供一种基因数据分析方法,适用于包括控制器和处理器的异构调度平台,所述处理器至少包括GPU、CPU和FPGA,所述方法包括:
所述控制器实时监控自身各个模块在执行基因数据分析过程中的负载均衡,若任一模块出现负载超负荷的情况,增加当前模块的计算资源,降低前置模块的计算资源;所述控制器各个模块执行基因数据分析的过程包括:
所述控制器中的读取模块从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务;
所述控制器中的算法加速模块实时检测所述GPU、CPU和FPGA的负载和运行状态,并获取所述GPU、FPGA和CPU的计算资源;
所述控制器中的算法加速模块根据实时检测到的所述GPU、CPU和FPGA的负载和运行状态,由所述任务队列的队首开始依次将所述待执行任务分配至当前处于空闲状态和/或负载未超负荷的处理器,所述控制器控制对应的处理器处理所述待执行任务;
所述控制器中的转化模块获取处理所述待执行任务的处理器输出的计算结果,对所述计算结果进行数据校准和格式转化,得到标准输出信息;
所述控制器中的输出模块统计所述标准输出信息,生成分析报告。
优选的,所述控制器控制对应处理器对所述待执行任务的过程包括:
所述控制器对所述待执行任务中携带的待分析基因测序文件进行处理,得到基因数据序列,并将所述基因数据序列存储于所述异构调度平台的内存数据库,所述待分析基因测序文件包括待分析基因测序片段和分析参数等;
在需要大规模计算的情况下,所述控制器读取所述内存数据库中存储的所述基因数据序列,将所述基因数据序列分配至所述处理器的待运行线程中,其中,所述GPU采用异构并行方式处理待运行线程,所述FPGA采用流水线化并行方式处理待运行线程。
优选的,所述控制器中的读取模块从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务之前,还包括:
所述控制器判断当前负载是否可接收新任务。
优选的,若所述GPU、CPU和FPGA的负载未超负荷和/或为空闲状态,所述控制器控制对应的处理器处理所述待执行任务,包括:
所述控制器读取内存数据库中存储的基因数据序列,将需要大规模计算的基因数据序列部分分配至所述GPU执行的N个待运行线程,将另一部分的基因数据序列分配至所述FPGA执行的M个待运行线程;另一部分分配给CPU;
其中,M和N的取值大于等于1,M和N的总数小于等于最佳负载所能运行的线程总数。
优选的,所述方法还包括:
在所述控制器控制对应的处理器处理所述待执行任务的过程中,若所述控制器实时检测到有处理器负载超负荷,增加负载超负荷的处理器的计算资源。
优选的,所述GPU采用异构并行方式处理待运行线程,包括:
所述GPU并行执行待运行线程,且针对每一所述待运行线程,所述GPU基于多核结构,对输入所述待运行线程中的输入队列执行多核并行分析处理,得到对应的输出结果,所述输入队列包括基因数据序列,所述基因数据序列中包括需高效并行执行数据处理的数据;
所述GPU将所述输出结果转换为标准输出文件输出。
优选的,所述FPGA采用流水线化并行方式处理待运行线程,包括:
所述FPGA并行执行待运行线程,且针对每一所述待运行线程,所述FPGA基于所述待运行线程中的n个运算子线程,依次将输入所述待运行线程的输入队列中的数据在所述n个运算子线程中进行并行处理,n的取值为大于1的正整数;
所述FPGA针对每一所述待运行线程,在输入所述待运行线程的输入队列中的数据全部处理后,输出处理结果。
本发明还提供一种异构调度平台,包括:控制器和处理器,所述处理器至少包括GPU、CPU和FPGA;
所述控制器包括读取模块、算法加速模块、转化模块和输出模块,所述控制器用于实时监控自身各个模块在执行基因数据分析过程中的负载均衡,若任一模块出现负载超负荷的情况,增加当前模块的计算资源,降低前置模块的计算资源;
其中,
所述读取模块,用于从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务;
所述算法加速模块,用于实时检测所述GPU、CPU和FPGA的负载和运行状态,并获取所述GPU、FPGA和CPU的计算资源,以及根据实时检测到的所述GPU、CPU和FPGA的负载和运行状态,由所述任务队列的队首开始依次将所述待执行任务分配至当前处于空闲状态和/或负载未超负荷的处理器,控制对应的处理器处理所述待执行任务;
所述转化模块,用于获取处理所述待执行任务的处理器输出的计算结果,对所述计算结果进行数据校准和格式转化,得到标准输出信息;
所述输出模块,用于统计所述标准输出信息,生成分析报告。
优选的,所述读取模块,还用于判断当前负载是否可接收新任务。
与现有技术相比,本发明提供的上述技术方案具有如下优点:
本发明实施例公开的一种基因数据分析方法及异构调度平台,利用负载均衡通过控制器、GPU、FPGA和CPU之间的交互对待执行的任务进行流水线管理。具体为:读取待分析基因测序文件进行处理将得到的基因数据存入内存,控制器结合处理器的负载和运行状态,读取内存中的基因序列分配至当前处于空闲状态和/或负载未超负荷的处理器,执行多任务的计算分析并对计算结果进行校正和转化,将统计标准输出信息生成分析报告,完成数据分析。分析过程中实时监控负载均衡,若处理当前任务的负载紧张则提高计算资源加速处理;相应降低前置任务计算资源以减少输入;在单位时间内对分析解读多任务基因数据的效率得到了很大的提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种异构调度平台的架构示意图;
图2为本发明实施例提供的一种基因数据分析方法的流程图;
图3为本发明实施例提供的一种控制器控制对应的处理器处理待执行任务的流程图;
图4为本发明实施例提供的一种控制器的工作原理图;
图5为本发明实施例提供的另一种基因数据分析方法的流程图;
图6为本发明实施例提供的一种若GPU、CPU和FPGA的负载未超负荷和/或为空闲状态,控制器控制对应的处理器处理待执行任务的流程图;
图7为本发明实施例提供的另一种基因数据分析方法的流程图;
图8为本发明实施例提供的一种GPU采用异构并行方式处理待运行线程的流程图;
图9为本发明实施例提供的一种GPU中一个待运行线程GPU worker高效并行执行数据处理的工作原理图;
图10为本发明实施例提供的一种FPGA采用流水线化并行方式处理待运行线程的流程图;
图11为本发明实施例提供的一种FPGA中一个待运行线程FPGA worker流水线并行执行数据处理的工作原理图;
图12为本发明实施例提供的一种异构调度平台的结构示意图。
具体实施方式
本发明提供了一种基因数据分析方法及异构调度平台,实现了通过控制器、图形处理器(Graphics Processing Unit,GPU)和现场可编程门阵列处理器(FieldProgrammable Gate Array,FPGA)协调CPU,对基因测试数据进行高效率的处理。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是对输入的文件提供流水线化的多线程调度方案,在保证高准确性的基础上,提高分析效率。如图1所示,为本发明实施例提供的一种基于FPGA和GPU芯片生物信息算法的异构调度平台的架构示意图。
该异构调度平台包括:控制器11和处理器。
处理器包括GPU12、FPGA13和CPU14。
其中,控制器11具备的功能为:能对投递的任务(需要分析的各种下机数据)进行任务管理,具体为:控制排队任务的运行、投递、暂停、查询、删除以及清空任务等。
对排队的任务,控制器11根据CPU12、FPGA13和GPU14的空闲情况,给排队的任务分配相应的处理器。
通过控制器11配合GPU 12和FPGA 13的异构计算,完成分析流程的监控、调度和日志的生成。充分利用控制器11的调度协调能力,完成多任务管理,最大限度发挥GPU 12、FPGA 13和CPU 14的计算能力,提高多样本的并行效率,让分析人员做最少的操作,更快的得到数据。进一步的,该控制器11能够进行智能任务投递管理、智能监控服务器负载和智能分配GPU12、FPGA13和CPU14等服务器的计算资源,减少分析人员的操作,减少中间环节的损耗。
其中,控制器11作为控制中心,负责任务调度和数据准备;GPU12和FPGA13作为运算中心,负责并行和流水线化计算。
为了便于理解,这里对控制器11、GPU12和FPGA13进行解释。
控制器11为整个异构协同CPU的计算提供平台支持,为任务提供调度架构。
GPU 12为GPU芯片,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。
GPU 12是专为执行复杂的数学和几何计算而设计的。GPU 12可以提供数十倍乃至于上百倍于CPU的性能,GPU 12通用计算方面的标准目前有OpenCL、CUDA和ATI STREAM。
FPGA 13为FPGA芯片,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
基于上述本发明实施例公开的异构调度平台,通过控制器读取待分析基因测序文件进行处理将得到的基因数据存入内存,控制器结合处理器的负载和运行状态,读取内存中的基因序列分配至当前处于空闲状态和/或负载未超负荷的处理器,执行多任务的计算分析并对计算结果进行校正和转化,将统计标准输出信息生成分析报告,完成数据分析。分析过程中实时监控负载均衡,若处理当前任务的负载紧张则提高计算资源加速处理;相应降低前置任务计算资源以减少输入;在单位时间内对分析解读多任务基因数据的效率得到了很大的提高。
结合上述本发明实施例公开的异构调度平台,如图2所示,为本发明实施例提供的一种基因数据分析方法的流程图,该方法包括以下步骤:
步骤S201:控制器实时监控自身各个模块在执行基因数据分析过程中的负载均衡,若任一模块出现负载超负荷的情况,增加当前模块的计算资源,降低前置模块的计算资源。
在执行S201的过程中,通过各个模块对基因数据进行分析的过程中,为了避免某一个模块在对基因数据进行分析时,出现负载超负荷的情况,需要通过控制器对各个运行中的模块进行监控,这样就能实时的了解每一个模块的运行情况,并对出现负载超负荷的模块,执行相应的操作缓解模块超负荷的情况。
例如:当某一个模块出现超负荷的情况了,需要增加该模块的计算资源,而没有出现超负荷的模块可以相应的增加一些计算资源,起到了有效分配计算资源,缓解模块超负荷的情况。
步骤S202:控制器中的读取模块从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务。
在执行步骤S202的过程中,控制器通过自身的读取模块,将任务队列中的待分析基因测序序列文件和任务参数等进行数据预处理处理,获得待执行的任务。
需要说明的是,具体的如何对数据进行预处理,可根据实际情况对数据进行处理。
步骤S203:控制器中的算法加速模块实时检测GPU、CPU和FPGA的负载和运行状态,并获取GPU、FPGA和CPU的计算资源。
在执行步骤S203的过程中,通过控制器自身的算法加速模块,能够实时的检测GPU、CPU和FPGA的负载的情况,判断是否存在负载超负荷的情况和运行状态是否异常,这样能够实时的检测,并根据情况做出改善的操作处理。
控制器自身的算法加速模块除了检测GPU、CPU和FPGA的负载之外,还能获取GPU、FPGA和CPU的计算资源,基于该计算资源,GPU、FPGA和CPU可对该计算资源进行计算处理。
步骤S204:控制器中的算法加速模块根据实时检测到的GPU、CPU和FPGA的负载和运行状态,由任务队列的队首开始依次将待执行任务分配至当前处于空闲状态和/或负载未超负荷的处理器,控制器控制对应的处理器处理待执行任务。
在执行步骤S204的过程中,根据算法加速模块实时检测到的GPU、CPU和FPGA的负载和运行状态,对应的将待执行任务分配至GPU、CPU和FPGA进行计算处理,然后输出相应的计算结果。
例如:CPU目前被算法加速模块实时检测到的负载未超负荷,并且运行状态良好,而GPU的负载呈现超负荷运行的状态,此时,控制器将更多的任务分配给GPU,而CUP此时不再添加待执行任务进行计算处理。
步骤S205:控制器中的转化模块获取处理待执行任务的处理器输出的计算结果,对计算结果进行数据校准和格式转化,得到标准输出信息。
在执行步骤S205的过程中,控制器中的转化模块用于对获取到数据进行校准和格式转化,目的将数据转化成具有预设格式的标准输出信息。
步骤S206:控制器中的输出模块统计标准输出信息,生成分析报告。
在执行步骤S206的过程中,控制器的输出模块获得标准信息,对获得标准信息进行统计,然后生成一份分析报告。该分析报告上清晰、明了的体现了各项基因数据。
根据上述本发明实施例公开的基因数据分析方法可知,利用负载均衡通过控制器、GPU、FPGA和CPU之间的交互对待执行的任务进行流水线管理。具体为:读取待分析基因测序文件进行处理将得到的基因数据存入内存,控制器结合处理器的负载和运行状态,读取内存中的基因序列分配至当前处于空闲状态和/或负载未超负荷的处理器,执行多任务的计算分析并对计算结果进行校正和转化,将统计标准输出信息生成分析报告,完成数据分析。分析过程中实时监控负载均衡,若处理当前任务的负载紧张则提高计算资源加速处理;相应降低前置任务计算资源以减少输入;在单位时间内对分析解读多任务基因数据的效率得到了很大的提高。
基于上述本发明实施例图2公开的基因数据分析方法,涉及到的控制器控制对应的处理器处理待执行任务的具体实现过程,如图3所示,主要包括:
步骤S301:控制器对待执行任务中携带的待分析基因测序文件进行处理,得到基因数据序列,并将基因数据序列存储于所述异构调度平台的内存数据库。
在步骤S301中,待分析基因测序文件包括待分析基因测序片段和分析参数等。
在执行步骤S301的过程中,控制器对获取的待分析基因测序文件进行序列化处理,得到对应的基因数据序列。其中,待分析基因测序文件通过序列化处理,得到的基因数据序列能够在异构调度平台中被便于读取。方便在异构调度平台中对基因数据序列进行相应的计算和操作。
例如:在C语言中,要对C语言中的程序进行相应格式的处理,否则进行编译后,不能输出对应的结果。因此,执行步骤S301通过序列化处理,将待分析基因测试文件处理成基因数据序列,将得到的基因数据序列在异构调度平台中进行存储,当需要该基因数据序列时直接在异构调度平台中进行调用。
需要说明的是,异构调度平台中包括但不限于控制器、GPU、FPGA和CPU。
步骤S302:在需要大规模计算的情况下,控制器读取内存数据库中存储的基因数据序列,将基因数据序列分配至处理器执行的待运行线程中。
在步骤S302中,线程指的是:是操作***能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程是独立调度和分派的基本单位。线程可以为操作***内核调度的内核线程,同一进程中的多条线程将共享该进程中的全部***资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),各自的寄存器环境(register context),各自的线程本地存储(thread-local storage)。
在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。
在需要大规模计算的情况下,执行步骤S302,可以采用三种不同的分配方式对所述基因数据序列进行分配。
第一种方式:控制器读取内存数据库中存储的基因数据序列,将基因数据序列全部分配至GPU执行的待运行线程。
第二种方式:控制器读取内存数据库中存储的基因数据序列,将基因数据序列全部分配至FPGA执行的待运行线程。
第三种方式:控制器读取内存数据库中存储的基因数据序列,将基因数据序列部分分配至GPU执行的N个待运行线程,将另一部分的基因数据序列分配至FPGA执行的M个待运行线程。
其中,M和N的取值大于等于1,M和N的总数小于等于最佳负载所能运行的线程总数。
在需要大规模计算的情况下,执行步骤S302,通过控制器对异构调度平台中的内存数据库存储的基因数据序列进行读取,并且将读取到的基因数据序列分配到GPU和FPGA执行的待运行线程中,以便于GPU和FPGA对待运行线程进行处理。
如图4所示的是,在异构调度平台中控制器的工作原理图。该控制器主要保障流水线化任务的并行执行,具备控制排队任务的运行、投递、暂停、查询、删除以及清空任务等功能。其中,任务投递时控制器由睡眠状态转为初始化状态,之后转为运行状态,持续执行任务,子模块负载调节;管理者终止任务执行时转为取消状态,终止当前任务队列的执行;当设定时间内无任务投递时,转为睡眠状态,减少***资源的消耗。
需要说明的是,根据基因数据序列的属性将基因数据序列分配到对应的GPU和FPGA中进行处理,提高了处理效率。
步骤S303:GPU采用异构并行方式处理N个待运行线程。
在执行步骤S303的过程中,GPU采用单指令多线程方式处理N个待运行线程。
需要说明的是,具体的GPU处理多少个待运行线程,根据实际需要处理的待运行线程为标准。
步骤S304:FPGA采用流水线化并行方式处理M个待运行线程。
在执行步骤S304的过程中,FPGA采用流水线化并行方式处理M个待运行线程。
需要说明的是,具体的FPGA处理多少个待运行线程,根据实际需要处理的待运行线程为标准。
需要说明的是,步骤S303和步骤S304为并行执行的步骤。
根据上述本发明实施例公开的基因数据分析方法可知,通过GPU采用异构并行方式处理N个待运行线程,FPGA采用流水线化并行方式处理M个待运行线程,使得在单位时间内对分析解读基因数据的效率得到了很大的提高。
基于上述本发明实施例图2公开的基因数据分析方法,如图5所示,为本发明实施例提供的另一种基因数据分析方法的流程图,主要包括:
步骤S501:控制器判断当前负载是否可接收新任务,若是,执行步骤S502,若否,执行步骤S503。
在执行步骤S501的过程中,控制器通过监控各个模块的负载均衡,根据监控的当前负载的情况,判断当前负载是否能继续接收新的待执行任务。
步骤S502:继续接收新任务。
在执行步骤S502的过程中,如果负载能没有超负荷,则该负载继续接收新的任务。
步骤S503:停止接收新任务。
在执行步骤S503的过程中,如果负载超负荷,则该负载停止接收新的任务,等待该负载没有超负荷时,继续接收新的任务。
根据上述本发明实施例公开的基因数据分析方法可知,通过控制器判断当前负载是否可接收新任务,如果负载未超负荷,则接收新任务,如果负载超负荷,则停止接收新的任务,实现了保护负载的功能。
基于上述本发明实施例图2公开的基因数据分析方法,涉及到的若GPU、CPU和FPGA的负载未超负荷和/或为空闲状态,控制器控制对应的处理器处理待执行任务的具体实现过程,如图6所示,主要包括:
步骤S601:控制器读取内存数据库中存储的基因数据序列,将基因数据序列分配至处理器对应的待运行线程。
在执行步骤S601的过程中,控制器读取内存数据库中存储的基因数据序列,然后将该基因数据序列分配至对应待运行线程的输入队列,其中,分配至对应待运行线程包括:GPU处理器中的待运行线程和FPGA处理器中的待运行线程。具体的,可以通过高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE),将基因数据序列分配至GPU处理器中的待运行线程和FPGA处理器中的待运行线程中。
需要说明的是,控制器读取内存数据库中存储的基因数据序列,在CPU、GPU和FPGA任一处理器中都能对该基因数据序列运行计算处理,在本方案中,为了提高计算处理的效率,根据CPU、GPU和FPGA的负载情况,当可支配线程较多时,则结合CPU、GPU和FPGA各自擅长的计算功能,对数据进行优先处理。
需要说明的是,包括但不限于PCIE将基因数据序列分配至GPU中的待运行线程和FPGA中的待运行线程中。
步骤S602:将需要大规模计算的基因数据序列部分分配至GPU执行的N个待运行线程。
在执行步骤S602的过程中,将输入队列中需高效并行执行数据处理的输入队列发送至GPU执行的待运行线程中,即GPU需要在待运行线程中对这些需要高效并行执行数据进行相应的计算处理,然后输出对应的结果。
需要说明的是,在许多的输入队列中,筛选出需要高效并行执行数据发送给GPU进行处理,提高了对数据计算处理的效率。
步骤S603: 将需要大规模计算的基因数据序列另一部分分配至FPGA执行的M个待运行线程。
在执行步骤S603的过程中,将输入队列中需流水线并行执行数据处理的输入队列发送至FPGA执行的待运行线程中,即FPGA需要在待运行线程中对这些需要流水线并行执行数据进行相应的计算处理,然后输出对应的结果。
步骤S604:将需要大规模计算的基因数据序列另一部分分配至CPU。
需要说明的是,在许多的输入队列中,筛选出需要流水线并行执行数据发送给FPGA进行处理,提高了对数据计算处理的效率。
根据上述本发明实施例公开的基因数据分析方法可知,控制器读取内存数据库中存储的基因数据序列分配至GPU、FPGA执行的待运行线程以及CPU,并且通过GPU和FPGA对高效并行执行数据和流水线并行执行数据进行处理,使得提高了对数据计算处理的效率。
基于上述本发明实施例公开的基因数据分析方法,如图7所示,为本发明实施例提供的另一种基因数据分析方法的流程图,主要包括:
步骤S701:控制器控制对应的处理器处理待执行任务的过程中,检测处理器是否存在负载超负荷,若是,执行步骤S702,若否,执行步骤S703。
在执行步骤S701的过程中,控制器对处理器中的运行线程负载进行监控,以便于了解运行线程负载的情况,对于线程负载情况分为两种情况:一种情况是,运行线程负载超过最佳负载,即不能在机器承受的范围内;另外一种情况是,运行线程负载在最佳负载的范围内,即机器可承受的范围内。
需要说明的是,最佳负载根据实际情况进行设定。上述控制器除了监控处理器的运行线程负载外,进一步的,包括但不限于利用I/O端口、MEM、CPU、GPU的利用率调节负载均衡。
步骤S702: 增加负载超负荷的处理器的计算资源。
在执行步骤S702的过程中,若控制器监控到运行线程负载超过最佳负载时,通过控制处理器中运行的部分线程暂停处理,从而使得当前运行线程负载不超过最佳负载,即使得机器能够在所能承受的范围内继续运作,很大程度上减缓机器工作的寿命。
例如:当I/O端口过重时减少数据的输入,调节输入和计算的速度平衡。需要说明的是,若运行线程负载超过最佳负载时,只是暂停处理器中部分运行的线程,另外一部分线程继续运行。
需要说明的是,若运行线程负载超过最佳负载时,可根据线程运行的先后顺序,暂停部分运行的线程。
步骤S703:保持当前处理器负载的计算资源。
根据上述上述本发明实施例公开的基因数据分析方法可知,通过控制器对处理器中的运行线程负载进行监控,判断运行线程负载是否超过最佳负载,若超过最佳负载,则暂停部分运行的线程,使得很大程度上减缓机器工作的寿命;若未超过最佳负载,则将读取到的内存数据库中存储的基因数据序列分配到各处理器中,使得加快了对内存数据库中存储的基因数据序列的处理,整体处理的效率上得到了明显得提高。
基于上述本发明实施例涉及到的,GPU采用异构并行方式处理待运行线程的具体实现过程,如图8所示,主要包括:
步骤S801:GPU并行执行N个待运行线程,且针对每一待运行线程,GPU基于多核结构,对输入待运行线程中的输入队列执行多核并行分析处理,得到对应的输出结果。
在步骤S801中,多核结构指的是,该GPU中集成两个或多个完整的计算核心,其中的两个或多个完整的计算核心能单独运行且不相干扰的对数据进行计算处理。
在执行步骤S801的过程中,GPU通过并行的方式对N个待运行线程执行处理。针对每一个待运行线程,基于GPU的多核结构,对输入GPU待运行线程中的输入队列进行处理,然后输出对应的结果。其中,输入队列包括基因数据序列,该基因数据序列中包括需高效运行并行执行数据处理的数据。
需要说明的是,GPU计算完成的数据会在内存数据库中进行存储。对于GPU中的N个待运行线程,每个待运行线程对应处理一个任务。
如图9所示的为GPU中一个待运行线程GPU worker高效并行执行数据处理的工作原理图。
具体的工作原理为:在待运行线程GPU worker中将一数据输入队列(FIFO)发送到多个CUDA进行并行执行数据处理,将处理的结果以数据输出队列(FIFO)的形式输出。
具体的,通过CUDA(Compute Unified Device Architecture,统一计算设备架构)对输入GPU处理器待运行线程中的输入队列进行计算处理,其中,CUDA是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。由于GUP处理的多核结构,对高效率处理N个待运行线程提供了重要的保障。
需要说明的是,GPU处理器不同,多核结构也不相同,例如:在手机CPU处理器中,有四核的CPU处理器,有八核的CPU处理器,还有十核处理器,更早的还有单核和双核CPU处理器。
步骤S802:GPU将输出结果转换为标准输出文件输出。
在执行步骤S802的过程中,GPU处理器将处理待运行线程中输入队列的输出结果转换成标准输出文件输出,即在GPU处理器中,除了要对输入GPU处理器待运行线程中的输入队列进行计算处理,还需要将对输入GPU处理器待运行线程中的输入队列进行计算处理的输出结果,转换成标准输出文件进行输出。
需要说明的是,转换成标准输出文件进行输出,更加直观的在计算机上对用户进行展示。
根据上述本发明实施例公开的基因数据分析方法可知,由于GUP的多核结构,对高效率处理N个待运行线程提供了重要的保障。
基于上述本发明实施例公开的基因数据分析方法涉及到的,FPGA采用流水线化并行方式处理待运行线程的具体实现过程,如图10所示,主要包括:
步骤S1001:FPGA并行执行待运行线程,且针对每一待运行线程,FPGA基于待运行线程中的n个运算子线程,依次将输入待运行线程的输入队列中的数据在n个运算子线程中进行并行处理。
在执行步骤S1001的过程中,FPGA处理器并行执行M个待运行线程,且针对每一待运行线程,FPGA处理器基于待运行线程中的n个运算子线程,即每一个待运行线程中包括n个运算子线程,依次将输入待运行线程的输入队列中的数据在n个运算子线程中进行并行处理,提高了对数据处理的效率。
如图11所示,为上述FPGA中一个待运行线程FPGA worker流水线并行执行数据处理的工作原理图。
如图11中所示,data6和data7表示排队中的数据,data1至data5表示依次的输入数据,对输入的数据进行流水线并行执行数据处理,data0表示流水线并行执行数据处理完后输出的数据。
基于图11,具体的工作原理为:FPGA worker 将Pipeline中适合流水线计算的几个部分模块化,具体FPGA Worker被划分为六个模块,图7中data6和data7表示排队中的数据,data1至data5表示依次的输入数据,在六个模块中,对data1至data5依次向右进行运算,斜对角线的数据在同一时间进行计算,完成流水线工作,data0表示完成流水线模块后的输出数据。将data6和data7做为输入数据输入对应模块进行流水线处理,得到完成流水线模块后对应的输出数据data8,其中,data0和data8为输出队列中的数据。
需要说明的是,不同的FPGA处理器的待运行线程中运算子线程的数量不同。FPGA处理器计算完成的数据会在内存数据库中进行存储。对于FPGA处理器中的M个待运行线程,每个待运行线程对应处理一个任务,即FPGA处理器有M个处理器节点,FPGA处理器节点可流水线化的依次运行每个计算模块。
步骤S1002:FPGA针对每一待运行线程,在输入待运行线程的输入队列中的数据全部处理后,输出处理结果。
根据上述本发明实施例公开的基因数据分析方法可知,对FPGA处理器的待运行线程中包含多个运算子线程,通过多个运算子线程对数据进行处理,提高了对数据处理的效率。
与上述方法实施例相对应,本发明实施例还提供一种异构调度平台的结构示意图,如图12所示,包括:控制器1201、GPU1202、FPGA1203和CPU1204。
控制器1201,用于实时监控自身各个模块在执行基因数据分析过程中的负载均衡,若任一模块出现负载超负荷的情况,增加当前模块的计算资源,降低前置模块的计算资源。
进一步的,控制器1201包括:读取模块、算法加速模块、转化模块和输出模块。
读取模块,用于从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务。
算法加速模块,用于实时检测GPU1202、CPU1204和FPGA1203的负载和运行状态,并获取GPU1202、FPGA1203和CPU1204的计算资源,以及根据实时检测到的GPU1202、CPU1204和FPGA1203的负载和运行状态,由任务队列的队首开始依次将待执行任务分配至当前处于空闲状态和/或负载未超负荷的处理器,控制对应的处理器处理待执行任务。
转化模块,用于获取处理待执行任务的处理器输出的计算结果,对计算结果进行数据校准和格式转化,得到标准输出信息。
输出模块,用于统计所述标准输出信息,生成分析报告。
进一步的,算法加速模块,还用于控制器1201控制对应的处理器处理待执行任务的过程中,若控制器1201实时检测到有处理器负载超负荷,增加负载超负荷的处理器的计算资源。
进一步的,读取模块,还用于判断当前负载是否可接收新任务。
GPU1202,用于采用异构并行方式处理N个线程。
进一步的,GPU1202具体用于:并行执行N个待运行线程,且针对每一待运行线程,基于多核结构,对输入待运行线程中的输入队列执行多核并行分析处理,得到对应的输出结果,将输出结果转换为标准输出文件输出,输入队列包括基因数据序列,基因数据序列中包括需高效并行执行数据处理的数据。
FPGA1203,用于采用流水线化并行方式处理M个线程。
进一步的,FPGA1203具体用于:并行执行M个待运行线程,且针对每一待运行线程,基于待运行线程中的n个运算子线程,依次将输入待运行线程的输入队列中的数据在n个运算子线程中进行并行处理,在输入待运行线程的输入队列中的数据全部处理后,输出处理结果。
CPU处理器1204,用于协调GPU处理器1202和FPGA处理器1203对数据的处理。
根据上述本发明实施例公开的基因数据分析方法可知,通过控制器、GPU、FPGA和CPU之间的交互对待执行的任务进行流水线管理。具体为:读取待分析基因测序文件进行处理将得到的基因数据存入内存,控制器结合处理器的负载和运行状态,读取内存中的基因序列分配至当前处于空闲状态和/或负载未超负荷的处理器,执行多任务的计算分析并对计算结果进行校正和转化,将统计标准输出信息生成分析报告,完成数据分析。分析过程中实时监控负载均衡,若处理当前任务的负载紧张则提高计算资源加速处理;相应降低前置任务计算资源以减少输入;在单位时间内对分析解读多任务基因数据的效率得到了很大的提高。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基因数据分析方法,其特征在于,适用于包括控制器和处理器的异构调度平台,所述处理器至少包括GPU、CPU和FPGA,所述方法包括:
所述控制器实时监控自身各个模块在执行基因数据分析过程中的负载均衡,若任一模块出现负载超负荷的情况,增加当前模块的计算资源,降低前置模块的计算资源;所述控制器各个模块执行基因数据分析的过程包括:
所述控制器中的读取模块从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务;
所述控制器中的算法加速模块实时检测所述GPU、CPU和FPGA的负载和运行状态,并获取所述GPU、FPGA和CPU的计算资源;
所述控制器中的算法加速模块根据实时检测到的所述GPU、CPU和FPGA的负载和运行状态,由所述任务队列的队首开始依次将所述待执行任务分配至当前处于空闲状态和/或负载未超负荷的处理器,所述控制器控制对应的处理器处理所述待执行任务;在所述控制器控制对应的处理器处理所述待执行任务的过程中,若所述控制器实时检测到有处理器负载超负荷,增加负载超负荷的处理器的计算资源;
所述控制器中的转化模块获取处理所述待执行任务的处理器输出的计算结果,对所述计算结果进行数据校准和格式转化,得到标准输出信息;
所述控制器中的输出模块统计所述标准输出信息,生成分析报告。
2.根据权利要求1所述的方法,其特征在于,所述控制器控制对应处理器对所述待执行任务的过程包括:
所述控制器对所述待执行任务中携带的待分析基因测序文件进行处理,得到基因数据序列,并将所述基因数据序列存储于所述异构调度平台的内存数据库,所述待分析基因测序文件包括待分析基因测序片段和分析参数;
在需要大规模计算的情况下,所述控制器读取所述内存数据库中存储的所述基因数据序列,将所述基因数据序列分配至所述处理器的待运行线程中,其中,所述GPU采用异构并行方式处理待运行线程,所述FPGA采用流水线化并行方式处理待运行线程。
3.根据权利要求1所述的方法,其特征在于,所述控制器中的读取模块从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务之前,还包括:
所述控制器判断当前负载是否可接收新任务。
4.根据权利要求1所述的方法,在其特征在于,若所述GPU、CPU和FPGA的负载未超负荷和/或为空闲状态,所述控制器控制对应的处理器处理所述待执行任务,包括:
所述控制器读取内存数据库中存储的基因数据序列,将需要大规模计算的基因数据序列部分分配至所述GPU执行的N个待运行线程,将另一部分的基因数据序列分配至所述FPGA执行的M个待运行线程;另一部分分配给CPU;
其中,M和N的取值大于等于1,M和N的总数小于等于最佳负载所能运行的线程总数。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述GPU采用异构并行方式处理待运行线程,包括:
所述GPU并行执行待运行线程,且针对每一所述待运行线程,所述GPU基于多核结构,对输入所述待运行线程中的输入队列执行多核并行分析处理,得到对应的输出结果,所述输入队列包括基因数据序列,所述基因数据序列中包括需高效并行执行数据处理的数据;
所述GPU将所述输出结果转换为标准输出文件输出。
6.根据权利要求2-4中任一项所述的方法,其特征在于,所述FPGA采用流水线化并行方式处理待运行线程,包括:
所述FPGA并行执行待运行线程,且针对每一所述待运行线程,所述FPGA基于所述待运行线程中的n个运算子线程,依次将输入所述待运行线程的输入队列中的数据在所述n个运算子线程中进行并行处理,n的取值为大于1的正整数;
所述FPGA针对每一所述待运行线程,在输入所述待运行线程的输入队列中的数据全部处理后,输出处理结果。
7.一种异构调度平台,其特征在于,包括:控制器和处理器,所述处理器至少包括GPU、CPU和FPGA;
所述控制器包括读取模块、算法加速模块、转化模块和输出模块,所述控制器用于实时监控自身各个模块在执行基因数据分析过程中的负载均衡,若任一模块出现负载超负荷的情况,增加当前模块的计算资源,降低前置模块的计算资源;
其中,
所述读取模块,用于从任务队列读取待分析的基因测序文件和任务参数进行预处理,得到待执行任务;
所述算法加速模块,用于实时检测所述GPU、CPU和FPGA的负载和运行状态,并获取所述GPU、FPGA和CPU的计算资源,以及根据实时检测到的所述GPU、CPU和FPGA的负载和运行状态,由所述任务队列的队首开始依次将所述待执行任务分配至当前处于空闲状态和/或负载未超负荷的处理器,控制对应的处理器处理所述待执行任务;
所述算法加速模块,还用于在所述控制器控制对应的处理器处理所述待执行任务的过程中,若所述控制器实时检测到有处理器负载超负荷,增加负载超负荷的处理器的计算资源;
所述转化模块,用于获取处理所述待执行任务的处理器输出的计算结果,对所述计算结果进行数据校准和格式转化,得到标准输出信息;
所述输出模块,用于统计所述标准输出信息,生成分析报告。
8.根据权利要求7所述的异构调度平台,其特征在于,所述读取模块,还用于判断当前负载是否可接收新任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918380.XA CN110427262B (zh) | 2019-09-26 | 2019-09-26 | 一种基因数据分析方法及异构调度平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918380.XA CN110427262B (zh) | 2019-09-26 | 2019-09-26 | 一种基因数据分析方法及异构调度平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427262A CN110427262A (zh) | 2019-11-08 |
CN110427262B true CN110427262B (zh) | 2020-05-15 |
Family
ID=68419077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910918380.XA Active CN110427262B (zh) | 2019-09-26 | 2019-09-26 | 一种基因数据分析方法及异构调度平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427262B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11527950B2 (en) * | 2019-03-25 | 2022-12-13 | Semiconductor Components Industries, Llc | Power supply system for controlling load distribution across multiple converters for optimizing overall efficiency |
CN110990063B (zh) * | 2019-11-28 | 2021-11-23 | 中国科学院计算技术研究所 | 一种用于基因相似性分析的加速装置、方法和计算机设备 |
CN113391887B (zh) * | 2020-03-11 | 2024-03-12 | 北京国电智深控制技术有限公司 | 一种处理工业数据的方法及*** |
CN112229989A (zh) * | 2020-10-19 | 2021-01-15 | 广州吉源生物科技有限公司 | 一种gpu技术的生物样本识别设备 |
CN112259168B (zh) * | 2020-10-22 | 2023-03-28 | 深圳华大基因科技服务有限公司 | 基因测序数据处理方法和基因测序数据处理装置 |
CN112397147B (zh) * | 2020-12-03 | 2021-06-15 | 北京三维天地科技股份有限公司 | 基于智能调度技术实现共线生产的基因测序交付方法及*** |
CN113254104B (zh) * | 2021-06-07 | 2022-06-21 | 中科计算技术西部研究院 | 一种用于基因分析的加速器及加速方法 |
CN113256481A (zh) * | 2021-06-21 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 图形处理器中的任务处理方法、装置、电子设备及存储介质 |
CN114490498B (zh) * | 2022-01-20 | 2023-12-19 | 山东大学 | 基于vr技术的模拟软件仿真异构***及其工作方法 |
CN114334008B (zh) * | 2022-01-24 | 2022-08-02 | 广州明领基因科技有限公司 | 基于fpga的基因测序加速比对方法及装置 |
CN115754413A (zh) * | 2022-10-24 | 2023-03-07 | 普源精电科技股份有限公司 | 示波器及数据处理方法 |
WO2024130660A1 (zh) * | 2022-12-22 | 2024-06-27 | 深圳华大生命科学研究院 | 基因测序数据的分析***、方法、电子设备和存储介质 |
CN115662518A (zh) * | 2022-12-27 | 2023-01-31 | 四川大学华西医院 | 一种基因测序存算协作***、方法和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617086A (zh) * | 2013-11-20 | 2014-03-05 | 东软集团股份有限公司 | 一种并行计算方法及*** |
CN106886690A (zh) * | 2017-01-25 | 2017-06-23 | 人和未来生物科技(长沙)有限公司 | 一种面向基因数据计算解读的异构平台 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104504303B (zh) * | 2014-09-29 | 2018-09-28 | 肇庆学院 | 基于cpu+gpu异构***的序列比对方法 |
CN105718312B (zh) * | 2016-01-20 | 2018-10-30 | 华南理工大学 | 面向生物基因测序计算任务的多队列回填作业调度方法 |
-
2019
- 2019-09-26 CN CN201910918380.XA patent/CN110427262B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617086A (zh) * | 2013-11-20 | 2014-03-05 | 东软集团股份有限公司 | 一种并行计算方法及*** |
CN106886690A (zh) * | 2017-01-25 | 2017-06-23 | 人和未来生物科技(长沙)有限公司 | 一种面向基因数据计算解读的异构平台 |
Also Published As
Publication number | Publication date |
---|---|
CN110427262A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427262B (zh) | 一种基因数据分析方法及异构调度平台 | |
JP6437579B2 (ja) | 仮想化環境におけるインテリジェントgpuスケジューリング | |
US8910153B2 (en) | Managing virtualized accelerators using admission control, load balancing and scheduling | |
EP2383648B1 (en) | Technique for GPU command scheduling | |
CN105183539B (zh) | 动态任务安排方法 | |
US8707314B2 (en) | Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations | |
CN106030538B (zh) | 通过编译器和os支持分离出i/o执行的***和方法 | |
CN103262002B (zh) | 优化***调用请求通信 | |
US20140052965A1 (en) | Dynamic cpu gpu load balancing using power | |
US10970129B2 (en) | Intelligent GPU scheduling in a virtualization environment | |
US9569221B1 (en) | Dynamic selection of hardware processors for stream processing | |
KR20120058605A (ko) | Gpu 워크의 하드웨어 기반 스케쥴링 | |
US20140189708A1 (en) | Terminal and method for executing application in same | |
Wu et al. | When FPGA-accelerator meets stream data processing in the edge | |
EP3779778A1 (en) | Methods and apparatus to enable dynamic processing of a predefined workload | |
CN113342485A (zh) | 任务调度方法、装置、图形处理器、计算机***及存储介质 | |
CN115904510A (zh) | 多操作数指令的处理方法、图形处理器及存储介质 | |
CN113032154B (zh) | 一种虚拟cpu的调度方法、装置、电子设备及存储介质 | |
US11055137B2 (en) | CPU scheduling methods based on relative time quantum for dual core environments | |
Sajjapongse et al. | A flexible scheduling framework for heterogeneous CPU-GPU clusters | |
Hwang et al. | Hardware Interrupt and CPU Contention aware CPU/GPU Co-Scheduling on Multi-Cluster System | |
Krömer et al. | An implementation of differential evolution for independent tasks scheduling on GPU | |
Liu et al. | Spmario: Scale up mapreduce with i/o-oriented scheduling for the GPU | |
Yu et al. | POSTER: A collaborative multi-factor scheduler for asymmetric multicore processors | |
Kim et al. | Towards Predicting GPGPU Performance for Concurrent Workloads |
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 |