一种面向基因数据解读的异构平台的制作方法

文档序号:12734489阅读:177来源:国知局
一种面向基因数据解读的异构平台的制作方法与工艺

本发明涉及基因测序技术,具体涉及一种面向基因数据解读的异构平台。



背景技术:

最近几年,随着下一代测序技术(Next Generation Sequence, 以下简称NGS)的广泛应用,基因测序的成本迅速下降,基因技术开始进入普及应用。NGS包括基因数据计算和基因数据解读两个步骤,其中基因数据计算是指对原始的基因测序数据进行去伪、去重等预处理,以便基因数据解读时使用,基因数据解读是指对基因数据计算处理后的基因数据在生物学、医学、健康保健等领域的科学含义进行分析、揭示和解释。

当前,一个制约基因技术临床应用发展的瓶颈是基因数据解读的精确性和可读性。目前基因数据解读的典型方法是基于一个人类参考基因,用测序生成并经基因数据计算处理后的基因数据,重构出某人的基因。然而,当前使用的参考基因,例如GRCh38,是基于有限的样本,既不足以代表整个人类的多样性,又不完备,在探测个体基因里的独特变异时,标准的基因信息学流程会导致偏差,而且缺乏与其它生物、医学信息的深度交叉分析。此外,基因数据解读还基本停留在专业领域,面向非专业的大众,缺乏可读性,即缺乏对基因数据直接的生物意义和间接的健康影响的通俗易懂、形式多样的解读。

目前,计算机系统中常见的处理器类型有中央处理器(Central Processing Unit, 简称CPU)、图形处理器(Graphics Processing Unit, 简称 GPU)和数字信号处理器(Digital Signal Processor, 简称DSP)。目前的高性能CPU通常都包括多个处理器核(Processor Core),从硬件上支持多线程,但是其设计目标还是面向通用应用程序,而相对于特殊的计算,通用应用程序的并行性较小,需要较复杂的控制和较低的性能目标。因此,CPU片上的硬件资源主要还是用于实现复杂的控制而不是计算,没有为特殊功能包含专门的硬件,能够支持的计算并行度不高。GPU最初是一种专门用于图像处理的微处理器,能够从硬件上支持纹理映射和多边形着色等图形计算基本任务。由于图形学计算涉及一些通用数学计算,比如矩阵和向量运算,而GPU拥有高度并行化的架构,因此,随着相关软硬件技术的发展,GPU计算技术日益兴起,即GPU不再局限于图形处理,还被开发用于线性代数、信号处理、数值仿真等并行计算,可以提供数十倍乃至于上百倍于CPU的性能。但是目前的GPU存在2个问题:一是,受限于GPU的硬件结构特性,很多并行算法不能在GPU上有效地执行;二是,GPU运行中会产生大量热量,能耗较高。DSP是一种用数字方法对各种信号进行快速分析、变换、滤波、检测、调制、解调等运算处理的微处理器。为此,DSP在芯片内部结构上做了特殊的优化,比如硬件实现高速、高精度的乘法等。随着数字时代的到来,DSP广泛应用于智能设备、资源勘探、数字控制、生物医学、航天航空等各个领域,具有功耗低、精度高、可进行二维与多维处理等特点。综上所述,以上三种计算器件各有特点,又各有局限性。但是,针对前述基因技术临床应用发展存在的瓶颈,如何利用上述处理器来构建混合架构平台以实现海量基因数据的解读,则已经成为一项亟待解决的关键技术问题。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种能够为提高基因数据解读的精准性和可读性提供硬件支持,基因数据解读效率高、制造成本低、解读能耗低的面向基因数据解读的异构平台。

为了解决上述技术问题,本发明采用的技术方案为:

一种面向基因数据解读的异构平台,包括异构处理器单元、互联总线模块、内存、基因解读数据指令输入单元和基因解读结果输出单元,所述异构处理器单元分别通过互联总线模块与内存、基因解读数据指令输入单元、基因解读结果输出单元相连,所述异构处理器单元包括CPU、GPU和DSP,其中CPU构成控制引擎,所述CPU、GPU、DSP三者构成解读引擎,所述控制引擎在通过基因解读数据指令输入单元接收基因解读数据指令并分割为代码段,当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎进行处理并将计算结果通过基因解读结果输出单元输出。

优选地,所述互联总线模块包括HCCLink总线模块和HNCLink总线模块,所述CPU、GPU和DSP分别通过HCCLink总线模块和内存相连,且所述CPU、GPU和DSP分别通过HNCLink总线模块和基因解读数据指令输入单元以及基因解读结果输出单元相连。

