CXL数据传输板卡及控制数据传输的方法与流程
未命名
08-02
阅读:121
评论:0

cxl数据传输板卡及控制数据传输的方法
技术领域
1.本技术实施例涉及计算机领域,具体而言,涉及一种cxl数据传输板卡及控制数据传输的方法。
背景技术:
2.伴随云计算应用的发展,信息化逐渐覆盖到社会的各个领域,人们的日常工作越来越多的通过网络来交流,网络数据量也在爆发式的增长,服务器作为处理和存储数据的核心设备,对性能和配置的要求也越来越高。当今服务器技术的发展,正处于内存架构的瓶颈问题:内存通道数量的增长,已经赶不上cpu核心数量的增长,从而导致每个核心可以处理的内存带宽降低,限制了处理器的性能。
3.目前内存和处理器是紧耦合的,内存都部署在服务器节点内。内存成本是占整个服务器成本的比例很高,但是在实际使用中,内存的使用效率并不高,有的内存空间根本没有被访问,有的内存空间则存放了一些比较冷的数据,它访问的频率其实很低。这部分的内存没能很好地发挥它的价值。相关技术中的cxl内存的扩展并不能根据不同的工作负载进行资源的重新调配。
4.由此可见,相关技术中存在无法根据不同的工作负载进行资源的重新调配的问题。
技术实现要素:
5.本技术实施例提供了一种cxl数据传输板卡及控制数据传输的方法,以至少解决相关技术中存在的无法根据不同的工作负载进行资源的重新调配的问题。
6.根据本技术的一个实施例,提供了一种cxl数据传输板卡,包括:控制芯片,上述控制芯片是支持开放式互连标准cxl协议的芯片,上述控制芯片上部署了上行端口和下行端口;上述上行端口与主机连接,其中,上述主机是支持高速串行计算机扩展总线标准pcie协议的设备或支持上述cxl协议的设备;上述下行端口与处理器和/或内存模组连接,上述下行端口与上述上行端口对应连接,上述主机用于通过上述上行端口将数据传输至对应的上述下行端口,以通过上述下行端口将上述数据传输至上述处理器和/或上述内存模组,其中,上述处理器和上述内存模组均是支持上述pcie协议的设备或支持上述cxl协议的设备。
7.根据本技术的另一个实施例,提供了一种控制数据传输的方法,包括:通过上行端口接收主机发送的数据请求,其中,上述数据请求中包括待传输的数据,上述主机是支持pcie协议的设备或支持cxl协议的设备;响应上述数据请求,从路由表中查找上述主机的路由信息;按照上述路由信息将上述数据传输至与上述上行端口对应的下行端口连接的处理器和/或内存模组中,其中,上述下行端口与上述上行端口对应连接, 上述处理器和上述内存模组均是支持上述pcie协议的设备或支持上述cxl协议的设备。
8.根据本技术的另一个实施例,提供了一种链路交换的控制系统,上述链路交换的控制系统包括上述的cxl数据传输板卡。
9.根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
10.根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
11.通过本技术,cxl数据传输板卡中的控制芯片是支持cxl协议的芯片,并部署了上行端口和下行端口;上行端口与主机连接,其中,主机是支持pcie协议的设备或支持cxl协议的设备;下行端口与处理器和/或内存模组连接,下行端口与上行端口对应连接,使得主机即可以接处理器又可以接内存模组,从而可以根据实际需要灵活配置处理器和内存模组的数量。因此,可以解决相关技术中存在的无法根据不同的工作负载进行资源的重新调配的问题,达到实现灵活调配资源的效果。
附图说明
12.图1是根据本技术实施例的cxl数据传输板卡的结构示意图;
13.图2是根据本技术实施例的cxl数据传输板卡的具体结果示意图;
14.图3是根据本技术实施例的switch层面的连接图;
15.图4是根据本技术实施例的控制信号传输的方法的流程图二;
16.图5是根据本技术实施例的外部管理器对控制芯片进行管理的示意图;
17.图6是根据本技术实施例的控制数据传输的方法的流程图;
18.图7是根据本技术实施例的电子设备的示意图。
具体实施方式
19.下文中将参考附图并结合实施例来详细说明本技术的实施例。
20.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
21.下面对本实施例中的相关技术解释如下:
22.cxl:(compute express link),是一种开放工业标准用于高带宽低延迟的设备互联。它可以用来连接cpu和gpu,内存和智能网卡等类型的设备。
23.gpu,图像处理器(graphic processing unit);
24.cxl sw,计算高速链路交换机(compute express link switch);
25.cpu,中央处理器(central processing unit)。
26.在本实施例中提供了一种cxl数据传输板卡,图1是根据本技术实施例的cxl数据传输板卡的结构示意图,如图1所示,该cxl数据传输板卡包括:
27.控制芯片,控制芯片是支持开放式互连标准cxl协议的芯片,控制芯片上部署了上行端口和下行端口;
28.上行端口与主机连接,其中,主机是支持高速串行计算机扩展总线标准pcie协议的设备或支持cxl协议的设备;
29.下行端口与处理器和/或内存模组连接,下行端口与上行端口对应连接,主机用于
通过上行端口将数据传输至对应的下行端口,以通过下行端口将数据传输至处理器和/或内存模组,其中,处理器和内存模组均是支持pcie协议的设备或支持cxl协议的设备。
30.本实施例中的cxl数据传输板卡可以应用于需要高速数据传输和大规模数据处理的场景中,例如数据中心,高性能计算,人工智能云计算等场景。
31.在本实施例中,控制芯片是支持cxl协议的芯片,包括高速互连架构cxl switch fabric。cxl switch fabric可以连接多个cxl设备,形成一个共享资源的计算平台。cxl switch fabric给cxl设备提供了一个可扩展、灵活的基础架构,可以通过在cxl设备之间提供高速的点对点连接来实现设备之间的通信和数据传输。cxl设备可以是主机也可以是处理器、内存模组等设备。
32.可选地,cxl switch fabric架构分为三层:事务层(transaction layer)、链路层(link layer)和物理层(physical layer)。为了同时兼容pcie协议和cxl协议,cxl switch fabric架构中提供了flex bus端口,使设备可以在pcie设备和cxl设备中进行选择。cxl.cache和cxl.mem协议被组合在一起共享一个公共的事务层和链路层,而cxl.io拥有自己的事务层和链路层。cxl链路层与cxl arb或mux交互,从而交织来自两个逻辑流的流量。物理层中还包含两个子层,分别是逻辑子层和电气子层。其中,逻辑子层可以在pcie模式和cxl模式之间切换,而电气子层则遵循pcie规范。在事务层中,cxl.io为i/o设备提供了一个非一致性的加载或存储接口。
33.可选地,处理器可以是cpu,也可以是gpu,cpu与gpu之间可以绕过 pcie协议,用cxl协议来共享,互取对方的内存资源。透过 cxl协议, cpu 与gpu之间形同连成单一个庞大的堆栈内存池,本实施例中的,gpu box既可以支持pcie协议,又可以支持cxl协议。如图2所示,cxl数据传输板卡可以是cxl switch板,控制芯片可以是cxl switch芯片,处理器可以是gpu,上行设备可以连接多个主机host,下行设备可以连接gpu box,也可以接内存模组,配置灵活。且每个主机均可以和不同的下行设备连接,通过改变cxl switch芯片的烧录信息来改变主机host和下行设备的连接关系。连接的上行设备和下行设备的数量可以由具体的cxl switch芯片的功能决定。
34.可选地,在下行设备为gpu box时,gpu box内部支持16个gpu插槽,与cxl switch芯片通过cdfp线缆进行互联,板载cpld用于控制box的上电时序,板载总线主控制器bmc(bus master controller)用于管理gpu的工作状态。
35.可选地,内存模组是基于cxl总线协议的设备,可以实现内存远端拓展,多主机共享内存,内存板的cdfp接口通过cdfp线缆与cxl switch板卡互联,板载bmc和cpld负责cxl switch板卡d的管理,包括散热控制、上下电、状态指示等。
36.通过本技术,cxl数据传输板卡中的控制芯片是支持cxl协议的芯片,并部署了上行端口和下行端口;上行端口与主机连接,其中,主机是支持pcie协议的设备或支持cxl协议的设备;下行端口与处理器和/或内存模组连接,下行端口与上行端口对应连接,使得主机即可以接处理器又可以接内存模组,从而可以根据实际需要灵活配置处理器和内存模组的数量。因此,可以解决相关技术中存在的无法根据不同的工作负载进行资源的重新调配的问题,达到实现灵活调配资源的效果。
37.在一个示例性实施例中,上行端口和下行端口均为n个,n是大于1的自然数。n的取值由控制芯片的功能确定,例如,n可以是16, 也可以是4等,如图2所示,cxl switch芯片中
设置6个上下行端口。本实施例通过灵活设置n的取值,可以灵活的设置连接的上下行设备,实现对资源的灵活调配。
38.在一个示例性实施例中,控制芯片包括以下至少之一:
39.控制单元,控制单元用于控制上行端口和下行端口之间的cxl链路的拓扑,其中,cxl链路用于连接对应的上行端口和下行端口。
40.管理单元,管理单元用于管理主机与处理器和/或内存模组之间的路由信息。
41.识别单元,识别单元与处理器和/或内存模组连接,识别单元用于在主机与处理器和/或内存模组建立连接的情况下,识别处理器和/或内存模组支持的协议类型。
42.在本实施例中,在控制芯片是cxl switch fabric架构的芯片时,控制单元可以是多个cxl switch fanout组成,cxl switch fanout指的是在cxl switch fabric中,将一条cxl链路复制到多个另外的链路的过程。这个过程允许多个设备能够同时访问和共享同一个cxl链路上的设备,从而提高系统性能和可扩展性。控制芯片能够实现cxl switch fanout是因为cxl支持点对点拓扑结构,可以允许多个设备通过一条cxl链路相互通信,在链路中转数据包。cxl switch fanout的主要用途是提高系统中多个设备之间的连接效率和数据吞吐量。
43.管理单元可以是多个cxl switch root组成,cxl设备通过cxl端口与cxl switch fabric连接。cxl switch root维护着一个路由表,用于存储和管理网络中各个节点之间的路由信息。当cxl设备发送数据请求时,路由表选择最佳路径,将数据转发到目的cxl设备,例如,将host1中的数据传输至内存模组中存储。cxl数据传输板卡中的cxl端口的流量管理器将数据按顺序存储在缓存区中,以便快速处理和传输。cxl switch fabric根据输入端口和路由表的信息,在缓冲区中选择最佳路径,并将数据转发到目标cxl设备的端口。在转发数据的同时,cxl switch fabric还需要确保控制芯片内部通信速度的稳定和性能的一致性。当cxl设备需要返回数据时,cxl switch fabric同样会根据路由信息和缓存区的状态,找到最佳的路径,将数据传输到目标设备。
44.识别单元可以通过bios命令去识别端口连接的是pcle设备还是cxl设备。例如,主机以inteleagle stream 系列的cpu为例,cxl互连完全依赖于 pcie 5.0电气层,所有拓扑都依赖于pcie。eagle stream cpu可以支持cxl4x16个通道。cxl 和 pci express 设备可以同时工作在给定端口下,每个设备8lane。任何x16 pci express端口都可以连接到pci express设备或cxl设备。识别单元能够自动检测另一端是pci express卡还是cxl设备,并动态配置链接。在连接cxl设备的时候,应该在bios提前进行设置cxl模式,还可以通过bios命令去识别端口连接的是pcle设备还是cxl设备。本实施例通过控制芯片可以控制链路拓扑和路由信息,以及识别设备的类型,从而可以快速的对资源进行调配。
45.在一个示例性实施例中,主机包括m个,处理器包括p个,内存模组包括k个,其中,m、p以及k均是大于或等于1的自然数。
46.在本实施例中,在m大于1的情况下,m个主机共享k个内存模组。在n为16时,m大于或等于2且小于或等于7。在n为16,m为7,p为7时,处理器和主机一一对应,或者,一个主机对应多个处理器,其中,主机和处理器之间通过pcie协议传输数据。在k大于1的情况下,一个主机对应多个内存模组,多个内存模组组成一个主机的内存资源池,其中,主机与内存模组之间通过cxl协议传输数据,主机的数量和内存模组的数量呈正比关系。例如,在控制芯片
选用cxl 2.0 switch芯片的情况下,控制芯片兼容pcie 5.0,支持不同的firmware(写入(可擦写)或 (电可擦可编程只读存储器)中的程序)切换,控制芯片共计16个端口port,每个port都可以配置成pcie或者cxl,支持pcie与cxl混用的场景。可以最多接7个host,最少接2个。在应用于高速计算的场景中时,上行设备可以连接7个host,下行设备可以连接7个gpu,每个host接一个gpu,可以多路并行处理数据。也可以接2个主机,每个主机出4路x16信号,host1接4个gpu用于加速处理数据,host2接4x16的内存模组用于读取存储数据;也可以上行连接4个主机,下行连接8x16的内存模组,走cxl协议。每个主机分出两组x16 port,接两个x16内存模组。
47.可选地,如图3所示,在控制芯片的switch层面,可以由多个vcxl组成,可以根据主机的指令要求,映射到指定的物理端口,最多可以支持分配16个逻辑存储空间。每个vcxl都有自己的id,在主机的控制下用来绑定或者解绑vcxl到物理端口的映射,实现不同端口间的配置。
48.本实施例中的端口可以基于应用实际需求进行灵活配置,主机的数量和主机的端口资源信息也可以进行灵活配置。从而可以实现灵活调配资源的目的。
49.在一个示例性实施例中,cxl数据传输板卡还包括:连接器,连接器连接控制芯片和管理器,其中,管理器用于通过连接器管理控制芯片的运行。在本实施例中,连接器可以是电缆组件连接器mcio,如图2所示,cxl switch芯片通过连接器mcio与外部的管理器cpu相连接。如图4所示,管理器cpu管理cxl switch芯片的i2c、reset、状态指示等。本实施例通过外部管理器对控制芯片进行管理,可以准确的控制控制芯片的工作状态。
50.在一个示例性实施例中,cxl数据传输板卡,还包括:时钟发生器,时钟发生器与控制芯片连接,用于产生启动控制芯片的第一初始化时钟信号,并用于在控制芯片启动之后,产生协调控制芯片的时钟频率的第一时钟信号。在本实施例中,时钟发生器通过预设接口与控制芯片、处理器以及内存模组均连接,用于分别产生启动控制芯片、处理器以及内存模组的第二初始化时钟信号,并用于在控制芯片、处理器以及内存模组启动之后,产生协调控制芯片、处理器以及内存模组的时钟频率的第二时钟信号。如图4所示,cxl数据传输板卡支持rj45接口,为bmc管理网口。每个cdfp接口配有一组红绿双色灯,按照时钟发生器产生的时钟信号,红色灯在数据传输正常时不亮、故障后常亮;绿色灯在无数据传输时常亮、正常数据传输时以1hz的频率闪烁。本实施例通过时钟发生器可以准确的对数据的传输进行监测。
51.在一个示例性实施例中,cxl数据传输板卡还包括:调试设备,调试设备与控制芯片连接,用于对控制芯片的cxl性能进行调试。在本实施例中,调试设备调试的范围包括:cxl边际测试,与pcie调试的方式相同; cxl链接速度、宽度、符合性测试;启用或禁用交错模式进行系统压力或性能或带宽测试。此外,还包括cxl合规性测试、cxl压力测试、cxl延迟测试等。此外,还包括链接和协议错误处理,利用pcie err消息通过cxl.io、cxl.io协议错误被记录并显示出来。本实施例通过调试设备的调试可以保证数据传输的正确性。
52.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图5是本技术实施例的一种控制数据传输的方法的移动终端的硬件结构框图。如图5所示,移动终端可以包括一个或多个(图5中仅示出一个)处理器502(处理器502可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理
装置)和用于存储数据的存储器504,其中,上述移动终端还可以包括用于通信功能的传输设备506以及输入输出设备508。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图5所示不同的配置。
53.存储器504可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本技术实施例中的控制数据传输的方法对应的计算机程序,处理器502通过运行存储在存储器504内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器504可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器504可进一步包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
54.传输设备506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备506包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备506可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
55.在本实施例中提供了一种控制数据传输的方法,图6是根据本技术实施例的控制数据传输的方法的流程图,如图6所示,该流程包括如下步骤:
56.步骤s602,通过上行端口接收主机发送的数据请求,其中,数据请求中包括待传输的数据,主机是支持pcie协议的设备或支持cxl协议的设备;
57.步骤s604,响应数据请求,从路由表中查找主机的路由信息;
58.步骤s606,按照路由信息将数据传输至与上行端口对应的下行端口连接的处理器和/或内存模组中,其中,下行端口与上行端口对应连接, 处理器和内存模组均是支持pcie协议的设备或支持cxl协议的设备。
59.其中,上述步骤的执行主体可以为控制芯片中设置的处理器,或者与终端或者服务器相对独立设置的处理器或者处理设备等,但不限于此。
60.本实施例可以应用于需要高速数据传输和大规模数据处理的场景中,例如数据中心,高性能计算,人工智能云计算等场景。
61.在本实施例中,控制芯片是支持cxl协议的芯片,包括高速互连架构cxl switch fabric。cxl switch fabric可以连接多个cxl设备,形成一个共享资源的计算平台。cxl switch fabric给cxl设备提供了一个可扩展、灵活的基础架构,可以通过在cxl设备之间提供高速的点对点连接来实现设备之间的通信和数据传输。cxl设备可以是主机也可以是处理器、内存模组等设备。
62.可选地,cxl switch fabric架构分为三层:事务层(transaction layer)、链路层(link layer)和物理层(physical layer)。为了同时兼容pcie协议和cxl协议,cxl switch fabric架构中提供了flex bus端口,使设备可以在pcie设备和cxl设备中进行选择。cxl.cache和cxl.mem协议被组合在一起共享一个公共的事务层和链路层,而cxl.io拥有自己的事务层和链路层。cxl链路层与cxl arb或mux交互,从而交织来自两个逻辑流的流量。物理层中还包含两个子层,分别是逻辑子层和电气子层。其中,逻辑子层可以在pcie模式和
cxl模式之间切换,而电气子层则遵循pcie规范。在事务层中,cxl.io为i/o设备提供了一个非一致性的加载或存储接口。
63.可选地,处理器可以是cpu,也可以是gpu,cpu与gpu之间可以绕过 pcie协议,用cxl协议来共享,互取对方的内存资源。透过 cxl协议, cpu 与gpu之间形同连成单一个庞大的堆栈内存池,本实施例中的,gpu box既可以支持pcie协议,又可以支持cxl协议。如图2所示,cxl数据传输板卡可以是cxl switch板,控制芯片可以是cxl switch芯片,处理器可以是gpu,上行设备可以连接多个主机host,下行设备可以连接gpu box,也可以接内存模组,配置灵活。且每个主机均可以和不同的下行设备连接,通过改变cxl switch芯片的烧录信息来改变主机host和下行设备的连接关系。连接的上行设备和下行设备的数量可以由具体的cxl switch芯片的功能决定。
64.可选地,在下行设备为gpu box时,gpu box内部支持16个gpu插槽,与cxl switch芯片通过cdfp线缆进行互联,板载cpld用于控制box的上电时序,板载总线主控制器bmc(bus master controller)用于管理gpu的工作状态。
65.可选地,内存模组是基于cxl总线协议的设备,可以实现内存远端拓展,多主机共享内存,内存板的cdfp接口通过cdfp线缆与cxl switch板卡互联,板载bmc和cpld负责cxl switch板卡d的管理,包括散热控制、上下电、状态指示等。
66.通过上述步骤,cxl数据传输板卡中的控制芯片是支持cxl协议的芯片,并部署了上行端口和下行端口;上行端口与主机连接,其中,主机是支持pcie协议的设备或支持cxl协议的设备;下行端口与处理器和/或内存模组连接,下行端口与上行端口对应连接,使得主机即可以接处理器又可以接内存模组,从而可以根据实际需要灵活配置处理器和内存模组的数量。因此,可以解决相关技术中存在的无法根据不同的工作负载进行资源的重新调配的问题,达到实现灵活调配资源的效果。
67.在一个示例性实施例中,上行端口和下行端口均为n个,n是大于1的自然数。上行端口和下行端口均为n个,n是大于1的自然数。n的取值由控制芯片的功能确定,例如,n可以是16, 也可以是4等,如图2所示,cxl switch芯片中设置6个上下行端口。本实施例通过灵活设备n的取值,可以灵活的设置连接的上下行设备,实现对资源的灵活调配。
68.在一个示例性实施例中,响应数据请求,从路由表中查找主机的路由信息之前,方法还包括:设置n个上行端口和n个下行端口之间的cxl链路的拓扑,其中,cxl链路用于连接对应的上行端口和下行端口;基于cxl链路的拓扑确定主机与处理器和/或内存模组之间的路由,得到路由表。其中,按照路由信息将数据传输至与上行端口对应的下行端口连接的处理器和/或内存模组中,包括:通过下行端口将数据缓存至缓存单元中;从路由信息中选择目标路由;按照目标路由将缓存单元中的数据传输至下行端口连接的处理器和/或内存模组中。
69.在本实施例中,在控制芯片是cxl switch fabric架构的芯片时,控制单元可以是多个cxl switch fanout组成,cxl switch fanout指的是在cxl switch fabric中,将一条cxl链路复制到多个另外的链路的过程。这个过程允许多个设备能够同时访问和共享同一个cxl链路上的设备,从而提高系统性能和可扩展性。控制芯片能够实现cxl switch fanout是因为cxl支持点对点拓扑结构,可以允许多个设备通过一条cxl链路相互通信,在链路中转数据包。cxl switch fanout的主要用途是提高系统中多个设备之间的连接效率
和数据吞吐量。cxl设备通过cxl端口与cxl switch fabric连接。cxl switch root维护着一个路由表,用于存储和管理网络中各个节点之间的路由信息。当cxl设备发送数据请求时,路由表选择最佳路径,将数据转发到目的cxl设备,例如,将host1中的数据传输至内存模组中存储。cxl数据传输板卡中的cxl端口的流量管理器将数据按顺序存储在缓存区中,以便快速处理和传输。cxl switch fabric根据输入端口和路由表的信息,在缓冲区中选择最佳路径,并将数据转发到目标cxl设备的端口。在转发数据的同时,cxl switch fabric还需要确保控制芯片内部通信速度的稳定和性能的一致性。当cxl设备需要返回数据时,cxl switch fabric同样会根据路由信息和缓存区的状态,找到最佳的路径,将数据传输到目标设备。
70.在一个示例性实施例中,按照路由信息将数据传输至与上行端口对应的下行端口连接的处理器和/或内存模组中之前,方法还包括:在主机与处理器和/或内存模组建立连接的情况下,识别处理器和/或内存模组支持的协议类型,以按照处理器和/或内存模组支持的协议类型将数据传输至处理器和/或内存模组支持的协议类型。在本实施例中,通过bios命令去识别端口连接的是pcle设备还是cxl设备。例如,主机以inteleagle stream 系列的cpu为例,cxl互连完全依赖于 pcie 5.0电气层,所有拓扑都依赖于pcie。eagle stream cpu可以支持cxl4x16个通道。cxl 和 pci express 设备可以同时工作在给定端口下,每个设备8lane。任何x16 pci express端口都可以连接到pci express设备或cxl设备。识别单元能够自动检测另一端是pci express卡还是cxl设备,并动态配置链接。在连接cxl设备的时候,应该在bios提前进行设置cxl模式,还可以通过bios命令去识别端口连接的是pcle设备还是cxl设备。本实施例通过控制芯片可以控制链路拓扑和路由信息,以及识别设备的类型,从而可以快速的对资源进行调配。
71.在一个示例性实施例中,主机包括m个,处理器包括p个,内存模组包括k个,其中,m、p以及k均是大于或等于1的自然数。在m大于1的情况下,m个主机共享k个内存模组。在n为16的情况下,m大于或等于2且小于或等于7。在n为16的情况下,m为7,p为7,处理器和主机一一对应,或者,一个主机对应多个处理器,其中,主机和处理器之间通过pcie协议传输数据。
72.例如,在控制芯片选用cxl 2.0 switch芯片的情况下,控制芯片兼容pcie 5.0,支持不同的firmware(写入(可擦写)或 (电可擦可编程只读存储器)中的程序)切换,控制芯片共计16个端口port,每个port都可以配置成pcie或者cxl,支持pcie与cxl混用的场景。可以最多接7个host,最少接2个。在应用于高速计算的场景中时,上行设备可以连接7个host,下行设备可以连接7个gpu,每个host接一个gpu,可以多路并行处理数据。也可以接2个主机,每个主机出4路x16信号,host1接4个gpu用于加速处理数据,host2接4x16的内存模组用于读取存储数据;也可以上行连接4个主机,下行连接8x16的内存模组,走cxl协议。每个主机分出两组x16 port,接两个x16内存模组。
73.可选地,如图3所示,在控制芯片的switch层面,可以由多个vcxl组成,可以根据主机的指令要求,映射到指定的物理端口,最多可以支持分配16个逻辑存储空间。每个vcxl都有自己的id,在主机的控制下用来绑定或者解绑vcxl到物理端口的映射,实现不同端口间的配置。
74.本实施例中的端口可以基于应用实际需求进行灵活配置,主机的数量和主机的端口资源信息也可以进行灵活配置。从而可以实现灵活调配资源的目的。
75.在一个示例性实施例中,在k大于1的情况下,一个主机对应多个内存模组,多个内存模组组成一个主机的内存资源池,其中,主机与内存模组之间通过cxl协议传输数据,主机的数量和内存模组的数量呈正比关系。
76.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
77.在本实施例中还提供了一种链路交换的控制系统,链路交换的控制系统包括上述的cxl数据传输板卡该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。
78.本技术的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
79.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
80.本技术的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
81.本技术的实施例还提供了一种电子设备,图7是根据本技术实施例的电子设备的示意图,如图7所示,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
82.在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
83.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
84.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
85.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种cxl数据传输板卡,其特征在于,包括:控制芯片,所述控制芯片是支持开放式互连标准cxl协议的芯片,所述控制芯片上部署了上行端口和下行端口;所述上行端口与主机连接,其中,所述主机是支持高速串行计算机扩展总线标准pcie协议的设备或支持所述cxl协议的设备;所述下行端口与处理器和/或内存模组连接,所述下行端口与所述上行端口对应连接,所述主机用于通过所述上行端口将数据传输至对应的所述下行端口,以通过所述下行端口将所述数据传输至所述处理器和/或所述内存模组,其中,所述处理器和所述内存模组均是支持所述pcie协议的设备或支持所述cxl协议的设备。2.根据权利要求1所述的cxl数据传输板卡,其特征在于,所述上行端口和所述下行端口均为n个,所述n是大于1的自然数。3.根据权利要求2所述的cxl数据传输板卡,其特征在于,所述控制芯片包括:控制单元,所述控制单元用于控制所述上行端口和所述下行端口之间的cxl链路的拓扑,其中,所述cxl链路用于连接对应的所述上行端口和所述下行端口。4.根据权利要求2所述的cxl数据传输板卡,其特征在于,所述控制芯片包括:管理单元,所述管理单元用于管理所述主机与所述处理器和/或所述内存模组之间的路由信息。5.根据权利要求2-4任一项所述的cxl数据传输板卡,其特征在于,所述控制芯片包括:识别单元,所述识别单元与所述处理器和/或所述内存模组连接,所述识别单元用于在所述主机与所述处理器和/或所述内存模组建立连接的情况下,识别所述处理器和/或所述内存模组支持的协议类型。6.根据权利要求2所述的cxl数据传输板卡,其特征在于,所述主机包括m个,所述处理器包括p个,所述内存模组包括k个,其中,所述m、所述p以及所述k均是大于或等于1的自然数。7.根据权利要求6所述的cxl数据传输板卡,其特征在于,在所述m大于1的情况下,m个所述主机共享k个所述内存模组。8.根据权利要求6所述的cxl数据传输板卡,其特征在于,所述n为16,所述m大于或等于2且小于或等于7。9.根据权利要求6所述的cxl数据传输板卡,其特征在于,所述n为16,所述m为7,所述p为7,所述处理器和所述主机一一对应,或者,一个所述主机对应多个所述处理器,其中,所述主机和所述处理器之间通过所述pcie协议传输数据。10.根据权利要求6所述的cxl数据传输板卡,其特征在于,在所述k大于1的情况下,一个所述主机对应多个所述内存模组,多个所述内存模组组成一个所述主机的内存资源池,其中,所述主机与所述内存模组之间通过所述cxl协议传输数据,所述主机的数量和所述内存模组的数量呈正比关系。11.根据权利要求1所述的cxl数据传输板卡,其特征在于,还包括:连接器,所述连接器连接所述控制芯片和管理器,其中,所述管理器用于通过所述连接器管理所述控制芯片的运行。12.根据权利要求1所述的cxl数据传输板卡,其特征在于,还包括:
时钟发生器,所述时钟发生器与所述控制芯片连接,用于产生启动所述控制芯片的第一初始化时钟信号,并用于在所述控制芯片启动之后,产生协调所述控制芯片的时钟频率的第一时钟信号。13.根据权利要求12所述的cxl数据传输板卡,其特征在于,所述时钟发生器通过预设接口与所述控制芯片、所述处理器以及所述内存模组均连接,用于分别产生启动所述控制芯片、所述处理器以及所述内存模组的第二初始化时钟信号,并用于在所述控制芯片、所述处理器以及所述内存模组启动之后,产生协调所述控制芯片、所述处理器以及所述内存模组的时钟频率的第二时钟信号。14.根据权利要求12所述的cxl数据传输板卡,其特征在于,所述cxl数据传输板卡还包括:调试设备,所述调试设备与所述控制芯片连接,用于对所述控制芯片的cxl性能进行调试。15.一种控制数据传输的方法,其特征在于,包括:通过上行端口接收主机发送的数据请求,其中,所述数据请求中包括待传输的数据,所述主机是支持pcie协议的设备或支持cxl协议的设备;响应所述数据请求,从路由表中查找所述主机的路由信息;按照所述路由信息将所述数据传输至与所述上行端口对应的下行端口连接的处理器和/或内存模组中,其中,所述下行端口与所述上行端口对应连接, 所述处理器和所述内存模组均是支持所述pcie协议的设备或支持所述cxl协议的设备。16.根据权利要求15所述的方法,其特征在于,所述上行端口和所述下行端口均为n个,所述n是大于1的自然数。17.根据权利要求15所述的方法,其特征在于,响应所述数据请求,从路由表中查找所述主机的路由信息之前,所述方法还包括:设置n个所述上行端口和n个所述下行端口之间的cxl链路的拓扑,其中,所述cxl链路用于连接对应的所述上行端口和所述下行端口;基于所述cxl链路的拓扑确定所述主机与所述处理器和/或所述内存模组之间的路由,得到所述路由表。18.根据权利要求15所述的方法,其特征在于,按照所述路由信息将所述数据传输至与所述上行端口对应的下行端口连接的处理器和/或内存模组中,包括:通过所述下行端口将所述数据缓存至缓存单元中;从所述路由信息中选择目标路由;按照所述目标路由将所述缓存单元中的所述数据传输至所述下行端口连接的所述处理器和/或所述内存模组中。19.根据权利要求15所述的方法,其特征在于,按照所述路由信息将所述数据传输至与所述上行端口对应的下行端口连接的处理器和/或内存模组中之前,所述方法还包括:在所述主机与所述处理器和/或所述内存模组建立连接的情况下,识别所述处理器和/或所述内存模组支持的协议类型,以按照所述处理器和/或所述内存模组支持的协议类型将所述数据传输至所述处理器和/或所述内存模组支持的协议类型。20.根据权利要求15所述的方法,其特征在于,所述主机包括m个,所述处理器包括p个,
所述内存模组包括k个,其中,所述m、所述p以及所述k均是大于或等于1的自然数。21.根据权利要求20所述的方法,其特征在于,在所述m大于1的情况下,m个所述主机共享k个所述内存模组。22.根据权利要求20所述的方法,其特征在于,所述m大于或等于2且小于或等于7。23.根据权利要求20所述的方法,其特征在于,所述m为7,所述p为7,所述处理器和所述主机一一对应,或者,一个所述主机对应多个所述处理器,其中,所述主机和所述处理器之间通过所述pcie协议传输数据。24.根据权利要求20所述的方法,其特征在于,在所述k大于1的情况下,一个所述主机对应多个所述内存模组,多个所述内存模组组成一个所述主机的内存资源池,其中,所述主机与所述内存模组之间通过所述cxl协议传输数据,所述主机的数量和所述内存模组的数量呈正比关系。25.一种链路交换的控制系统,其特征在于,所述链路交换的控制系统包括权利要求1至14任一项所述的cxl数据传输板卡。26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求15至24任一项中所述的方法的步骤。27.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求15至24任一项中所述的方法的步骤。
技术总结
本申请实施例提供了一种CXL数据传输板卡及控制数据传输的方法,该CXL数据传输板卡包括:控制芯片,控制芯片是支持开放式互连标准CXL协议的芯片,控制芯片上部署了上行端口和下行端口;上行端口与主机连接,其中,主机是支持高速串行计算机扩展总线标准PCIe协议的设备或支持CXL协议的设备;下行端口与处理器和/或内存模组连接,下行端口与上行端口对应连接,主机用于通过上行端口将数据传输至对应的下行端口,以通过下行端口将数据传输至处理器和/或内存模组。通过本申请,解决了相关技术中存在的无法根据不同的工作负载进行资源的重新调配的问题,达到实现灵活调配资源的效果。达到实现灵活调配资源的效果。达到实现灵活调配资源的效果。
技术研发人员:赵建杰
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.06.28
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种极片对齐度的检测方法与流程 下一篇:颗粒状物料超长距离输送装置及方法与流程