嵌入式服务器子系统及其配置方法

文档序号:830064 发布日期:2021-03-30 浏览:23次 >En<

阅读说明:本技术 嵌入式服务器子系统及其配置方法 (Embedded server subsystem and configuration method thereof ) 是由 赖振楠 于 2020-12-14 设计创作,主要内容包括:本申请公开一种嵌入式服务器子系统及其配置方法,所述嵌入式服务器子系统包括:可编程逻辑门阵列芯片,用于根据应用需求,通过编程动态配置若干可编程逻辑运算单元;存储器,设置于所述可编程逻辑门阵列芯片外部,与所述可编程逻辑门阵列芯片连接,所述存储器用于提供支持所述可编程逻辑运算单元功能的程序和/或数据,且根据各可编程逻辑运算单元的配置切换所述程序和/或数据。所述嵌入式服务器子系统能够灵活配置硬件参数,满足多种应用场景的需求。(The application discloses an embedded server subsystem and a configuration method thereof, wherein the embedded server subsystem comprises: the programmable logic gate array chip is used for dynamically configuring a plurality of programmable logic operation units through programming according to application requirements; and the memory is arranged outside the programmable logic gate array chip and connected with the programmable logic gate array chip, and is used for providing programs and/or data supporting the functions of the programmable logic operation units and switching the programs and/or data according to the configuration of each programmable logic operation unit. The embedded server subsystem can flexibly configure hardware parameters and meet the requirements of various application scenes.)

嵌入式服务器子系统及其配置方法

技术领域

本申请涉及计算机技术领域,具体涉及一种嵌入式服务器子系统及其配置方法。

背景技术

现有的智能服务器系统,通常针对特定的应用场景,配置特定规格的硬件,例如CPU、NPU或GPU等。这些硬件结构的参数由硬件结构本身决定,无法进行调整,因此,通常需要根据不同的需求,进行定制。

定制的服务器系统应用范围有限,不具备通用性,针对多种应用需求,需要分别定制特定架构和性能的服务器系统,成本较高,灵活性较差。

发明内容

鉴于此,本申请提供一种嵌入式服务器子系统及其配置方法,以解决现有的服务器系统灵活性较差的问题。

本申请提供的一种嵌入式服务器子系统,包括:可编程逻辑门阵列芯片,用于根据应用需求,通过编程动态配置若干可编程逻辑运算单元;存储器,设置于所述可编程逻辑门阵列芯片外部,与所述可编程逻辑门阵列芯片内连接,所述存储器用于提供支持所述可编程逻辑运算单元功能的程序和/或数据,且根据各可编程逻辑运算单元的配置切换所述程序和/或数据。

可选的,所述若干可编程逻辑运算单元包括:可编程CPU、可编程GPU、可编程NPU、可编程TPU、编解码单元中的至少一种。

可选的,所述程序和/或数据包括:操作系统、算法参数以及系统组态中的至少一种。

可选的,所述可编程逻辑运算单元的可配置内容包括:内核数、内核大小、内核架构、缓存大小、路由路径、人工智能算法配置中的至少一种。

可选的,还包括:电路板,所述可编程逻辑门阵列芯片和至少部分存储器均设置于所述电路板上;所述电路板上还配置有多种类型的接口。

可选的,存储器通过所述接口可插拔的与所述可编程逻辑门阵列芯片连接。

可选的,所述存储器包括:SSD、GDDR、DDR、DRAM、SCM中的至少一种;至少部分所述可编程逻辑运算单元连接至匹配类型的存储器。

可选的,所述存储器通过PCle总线与所述可编程逻辑门阵列芯片连接。

可选的,所述可编程逻辑运算单元的参数均通过对所述可编程逻辑门阵列芯片的编程进行配置。

可选的,还包括片上网络子系统,与所述可编程逻辑门阵列芯片连接,用于提供与外部的网络连接功能。