优选地,所述基因解读数据指令输入单元包括输入设备、通用接口模块、网络接口模块、多媒体输入接口模块、外部存储设备、传感器中的至少一种。

优选地,所述基因解读结果输出单元包括显示设备、通用接口模块、网络接口模块、多媒体输出接口模块、外部存储设备中的至少一种。

优选地,所述将代码段的指令和数据调度解读引擎进行处理的详细步骤包括:

B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);

B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);

B3)判断代码段分派到DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,所述代码段分派到DSP上并且优化执行的总开销包括CPU和DSP之间交互数据和指令产生的通信开销、DSP的访存开销以及DSP的计算开销,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);

B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)

B5)判断代码段分派到DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);

B6)将代码段的指令和数据调度DSP处理,退出;

B7)判断代码段的基因解读是否适合GPU加速处理,如果代码段的基因解读适合GPU加速处理,则将代码段的指令和数据调度GPU处理,退出;否则,跳转执行步骤B8);

B8)将代码段的指令和数据调度CPU处理,退出。

优选地,步骤B7)的详细步骤包括:

B7.1)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B7.3);否则,跳转执行步骤B7.2);

B7.2)判断代码段是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤B7.3);否则,跳转执行步骤B8);

B7.3)判断代码段分派到GPU上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B7.4);否则,跳转执行步骤B8);

B7.4)将代码段的指令和数据调度GPU处理,退出。

本发明面向基因数据解读的异构平台具有下述优点:

1、平台化,本发明的异构平台为基于CPU加GPU和DSP的异构平台,能够让设计人员开发各种基因数据解读应用流程,无需重新设计硬件系统;能够移植其它公开或商用基因数据解读应用软件,无需重新设计硬件系统;能够用异构编程语言(如OpenCL)来实现整个异构平台应用开发的一致性。

2、可扩展性好,本发明的异构平台为基于CPU加GPU和DSP的异构平台,能够根据应用需求的不同和变化,灵活地扩展和重构。

3、应用广泛,本发明的异构平台为基于CPU加GPU和DSP的异构平台,既能够作为本地基因数据解读的处理设备,又能够作为集群或云计算环境下基因数据解读的处理结点。

4、高可配,本发明的异构平台为基于CPU加GPU和DSP的异构平台,在软件方面,三种核心部件——CPU、GPU和DSP都是可编程器件;在应用集成方面,能够根据基因数据解读的各种应用要求,根据CPU、GPU和DSP及其它硬件的优势特点,对系统各个部件的组织、规模和关联性来进行配置和使用,使各部件合理分工并协同工作,最大效率地优化应用流程。本发明系统为系统和应用设计师提供了良好的设计灵活性和增量配置能力,易于升级适应新的应用。

5、匹配基因数据解读的异构计算(heterogeneous computing)需求,本发明的异构平台为基于CPU加GPU和DSP的异构平台,能够很好地匹配和满足现在及将来基因数据解读中融合处理分析文本、图片、语音、音频、视频和其它电信号等各种结构化和非结构化数据的异构计算对硬件的需求。

6、高性能,本发明的异构平台为基于CPU加GPU和DSP的异构平台,能够从三个方面为高性能基因数据解读提供硬件支持:一,同时提供任务并行、数据并行所需硬件;二,同时提供控制任务、事务型任务、非数据密集型计算任务、数据密集型计算任务所需硬件;三,同时提供文本、图片、语音、音频、视频和其它电信号等融合处理分析所需硬件。

7、低功耗,本发明的异构平台为基于CPU加GPU和DSP的异构平台,通过DSP的使用,分担CPU和GPU的部分工作,在提高性能和实现功能多样化的同时,降低了能耗。

附图说明

图1为本发明实施例异构平台的框架结构示意图。

图2为本发明实施例异构平台的引擎结构示意图。

图3为本发明实施例异构平台控制引擎的调度流程示意图。

图4为本发明实施例异构平台调度解读引擎的流程示意图。

图5为本发明实施例异构平台调度解读引擎判断是否适合GPU加速的流程示意图。

图例说明:1、异构处理器单元;11、控制引擎;12、解读引擎;2、互联总线模块;21、HCCLink总线模块;22、HNCLink总线模块;3、内存;4、基因解读数据指令输入单元;5、基因解读结果输出单元。

具体实施方式

