【技术实现步骤摘要】
【国外来华专利技术】用于流处理的数据处理单元本申请要求2017年7月10日提交的美国临时申请第62/530,691号、2017年9月15日提交的美国专利申请第62/559,021号和2017年11月21日提交的美国临时申请第62/589,427号的利益,其全部内容通过引用并入本文。
本公开涉及例如在联网和存储领域中用于处理流数据的设备。
技术介绍
常规计算设备通常包括诸如中央处理单元(CPU)、图形处理单元(GPU)、随机存取存储器、存储装置以及诸如以太网接口的用于将计算设备连接到网络的网络接口卡(NIC)的组件。典型的计算设备以处理器为中心,使得总体计算职责和控制与CPU集中在一起。这样,CPU执行:处理任务;存储器管理任务,诸如在CPU内的本地缓存,随机存取存储器和存储装置之间转移数据;以及联网任务,诸如构造和维护联网堆栈以及从外部设备或网络发送和接收数据。此外,CPU还负责处理例如来自用户界面设备的中断。尽管随着时间新CPU开发中的性能改进有所下降,但对CPU的需求随着时间连续增加。通用CPU通常不被设计用于通常打包的大容量网络和存储工作负载。通常,CPU在执行流数据处理方面相对较差,因为此类业务会在时间上分散并且不能很好地缓存。但是,服务器设备通常使用CPU处理流数据。
技术实现思路
通常,本公开描述了一种利用数据处理单元(DPU)的新处理架构。与以中央处理单元(CPU)为中心的传统计算模型不同,本文描述的示例实现利用了DPU,该DPU是为以数据为中心的计算模型而专门设计和优化的,在该以数据为中心的计 ...
【技术保护点】
1.一种数据处理单元(DPU)集成电路,包括:/n网络接口,被配置为发送和接收与网络的流数据单元;/n主机接口,被配置为发送和接收与应用处理器或者存储设备的流数据单元;/n多个可编程处理核;/n运行至完成数据平面操作系统,在所述多个可编程处理核中的两个或者更多个可编程处理核上执行;/n运行至完成软件功能,在所述多个可编程处理核中的一个可编程处理核上的所述数据平面操作系统上被调用,以处理工作单元,其中所述工作单元与所述流数据单元中的一个或者多个流数据单元相关联,并且其中所述工作单元指定所述软件功能用于处理所述流数据单元中的所述一个或者多个流数据单元,并且还指定所述多个可编程处理核中的所述一个可编程处理核用于执行所述软件功能;以及/n多任务控制平面操作系统,在所述多个可编程处理核中的一个或者多个可编程处理核上执行。/n
【技术特征摘要】
【国外来华专利技术】20170710 US 62/530,691;20170915 US 62/559,021;20171.一种数据处理单元(DPU)集成电路,包括:
网络接口,被配置为发送和接收与网络的流数据单元;
主机接口,被配置为发送和接收与应用处理器或者存储设备的流数据单元;
多个可编程处理核;
运行至完成数据平面操作系统,在所述多个可编程处理核中的两个或者更多个可编程处理核上执行;
运行至完成软件功能,在所述多个可编程处理核中的一个可编程处理核上的所述数据平面操作系统上被调用,以处理工作单元,其中所述工作单元与所述流数据单元中的一个或者多个流数据单元相关联,并且其中所述工作单元指定所述软件功能用于处理所述流数据单元中的所述一个或者多个流数据单元,并且还指定所述多个可编程处理核中的所述一个可编程处理核用于执行所述软件功能;以及
多任务控制平面操作系统,在所述多个可编程处理核中的一个或者多个可编程处理核上执行。
2.根据权利要求1所述的DPU集成电路,还包括:控制平面软件堆栈,在所述可编程处理核中的至少一个可编程处理核上的所述数据平面操作系统上执行,其中所述控制平面软件堆栈包括管理程序和在所述管理程序上执行的所述多任务控制平面操作系统。
3.根据权利要求1所述的DPU集成电路,其中执行所述控制平面操作系统的所述可编程处理核中的至少一个可编程处理核包括专用于所述控制平面操作系统的独立处理核。
4.根据权利要求1所述的DPU集成电路,还包括:一个或者多个控制平面服务代理,在所述控制平面操作系统上执行,所述控制平面服务代理被配置为执行软件结构的建立和拆除以支持由在所述数据平面操作系统上执行的所述软件功能执行的工作单元处理。
5.根据权利要求1所述的DPU集成电路,其中所述流数据单元包括数据分组,还包括在所述控制平面操作系统上执行的一个或者多个控制平面服务代理,所述控制平面服务代理被配置为确定所述数据分组的分组流是合理的,并且向在所述可编程处理核中的所述一个可编程处理核上执行的所述数据平面操作系统发送指令,以在流表中建立所述分组流。
6.根据权利要求1所述的DPU集成电路,其中被调用以处理所述工作单元的所述软件功能包括被包括在由所述数据平面操作系统提供的功能库中的多个软件功能中的一个软件功能,并且其中被包括在所述功能库中的所述多个软件功能包括:一个或者多个网络功能、一个或者多个存储功能、一个或者多个安全功能、以及一个或者多个分析功能。
7.根据权利要求1所述的DPU集成电路,其中所述流数据单元包括数据分组,并且其中在所述可编程处理核中的所述一个可编程处理核上执行的所述数据平面操作系统被配置为:
接收所述数据分组的分组流;
在流表中执行查找以确定所述分组流是合理的;以及
将所述分组流映射到所述可编程处理核中的所述一个可编程处理核,以用于对所述分组流的所述数据分组的序列化处理。
8.根据权利要求7所述的DPU集成电路,其中所述分组流包括以下各项中的一个:联网分组流、存储分组流、安全分组流、和分析分组流。
9.根据权利要求1所述的DPU集成电路,还包括:在电路装置中实现的多个工作单元队列,其中所述工作单元队列中的至少一个工作单元队列与所述可编程处理核中的所述一个可编程处理核相关联并且被配置为存储多个工作单元,所述多个工作单元被排队以用于在所述可编程处理核中的所述一个可编程处理核上处理。
10.根据权利要求9所述的DPU集成电路,还包括:在电路装置中被实现的队列管理器,所述队列管理器被配置为:
接收所述工作单元,所述工作单元指定所述软件功能和用于执行所述软件功能的所述可编程处理核中的所述一个可编程处理核;
将所述工作单元排队到与所述可编程处理核中的所述一个可编程处理核相关联的所述工作单元队列中的所述一个工作单元队列;
将所述工作单元从所述工作单元队列中的所述一个工作单元队列出队列到所述可编程处理核中的所述一个可编程处理核;以及
在所述可编程处理核中的所述一个可编程处理核上调用由所述工作单元指定的所述软件功能,以用于处理所述工作单元。
11.根据权利要求10所述的DPU集成电路,其中为了处理所述工作单元,所述可编程处理核中的所述一个可编程处理核被配置为:
从所述工作单元队列中的所述一个工作单元队列接收所述工作单元;
从所述可编程处理核中的所述一个可编程处理核的高速缓存存储器中取得与所述工作单元相关联的所述流数据单元;
执行由所述工作单元指定的所述软件功能,以处理所述流数据单元;以及
将处理所述工作单元的结果输出到所述工作单元队列,其中所述结果包括一个或者多个新的工作单...
【专利技术属性】
技术研发人员:P·辛德胡,JM·弗雷隆,W·诺雷丁,F·A·马蒂,D·戈埃尔,R·戈亚尔,B·塞莱特,
申请(专利权)人:芬基波尔有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。