本申请还提供一种嵌入式服务器子系统的配置方法,包括:上述任一项所述的嵌入式服务器子系统;根据应用需求,对所述嵌入式服务器子系统内的可编程逻辑门阵列芯片进行编程重构,在所述可编程逻辑门阵列芯片内配置若干可编程逻辑运算单元,使得所述可编程逻辑运算单元的配置随应用需求的变化而动态改变;随所述可编程逻辑运算单元的配置改变,切换所述存储器内的程序和/或数据,以支持配置改变后的可编程逻辑运算单元的运行。

可选的,还包括:重新启动所述嵌入式服务器子系统,以使所述可编程逻辑运算单元自相应的存储器内重新加载切换后的程序和/或数据。

本申请的嵌入式服务器子系统包括可编程逻辑门阵列(FPGA;Field ProgramableGates Array)芯片以及存储器,通过对FPGA芯片进行编程,能够灵活配置其内部的可编程逻辑运算单元,以满足不同应用场景的需求,灵活性更高,具有更广泛的应用范围。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例的嵌入式服务器子系统的结构示意图;

图2是本申请一实施例的嵌入式服务器子系统的结构示意图;

图3是本申请一实施例的嵌入式服务器子系统的结构示意图;

图4是本申请一实施例的嵌入式服务器子系统的结构示意图;

图5是本申请一实施例的嵌入式服务器子系统的配置方法的流程示意图。

具体实施方式

如背景技术中所述,现有技术中的服务器系统灵活性较差,无法灵活满足不同的应用需求。本发明提供一种芯的嵌入式服务器子系统,能够针对不通的应用需求,调整系统架构和相关参数。

下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。

请参考图1,为本发明一实施例的嵌入式服务器子系统的结构示意图。

所述嵌入式服务器子系统,包括可编程逻辑门阵列(FPGA;Field ProgramableGates Array)芯片110以及存储器120。

所述可编程逻辑门阵列芯片(以下简称:FPGA芯片),至少通过编程配置有若干可编程逻辑运算单元。具体的,所述FPGA芯片110内部包括可编程逻辑单元阵列,通过对可编程逻辑单元阵列进行编程,各个逻辑单元之间的连接方式,就能够使得若干逻辑单元组合形成能够执行特定逻辑运算功能的可编程逻辑运算单元。

该实施例中,所述FPGA芯片110被编程为具有四个可编程逻辑运算单元111a、111b、111c、和111d。各个可编程逻辑运算单元111a~111d可以分别为不同类型的逻辑运算单元,也可以为相同类型的逻辑运算单元,所述逻辑运算单元的数量、类型均在此不作限定,可以根据具体的需求,进行配置。

各个可编程逻辑单元之间的连接关系也可以根据需要,对FPGA芯片的编程实现定制,图1中仅为示意。

所述可编程逻辑运算单元111a~111d分别包括:可编程CPU、可编程GPU、可编程NPU、可编程TPU、编解码单元等进行逻辑运算的单元中的至少一种。

所述嵌入式服务器子系统还包括存储器120,设置于所述FPGA芯片110外部,与所述FPGA芯片110连接,具体的,连接至所述FPGA芯片110内部的可编程逻辑运算单元。所述存储器120内存储有支持所述可编程逻辑运算单元功111a~111d功能的程序和/或数据。例如,可以存储有算法参数、操作系统、配置参数等。

所述存储器120包括:SSD、GDDR、DDR、DRAM、SCM中的至少一种。在一些实施例中,通常包括多种不同类型的存储器,以满足不同类型的可编程逻辑运算单元的要求。例如,在一个实施例中,所述可编程逻辑运算单元111a为GPU,对应的用于存储所述可编程逻辑运算单元111a的存储器120则需要为GDDR。所述存储器120与所述FPGA芯片110之间的连接关系,也可以通过编程进行调整。

根据应用需求改变,可以通过编程动态重构所述可编程逻辑门阵列芯片110内的可编程逻辑运算单元,调整各个逻辑运算单元的硬件配置。同时,所述存储器120也根据可编程逻辑运算单元调整后的配置,切换程序和/或数据,以继续支持可编程逻辑运算单元的运行。

请参考图2,为本发明另一实施例的嵌入式服务器子系统的结构示意图。