如图1和图2所示,本实施例的面向基因数据解读的异构平台包括异构处理器单元1、互联总线模块2、内存3、基因解读数据指令输入单元4和基因解读结果输出单元5,异构处理器单元1分别通过互联总线模块2与内存3、基因解读数据指令输入单元4、基因解读结果输出单元5相连,异构处理器单元1包括CPU(Central Processing Unit, 中央处理器)、GPU(Graphics Processing Unit, 图形处理器)和DSP(Digital Signal Processor, 数字信号处理器),其中,CPU构成控制引擎11,CPU、GPU、DSP三者构成解读引擎12,控制引擎11在通过基因解读数据指令输入单元4接收基因解读数据指令并分割为代码段,当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎12进行处理并将计算结果通过基因解读结果输出单元5输出。

本实施例中,CPU数量可以为一个或者多个,每个CPU包括一个或多个处理器核(Processor Core),GPU数量可以为一个或者多个,DSP数量可以为一个或者多个,CPU、GPU和DSP三者中任意个体之间能够基于互联总线模块2进行互联并交换数据和指令,而且能够基于互联总线模块2实现和内存3、基因解读数据指令输入单元4和基因解读结果输出单元5中的任意设备进行互联并交换数据和指令。毫无疑问,实现上述设备部件之间互联并交换数据和指令的总线形式并不局限于特定互联方式,可以根据需要采用各种具体的实现方式。

如图1所示,互联总线模块2包括HCCLink(Heterogeneous computing Cache Coherence Link,异构计算存储一致性互联)总线模块21和HNCLink(Heterogeneous computing Non-Coherence Link,异构计算非一致性互联)总线模块22,CPU、GPU和DSP分别通过HCCLink总线模块21和内存3相连,且CPU、GPU和DSP分别通过HNCLink总线模块22和基因解读数据指令输入单元4以及基因解读结果输出单元5相连。HCCLink总线模块21用于上述CPU、上述GPU和上述DSP与上述DDR4存储器阵列之间进行互联并交换数据、指令。HNCLink总线模块22用于上述CPU、上述GPU和上述DSP之间进行互联并交换控制指令;用于上述CPU、上述GPU和上述DSP与上述输入/输出设备(I/O)之间进行互联并交换数据、指令。

本实施例中,内存3为DDR4存储器阵列(Memory Array)。

本实施例中,基因解读数据指令输入单元4包括输入设备、通用接口模块、网络接口模块、多媒体输入接口模块、外部存储设备、传感器中的至少一种。本实施例中,输入设备包括键盘、鼠标、轨迹球和触控板中的至少一种,通用接口模块包括边界扫描接口模块、通用串行总线接口模块中的至少一种,网络接口模块包括以太网接口模块、长期演进LTE接口模块、Wi-Fi接口模块、蓝牙接口模块中的至少一种,多媒体输入接口模块包括模拟音频输入接口、数字音频输入接口、视频输入接口中的至少一种,外部存储设备包括闪存FLASH、固态硬盘SSD中的至少一种,传感器包括温度传感器、心率测量传感器、指纹传感器中的至少一种。

本实施例中,基因解读结果输出单元5包括显示设备、通用接口模块、网络接口模块、多媒体输出接口模块、外部存储设备中的至少一种。本实施例中,显示设备包括阴极射线管CRT、液晶显示器LCD、发光二极管LED中的至少一种,通用接口模块包括边界扫描接口模块、通用串行总线接口模块中的至少一种,网络接口模块包括以太网接口模块、长期演进LTE接口模块、Wi-Fi接口模块、蓝牙接口模块中的至少一种,多媒体输出接口模块包括模拟音频输出接口、数字音频输出接口、视频输出接口中的至少一种,外部存储设备包括闪存FLASH、固态硬盘SSD中的至少一种。

如图3所示,控制引擎11在通过基因解读数据指令输入单元4接收基因解读数据指令并分割为代码段,然后根据代码段的任务类型对CPU、GPU、DSP三者构成的解读引擎12进行综合调度:当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎12进行处理并将计算结果通过基因解读结果输出单元5输出。

本实施例中,CPU的功能如下:用于调度控制一个或多个GPU,和一个或多个GPU交互数据和指令;用于调度控制一个或多个DSP,和一个或多个DSP交互数据和指令;用于和一个或多个存储器交互数据和指令;用于接收和处理一个或多个输入设备输入的数据和指令;用于发送数据和指令到一个或多个输出设备;在基因数据解读流程中,用于执行调度任务、事物型任务,用于和一个或多个DSP及一个或多个GPU配合执行基因数据解读任务。

本实施例中,GPU的功能如下:用于和一个或多个CPU交互数据和指令;可以用于和一个或多个DSP交互数据和指令;用于和一个或多个存储器交互数据和指令;在基因数据解读流程中,用于和一个或多个DSP及一个或多个CPU配合执行基因数据解读任务。

本实施例中,DSP的功能如下:用于和一个或多个CPU交互数据和指令;可以用于和一个或多个GPU交互数据和指令;用于和一个或多个存储器交互数据和指令;可以用于接收和处理一个或多个输入设备输入的数据和指令;可以用于发送数据和指令到一个或多个输出设备;在基因数据解读流程中,用于和一个或多个CPU及一个或多个GPU配合执行基因数据解读任务。

本实施例中,内存3的功能如下:用于存储一个或多个基因测序数据,基因测序数据为原始数据和/或压缩数据,压缩数据不限定压缩算法;用于存储一个或多个基因参考序列及其对应的一个或多个标记;用于存储一个或多个已知基因变异数据;用于存储和基因数据解读相关的其它输入数据;在基因数据解读流程中,用于存储中间结果和最终数据;不限定存储器种类,例如DDR3(Dual Data Rate 3),DDR4等。

本实施例中,基因解读数据指令输入单元4的功能如下:用于输入基因数据解读流程所需的数据和指令;不限定输入设备种类,例如键盘(Keyboard)、鼠标(Mouse)、轨迹球(Trackball)、触控板(touch pad)等输入设备,或者边界扫描(Joint Test Action Group,JTAG),通用串行总线(Universal Serial Bus,USB)等通用接口,或者以太网(Ethernet)、长期演进(Long Term Evolution,LTE)、无线保真(Wireless-Fidelity,Wi-Fi)、蓝牙(Bluetooth)等网络端口,或者模拟音频输入接口(如3.5mm立体声小三芯接口)、数字音频输入接口(如索尼和飞利浦数字接口Sony/Philips Digital Interface,S/PDIF)、视频输入接口(如高清晰度多媒体接口High Definition Multimedia Interface,HDMI)等多媒体接口,或者闪存(FLASH)、固态硬盘(Solid State Drives,SSD)等外部存储设备,或者温度传感器(测量体温)、光学传感器(测量心率)、指纹传感器(采集指纹)等传感器(Sensor);不限定输入数据和指令的形式,例如电信号、文本、图片、语音、音频、视频等和它们的任意组合。

本实施例中,基因解读结果输出单元5的功能如下:用于输出基因数据解读流程所生成的数据和指令;不限定输出设备种类,例如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)等显示设备,或者JTAG、USB等通用接口设备,或者Ethernet、LTE、Wi-Fi、Bluetooth等网络端口,或者模拟音频输出接口(如3.5mm立体声小三芯接口)、数字音频输出接口(如S/PDIF)、视频输出接口(如HDMI)等多媒体接口;或者固态硬盘(Solid State Drives,SSD)等外部存储设备,不限定输出数据和指令的形式,例如电信号、文本、图片、语音、音频、视频等和它们的任意组合。参见图1,基因解读数据指令输入单元4和基因解读结果输出单元5之间可以基于部分共同的设备实现,例如通用接口模块、网络接口模块、外部存储设备等。

如图3和图4所示,将代码段的指令和数据调度解读引擎12进行处理的详细步骤包括:

B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);

B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);

B3)判断代码段分派到DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,代码段分派到DSP上并且优化执行的总开销包括CPU和DSP之间交互数据和指令产生的通信开销、DSP的访存开销以及DSP的计算开销,代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);

B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)

B5)判断代码段分派到DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);

B6)将代码段的指令和数据调度DSP处理,退出;

B7)判断代码段的基因解读是否适合GPU加速处理,如果代码段的基因解读适合GPU加速处理,则将代码段的指令和数据调度GPU处理,退出;否则,跳转执行步骤B8);

B8)将代码段的指令和数据调度CPU处理,退出。

如图5所示,步骤B7)的详细步骤包括:

B7.1)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B7.3);否则,跳转执行步骤B7.2);

B7.2)判断代码段是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤B7.3);否则,跳转执行步骤B8);

B7.3)判断代码段分派到GPU上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B7.4);否则,跳转执行步骤B8);

B7.4)将代码段的指令和数据调度GPU处理,退出。

综上所述,本实施例的面向基因数据解读的异构平台能够以更低的成本,满足高认知基因数据解读的精准性和可读性要求。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1