该实施例中,所述嵌入式服务器子系统还包括片上网络(NOC internet)子系统130,用于提供给互联网数据传输功能,通过互联网数据传输,实现外部数据与所述FPGA芯片110之间的数据交互。

与所述片上网络子系统130连接的可编程逻辑运算单元具有编解码功能,用于对接收的信息进行解码,以进行其他逻辑运算处理;以及将逻辑运算处理后的数据进行编码后通过所述片上子网络系统130向外发送。

所述FPGA芯片110内部与所述片上网络子系统130之间的连接关系也可以通过编程方式进行配置。

请参考图3,为本发明一实施例的嵌入式服务器子系统的结构示意图。

该实施例中,所述FPGA芯片110内部被编程配置有四个可编程逻辑运算单元,分别为CPU 211a、编解码单元211b、NPU211c、以及GPU 211d。

所述CPU 211a作为核心处理器,与编解码单元111b、NPU 111c、以及GPU 111d之间分别连接,进行数据传输。所述编解码单元111b与所述片上网络子系统130连接,用于对信息进行编解码处理。

所述嵌入式服务器子系统还包括多种类型的存储器,分别为SSD(固态硬盘)223、DRAM(动态随机存储器)224、GDDR(图形用双倍数据传输率存储器)221和GDDR222。其中,SSD223和DRAM 224均连接至所述FPGA芯片110内的CPU 211a,用于存储所述CPU211a运行时需要的程序及数据,例如可以以DRAM 224作为缓存,SSD 223用于存储非易失性存储。GDDR221和GDDR 222分别连接至所述NPU 211c和GPU111d,由于GDDR具有较高的数据传输效率,能够满足所述NPU 211c和GPU111d在逻辑运算过程中的大数据量传输的要求。

其中,SSD 223可以通过PCle(高速串行计算机扩展)总线连接至所述FPGA芯片110,所述DRAM 224可以通过DRAM对应的DRAM总线形式连接至所述FPGA芯片110。

该实施例中,图3为一种人工智能服务器架构的示例,利用GPU 211d对图形数据进行分析处理,利用NPU 211c进行人工智能学习以及计算等,GDDR 222内可以存储有NPU211c进行人工智能学习以及计算过程中需要的训练参数等,GDDR 221内可以存储有GPU 211d进行图像处理时需要的算法及参数数据等。

根据不同的应用需求,所述FPGA芯片110内的各个可编程逻辑运算单元的参数均可以通过编程进行配置。所述参数包括:内核数、内核大小、内核架构、缓存大小、路由路径、人工智能算法配置中的至少一种。

在一个实施例中,可以通过编程,将所述CPU211a配置为单核、双核、4核、8核、16核、64核等满足需求的CPU,且单个内核的大小也可以通过编程进行配置。所述CPU 211a的架构也可以通过编程配置,可以配置为ARM、Power或X86等各种类型的架构。还可以通过编程配置,为CPU 211a分配指定大小的存储空间作为缓存。当CPU 211a的硬件配置发生改变,需要切换SSD 223内的操作系统程序以及其他相关数据。在一些实施例中,需要重新启动系统,以使得CPU211a重新加载适配的操作系统程序。在其他实施例中,也可以采用热切换方式,在SSD223内的操作系统及相关数据更换后,无需进行重新启动。

在其他实施例中,所述NPU 211c的神经网络结构也可以通过编程重构,例如可以根据需求配置为CNN、RNN、Yolo、DNN等多种神经网络模型中的任意一种。对NPU211c内部的计算模块包括乘加、激活函数、二维数据运算、解压缩等模块,可以根据需求进行灵活配置,每个计算模块的硬件资源也可以通过编程进行灵活配置。对于NPU 211c重新配置后,对应的GDDR 222内存储的相关训练参数等信息也需要对应的进行更新,以支持所述NPU 211c的正常工作。同样的,也可以根据图形处理需求,对所述GPU 211d进行配置,并相应的更新GDDR 221内存储的相关支持性的程序和/或数据。

所述FPGA芯片110内部的路由路径也可以通过编程进行配置,相应的改变与所述片上网络子系统130之间的网络传输方式或传输路径。

所述嵌入式服务器子系统还可以除了具有内部的存储器以外,还可以通过接口连接外部存储器,例如连接外部的SSD存储器,以扩充存储空间。

请参考图4,为本发明另一实施例的嵌入式服务器子系统。

该实施例中,所述嵌入式服务器子系统,还包括:电路板300,所述FPGA芯片110和所述存储器120以及片上网络子系统130均设置于所述电路板300上;所述电路板300上还配置有多种类型的接口。

作为示例,该实施例中,所述电路板300上配置有PCle接口311、以太网接口312以及QSFP(四通道SFP)接口313,用于不同的接口需求。各个接口与电路板上其他模块之间通过电路板300上的电连接走线连接。各个接口以及电路板300上的走线时固定,无法进行灵活配置的,因此,因此可以在电路板300上配置多种常用、通用的接口以及,合理涉及电路300上的走线,以支持所述FPGA芯片110的灵活配置。

可以通过所述QSFP(四通道SFP)接口313将存储器可拔插的连接至所述FPGA芯片110,在改变FPGA芯片110内部各逻辑运算单元配置后,可以直接更换外接的存储器,更换后的存储器内存储有对应的操作系统(OS)或其他对当前配置对应的程序和/或数据。

上述嵌入式服务器子系统能够灵活应用于不同人工智能推理的边缘计算、针对不同的交易算法的监控、针对不同应用程序大小所需的缓存大小、针对不同响应延迟的硬件需求的不同架构等不同的应用场景,通过软件编程进行配置,以灵活应用于各种功能需求。

本发明的实施例还提供一种嵌入式服务器子系统的配置方法。

请参考图5,为本发明一实施例的嵌入式服务器子系统的配置方法的流程示意图。

该实施例中,所述配置方法包括如下步骤:

步骤S501:提供嵌入式服务器子系统。

所述嵌入式服务子系统如上述实施例中所述,在此不在赘述。

步骤S502:根据应用需求,对所述嵌入式服务器子系统内的可编程逻辑门阵列(FPGA)芯片进行编程重构,在所述可编程逻辑门阵列芯片内配置若干可编程逻辑运算单元,使得所述可编程逻辑运算单元的配置随应用需求的变化而动态改变。

所述FPGA芯片内部包括可编程逻辑单元阵列,通过对可编程逻辑单元阵列进行编程,各个逻辑单元之间的连接方式,就能够使得若干逻辑单元组合形成能够智能特定逻辑运算功能的可编程逻辑运算单元。各个可编程逻辑单元之间的连接关系也可以根据需要,对FPGA芯片的编程实现定制。并且,随着应用需求的改变,可以随时动态改变FPGA芯片内部的编程,改变可编程逻辑单元的配置。

所述可编程逻辑运算单元包括:可编程CPU、可编程GPU、可编程NPU、可编程TPU、编解码单元等进行逻辑运算的单元中的至少一种。根据不同的应用场景,还可以通过编程对所述FPGA芯片内的各个可编程逻辑运算单元的参数进行配置,所述参数包括:内核数、内核大小、内核架构、缓存大小、路由路径、人工智能算法配置中的至少一种。

步骤S503:随所述可编程逻辑运算单元的配置改变,切换存储器内程序和/或数据,以支持配置改变后的可编程逻辑运算单元的运行。

嵌入式服务器子系统内的FPGA内配置的各个可编程逻辑运算单元连接至对应的存储器,在可编程逻辑运算单元配置发生变化时,需要同步更新对应存储器内存储的程序和/或数据,以支持重更新配置后的可编程逻辑运算单元的功能。可以通过更新原有存储器内的内容,或者直接更换存储器实现。必要时,可以重启,以使得所述可编程逻辑运算单元重新加载必要的程序和/或数据。

所述FPGA芯片内部的路由路径也可以通过编程进行配置,相应的改变与所述片上网络子系统之间的网络传输方式或传输路径。

以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:多线程综合方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类