CN117493237A - 计算设备、服务器、数据处理方法和存储介质 - Google Patents
计算设备、服务器、数据处理方法和存储介质 Download PDFInfo
- Publication number
- CN117493237A CN117493237A CN202311850460.9A CN202311850460A CN117493237A CN 117493237 A CN117493237 A CN 117493237A CN 202311850460 A CN202311850460 A CN 202311850460A CN 117493237 A CN117493237 A CN 117493237A
- Authority
- CN
- China
- Prior art keywords
- memory
- accelerator
- data
- computing device
- pcie switch
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 230000015654 memory Effects 0.000 claims abstract description 416
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000013473 artificial intelligence Methods 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 19
- 239000004744 fabric Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 239000007787 solid Substances 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 230000002093 peripheral effect Effects 0.000 description 15
- 238000013403 standard screening design Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 238000012549 training Methods 0.000 description 13
- 230000001133 acceleration Effects 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 10
- 238000001152 differential interference contrast microscopy Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 101710176296 Switch 2 Proteins 0.000 description 6
- 102100035964 Gastrokine-2 Human genes 0.000 description 4
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013341 scale-up Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009740 moulding (composite fabrication) Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供一种计算设备、服务器、数据处理方法和存储介质,属于计算机技术领域。所述计算设备包括:中央处理器CPU,加速器和第一高速串行计算机扩展总线标准PCIe交换器;所述加速器与所述第一PCIe交换器的第一下行端口连接;所述第一PCIe交换器的上行端口与所述CPU连接;所述第一PCIe交换器的各端口支持计算快速链路CXL协议;所述加速器被配置为基于CXL协议对主存储器进行存取操作。本发明使得加速器可以直接对主存储器进行操作,扩展了加速器可以使用的内存,提供了更高效的内存存取和共享,可以加速数据存取,提高计算设备或服务器的性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种计算设备、服务器、数据处理方法和存储介质。
背景技术
近年来,人工智能(Artificial Intelligence,AI)的广泛应用带来了许多技术挑战,尤其是在满足机器学习和深度学习的需求方面。传统的中央处理器(CentralProcessing Unit,CPU)和图形处理单元(Graphic processing unit,GPU)在处理复杂的AI任务时可能会面临性能瓶颈,造成性能瓶颈的不是运算能力,而是如GPU这种加速器的内存。
因此,如何提供一种扩展加速器内存的架构或方法成为亟待解决的技术问题。
发明内容
本发明提供一种计算设备、服务器、数据处理方法和存储介质,用以解决相关技术中在处理复杂的AI任务时可能会面临性能瓶颈,造成性能瓶颈的不是运算能力,而是加速器内存的缺陷。
本发明提供一种计算设备,包括:中央处理器CPU,加速器和第一高速串行计算机扩展总线标准PCIe交换器;
所述加速器与所述第一PCIe交换器的第一下行端口连接;
所述第一PCIe交换器的上行端口与所述CPU连接;
所述第一PCIe交换器的各端口支持计算快速链路CXL协议;
所述加速器被配置为基于CXL协议对主存储器进行存取操作。
根据本发明提供的一种计算设备,还包括:内存扩展单元,
所述内存扩展单元与所述第一PCIe交换器的第二下行端口连接;
所述内存扩展单元的本地存储器与主存储器构成统合内存;
所述加速器被配置为基于CXL协议对所述统合内存进行存取操作。
根据本发明提供的一种计算设备,所述内存扩展单元包括至少一个具有独立内存的第一处理单元。
根据本发明提供的一种计算设备,所述第一处理单元包括现场可编程门阵列FPGA、复杂程序逻辑器件CPLD、可编程逻辑器件PLD、专用集成电路ASIC、通用阵列逻辑GAL、片上系统SOC、软件定义架构SDI芯片和人工智能AI芯片中的任意一种或组合。
根据本发明提供的一种计算设备,所述内存扩展单元包括内存扩展板卡。
根据本发明提供的一种计算设备,所述内存扩展板卡搭载动态随机存取存储器DRAM或存储级内存SCM。
根据本发明提供的一种计算设备,还包括:非易失性内存主机控制器接口规范NVMe固态硬盘,所述NVMe固态硬盘与所述第一PCIe交换器的第三下行端口连接;
所述加速器被配置为基于CXL协议对所述NVMe固态硬盘进行存取操作。
根据本发明提供的一种计算设备,还包括:网络接口控制器NIC,
所述NIC与所述第一PCIe交换器的第四下行端口连接;
所述加速器被配置为基于CXL协议与所述NIC进行数据交互。
根据本发明提供的一种计算设备,还包括:第一MCIO连接器,
所述第一MCIO连接器与所述第一PCIe交换器的Fabric端口连接,用于与其他计算设备的第二MCIO连接器连接。
根据本发明提供的一种计算设备,所述内存扩展单元包括内存池,所述内存池包括至少一个具有独立内存的第二处理单元和至少一个第二PCIe交换器;
所述第二PCIe交换器的下行端口连接所述第二处理单元的第一Endpoint端口,所述第二处理单元的第二Endpoint端口连接所述第一PCIe交换器的第五下行端口。
根据本发明提供的一种计算设备,所述内存池还包括第三MCIO连接器,所述第三MCIO连接器与所述第二PCIe交换器的Fabric端口连接,用于与其他计算设备的第四MCIO连接器连接。
根据本发明提供的一种计算设备,所述第二处理单元包括现场可编程门阵列FPGA、复杂程序逻辑器件CPLD、可编程逻辑器件PLD、专用集成电路ASIC、通用阵列逻辑GAL、片上系统SOC、软件定义架构SDI芯片和人工智能AI芯片中的任意一种或组合。
根据本发明提供的一种计算设备,所述FPGA用于使用动态分区技术将所述FPGA的内部资源区分为不同的区域,或者,使用直接内存存取DMA控制器来实现内存的动态分配和数据传输。
根据本发明提供的一种计算设备,所述加速器为图形处理单元GPU。
本发明还提供一种服务器,包括:如上述任一种所述的计算设备。
本发明还提供一种数据处理方法,基于如上述任一种所述的计算设备,包括:
所述加速器基于CXL协议,向所述主存储器发送第一数据请求消息;
所述主存储器响应于所述第一数据请求消息,通过所述第一PCIe交换器将第一任务数据发送至所述加速器。
根据本发明提供的一种数据处理方法,所述方法还包括:
所述加速器基于所述第一任务数据执行计算任务,生成第一结果数据;
所述加速器接收CPU发送的第二数据请求消息,将所述第一结果数据发送至主存储器。
根据本发明提供的一种数据处理方法,所述方法还包括:
加速器基于CXL协议,向内存扩展单元发送第三数据请求消息;
所述内存扩展单元响应于所述第三数据请求消息,通过所述第一PCIe交换器将第二任务数据发送至所述加速器。
根据本发明提供的一种数据处理方法,所述方法还包括:
所述加速器通过所述第一PCIe交换器将第三任务数据存储至所述内存扩展单元。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一种所述的数据处理方法。
本发明提供的计算设备、服务器、数据处理方法和存储介质,加速器通过第一PCIe交换器与CPU连接,可以使得加速器基于CXL协议对主存储器进行存取操作,从而使得加速器可以直接对主存储器进行操作,扩展了加速器可以使用的内存,提供了更高效的内存存取和共享,可以加速数据存取,提高计算设备或服务器的性能。
附图说明
为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的计算设备的结构示意图;
图2为本发明实施例提供的CPU与GPU通过PCIe/CXL接口实现GPU使用主存储器的基本架构示意图;
图3为本发明实施例提供的CPU与FPGA之间实现统合内存基本架构示意图;
图4为本发明实施例提供的利用有CXL功能的Switch实现GPU存取统合内存的示意图;
图5为本发明实施例提供的直接内存访问架构的示意图;
图6为本发明实施例提供的内存直接存取架构的扩展示意图;
图7为本发明实施例提供的内存池扩展架构的示意图之一;
图8为本发明实施例提供的内存池扩展架构的示意图之二;
图9为本发明实施例提供的GPU0-GPU7八颗GPU的连接示意图;
图10为本发明实施例提供的服务器的结构示意图;
图11为本发明实施例提供的数据处理方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,本发明中的“或”表示所连接对象的至少其中之一。例如“A或B”涵盖三种方案,即,方案一:包括A且不包括B;方案二:包括B且不包括A;方案三:既包括A又包括B。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明的术语“指示”既可以是一个直接的指示(或者说显式的指示),也可以是一个间接的指示(或者说隐含的指示)。其中,直接的指示可以理解为,发送方在发送的指示中明确告知了接收方具体的信息、需要执行的操作或请求结果等内容;间接的指示可以理解为,接收方根据发送方发送的指示确定对应的信息,或者进行判断并根据判断结果确定需要执行的操作或请求结果等。
近年来,人工智能(Artificial Intelligence,AI)的广泛应用带来了许多技术挑战,尤其是在满足机器学习和深度学习的需求方面。传统的中央处理器(CentralProcessing Unit,CPU)和图形处理单元(Graphic processing unit,GPU)在处理复杂的AI任务时可能会面临性能瓶颈,因为这些任务通常需要大量的计算资源和内存容量。
对于AI应用来说,现有的硬件通常可以应付一部分任务,但在处理大规模和复杂的AI工作负载时,它们可能会面临性能和内存方面的限制。AI模型的规模和复杂性不断增加,导致了更大的计算和存储需求。这对硬件提出了更高的要求。除了运算效能的挑战,AI训练还面临着记忆容量和带宽的问题。深度学习模型通常具有大量参数,需要大量的内存容量来存储和处理数据。同时由于深度学习模型的大规模并行计算需求,高内存带宽也变得至关重要。
为了应对这些挑战,很多硬件制造商也在不断推出新的解决方案,包括更高内存容量的GPU和专用的AI加速器。另外,高带宽内存技术,如高带宽内存(High BandwidthMemory,HBM)和图形双倍数据率(Graphics Double Data Rate,GDDR)也被广泛采用。
AI训练的运算量每年都在大幅增长,AI训练未来的瓶颈不是被运算能力限制,而是被GPU内存阻碍。因此,如何提供一种扩展GPU内存的架构或方法成为亟待解决的技术问题。
下面结合图1-图11描述本发明的计算设备、服务器、数据处理方法和存储介质。
本发明提供的计算设备,实现了GPU扩展内存的架构,解决GPU遇上内存墙(Memorywall)的问题。
本发明利用CXL(Compute Express Link ,计算快速链路)高速互连技术,提供了水平扩充(scale-out)内存的架构。内存水平扩充(scale-out memory)是一种扩展计算系统中可用内存容量的方法。当计算系统需要处理大量数据或执行内存密集型任务时,单个节点的内存容量可能会变得不足。内存水平扩充旨在通过将多个计算节点(通常是多个计算设备或服务器)连接在一起,形成一个大型集群,共享彼此的内存资源,从而扩展可用的内存容量。
下面对CXL技术进行介绍。CXL(Compute Express Link)是一种高速互连技术,旨在解决数据中心和计算系统中的内存和加速器连接挑战。CXL是一个开放的标准,由计算机硬件制造商组成的联盟共同推动。CXL技术最初是为了让CPU与AFU(加速功能单元)共享记忆而建立,进而实现处理器(如CPU,ASIC,FPGA等)之间的内存互连技术。
CXL3.0功能包括:周边装置间的点对点信息传输(Peer-to-Peer messaging),也就是在周边装置之间,提供一种不经由CPU的直接内存存取(Direct Memory Access,DMA)传输架构。可搭配强化的硬件一致性机制,能将周边装置的内存区域,同时共享给多个主机CPU使用。CXL3.0是CXL技术的最新版本,它在之前版本的基础上进行了改进和扩展。CXL3.0具有以下主要特性:
高带宽和低延迟:CXL3.0提供了高带宽和低延迟的数据传输能力,可以更快地将数据从存储器传输到加速器或其他处理单元,从而提高系统性能。
内存扩展:CXL3.0支持内存扩展,允许多个设备共享物理内存,从而扩大可用的内存容量。这对于处理大规模数据集和内存密集型任务非常有用。
计算加速:CXL 3.0支持与计算加速器(如GPUs、FPGAs等)的高效连接,使它们能够更好地与主处理器和存储器协同工作,加速计算任务。
兼容性:CXL3.0与PCI Express(PCIe)和Memory CXL互连标准兼容,这使得现有的硬件和软件可以较为顺利地进行升级和迁移。
CXL定义3种周边装置应用型态:
Type 1:通过CXL.io与CXL.cache协议运作,适用于那些没有配置独立内存的特定用途加速装置,例如,某些智能网络卡或影像加速卡,现在可以通过CXL协议来存取主机CPU的内存,将这些内存分享给这些周边装置,作为高速缓存使用。CXL Type 1应用装置的基本概念,类似CPU内建显示芯片而能共享系统主存储器的架构,同样都可让周边装置使用主存储器,让这些周边装置免除配置独立内存的需要,CXL则允许任何支持CXL.io与CXL.cache协议的PCIe周边装置,使用系统的主存储器。
Type 2:通过CXL.io、CXL.cache与CXL.mem协定运作,用于自身拥有高效能内存(GDDR或HBM内存)的通用型加速装置,如GPU卡,或是基于FPGA、ASIC的加速卡等,可通过CXL协议在这些周边装置与主机CPU之间,提供双向的内存共享,既可让周边装置存取主机CPU的内存,也能让主机CPU存取周边装置的内存。 CXL Type 2应用是藉由共享主机CPU与周边装置的内存,动态调配两者的内存资源,进而提高系统整体内存资源的利用效率。
Type 3:通过CXL.io与CXL.mem协议运作,这类装置是基于动态随机存取存储器(Dynamic Random Access Memory,DRAM)或储存级内存(Storage Class Memory,SCM)的内存扩充板卡,主机CPU可以通过CXL协议,来存取这类内存扩充板卡搭载的DRAM,或是非挥发性的SCM内存。
图1为本发明实施例提供的计算设备的结构示意图。如图1所示,该计算设备包括:中央处理器CPU 110,加速器120和第一高速串行计算机扩展总线标准(PeripheralComponent Interconnect Express,PCIe)交换器(Switch)130;
所述加速器120与所述第一PCIe交换器130的第一下行端口连接;
所述第一PCIe交换器130的上行端口与所述CPU 110连接;
所述第一PCIe交换器130的各端口工作在计算快速链路CXL模式或PCIe模式下;
所述加速器被配置为基于CXL协议对主存储器进行存取操作。
此处,CXL协议具体为CXL.io与CXL.cache协议。
可选地,加速器可以是GPU,或者其他异构加速设备。例如,其他异构加速设备可以是现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circui,ASIC)等。
可以理解,加速器通过第一PCIe交换器与CPU连接,可以使得加速器基于CXL协议直接对系统的主存储器进行存取操作。存取操作是指将数据写入或将数据读出。
所述第一PCIe交换器的各端口支持计算快速链路CXL协议。所述第一PCIe交换器的各端口工作在计算快速链路CXL模式或PCIe模式下,即第一PCIe交换器的各端口为PCIe/CXL接口。
下面以加速器是GPU为例进行说明。图2为本发明实施例提供的CPU与GPU通过PCIe/CXL接口实现GPU使用主存储器的基本架构示意图。如图2所示,为CXL Type 1应用型态,GPU通过CXL Type 1应用可以实现对主存储器的存取,这样的设计带来了几个好处:
共享资源:GPU与主机CPU共享相同的内存空间,可以直接在主存储器中存取数据,避免了数据从主存储器到GPU专用内存的额外复制。
节省成本:GPU可以直接通过CXL扩充配置内存量。
快取加速:将主存储器用作快取存储器,可以加速GPU的数据存取,提高性能。
CXL技术的引入将进一步推动GPU与主机CPU之间的协同工作,提供更高效的内存存取和共享,进而优化高性能计算应用。
在本发明实施例中,加速器通过第一PCIe交换器与CPU连接,使得加速器可以基于CXL协议对主存储器进行存取操作,从而使得加速器可以直接对主存储器进行操作,扩展了加速器可以使用的内存,提供了更高效的内存存取和共享,可以加速数据存取,提高性能。
在一些实施例中,所述计算设备还包括:内存扩展单元,
所述内存扩展单元与所述第一PCIe交换器的第二下行端口连接;
所述内存扩展单元的本地存储器与主存储器构成统合内存;
所述加速器被配置为基于CXL协议对所述统合内存进行存取操作。
可以理解的是,本实施例中的内存扩展单元与第一PCIe交换器的第二下行端口连接,而第一PCIe交换器的第一下行端口连接了加速器,第一PCIe交换器的上行端口连接CPU,则加速器和内存扩展单元之间可以实现点对点通信,内存扩展单元可以对主存储器进行存取操作,相应地,CPU也可以对内存扩展单元的本地存储器进行存取操作。
内存扩展单元的本地存储器与主存储器构成统合内存,所述加速器可以基于CXL协议对所述统合内存进行存取操作。
下面对统合内存(Converged Memory)进行介绍。
Converged Memory(统合内存)是一种计算概念,其中不同类型的内存技术被整合或结合成一个单一的内存池或架构。这种方法旨在解决传统内存层次结构的限制和挑战,其中不同的内存类型(例如DRAM、SRAM、NAND闪存)用于特定目的,例如主存储器、高速缓存和存储。
统合内存的理念是创建一个统一的内存系统,可以提供更好的性能、能源效率和简化的内存管理。通过结合多种内存技术,数据可以更有效地在不同层次的内存层次结构之间共享和移动,减少了不同内存类型之间的数据传输需求,潜在地减少了延迟。
可选地,所述内存扩展单元包括至少一个具有独立内存的第一处理单元。
可选地,所述第一处理单元包括现场可编程门阵列(Field Programmable GateArray,FPGA)、复杂程序逻辑器件(Complex Programmable Logic Device,CPLD)、可编程逻辑器件(Programmable Logic Device,PLD)、专用集成电路(Application SpecificIntegrated Circui,ASIC)、通用阵列逻辑(Generic Array Logic,GAL)、片上系统(Systemon Chip,SOC)、软件定义架构(Software Defined Infrastructure,SDI)芯片和人工智能(Artificial Intelligence,AI)芯片中的任意一种或组合。
下面以第一处理单元为FPGA为例进行说明。图3为本发明实施例提供的CPU与FPGA之间实现统合内存基本架构示意图,如图3所示,为典型CXL Type2的应用,FPGA与主机CPU之间的双向内存共享。这允许FPGA等设备拥有高性能的独立内存(如GDDR或HBM内存),并与CPU共享内存,以实现更高效的数据传输和处理。通过CXL通讯架构,CPU和FPGA可以实现更紧密的集成和协同工作,将CPU的Host Memory与FPGA的Optional Memory形成统合内存(Converged Memory),提高系统的整体性能和灵活性。将FPGA和CPU的内存资源进行整合和共享的技术。传统上,FPGA和CPU拥有独立的内存空间,数据必须在它们之间进行显式的复制或传输。而 Converged Memory 技术通过在硬件和软件层面实现内存资源的共享,使得FPGA 和 CPU 可以访问同一片物理内存,从而实现更高效的数据传输和共享。
Converged Memory 技术带来了以下好处:
数据共享: FPGA 和 CPU 可以直接共享相同的内存空间,无需复制数据。这样,数据可以在 FPGA 和 CPU 之间更加高效地传输,减少了数据传输的延迟和复制的开销。
灵活性:FPGA 可以访问 CPU 的内存空间,允许它直接处理 CPU 存储的数据。这为 FPGA 和 CPU 之间的协同工作提供了更大的灵活性和可能性。
内存管理:通过 Converged Memory,内存管理可以更加统一,简化了数据在 FPGA和 CPU 之间的传输和管理,提高了系统的整体性能。
节约资源:由于共享了相同的内存资源,系统中所需的物理内存容量可以减少,节约了硬件成本。
本发明利用拥有CXL功能的Switch(交换器,或称为交换机)去同时实现CPU与FPGA的统合内存功能与GPU直接存取CPU与FPGA的共享相同的内存空间。图4为本发明实施例提供的利用有CXL功能的Switch实现GPU存取统合内存的示意图。如图4所示,利用Switch上行端口连接CPU root complex,下行端口连接GPU与FPGA,GPU可以通过Switch去调配FPGA的内存去补足GPU自身Local Memory不足的问题,加上CXL3.0协议其物理层是使用PCIe 6.0的接口,PCIe 6.0是PCIe(Peripheral Component Interconnect Express)总线的最新版本,它的传输速度是16 GT/s(千兆传输每秒)。也就是说,PCIe 6.0的速度为16千兆每秒,相较于之前的版本(如PCIe 5.0和PCIe 4.0)有着更快的数据传输速率。允许主机CPU与周边设备之间通过CXL协议进行高速的内存访问和共享。
可以大量使用图4架构的特性去实现扩展内存池(Memory Pool)的功能。
本发明实施例提供的计算设备,还包括内存扩展单元,内存扩展单元与第一PCIe交换器的第二下行端口连接;内存扩展单元的本地存储器与主存储器构成统合内存,从而加速器可以存取CPU与内存扩展单元共享的内存空间,减少了数据传输的延迟和复制的开销,由于CPU与内存扩展单元共享了相同的内存资源,系统中所需的物理内存容量可以减少,节约了硬件成本,内存管理可以更加统一,提高了系统的整体性能。
在一些实施例中,所述内存扩展单元包括内存扩展板卡。
具体地,内存扩展板卡与所述第一PCIe交换器的第二下行端口连接;
内存扩展板卡的本地存储器与主存储器构成统合内存;
所述加速器被配置为基于CXL协议对所述统合内存进行存取操作。此处,CXL协议包括CXL.io与CXL.mem协议,通过CXL.io与CXL.mem协议运作,内存扩展板卡的本地存储器与主存储器构成统合内存,从而加速器可以存取内存扩展板卡搭载的本地存储器。
可选地,所述内存扩展板卡搭载动态随机存取存储器DRAM或存储级内存SCM。
本发明实施例提供的计算设备,内存扩展单元可以是内存扩展板卡,加速器可以存取内存扩展板卡的本地存储器与主存储器构成的统合内存,扩展了加速器可以使用的内存,提供了更高效的内存存取和共享,可以加速数据存取,提高性能。
在一些实施例中,计算设备还包括:非易失性内存主机控制器接口规范(Non-Volatile Memory Express,NVMe)固态硬盘(Solid State Drive,SSD),所述NVMe固态硬盘与所述第一PCIe交换器的第三下行端口连接;
所述加速器被配置为基于CXL协议对所述NVMe固态硬盘进行存取操作。
具体地,PCIe Switch支持NVMe SSD和GPU之间的点对点(Point to Point,P2P)通信,允许直接在NVMe SSD和GPU之间传输数据,而无需涉及主机CPU。这种直接通信路径可以显著降低数据传输延迟和CPU开销,从而在某些工作负载下提高整体系统性能。在传统的PCIe配置中,NVMe SSD和GPU之间的数据传输需要先将数据从NVMe SSD发送到主机内存,然后再从主机内存发送到GPU的内存。这个过程涉及多次跳跃,增加了额外的延迟。然而,通过PCIe Switch的P2P通信,NVMe SSD和GPU可以直接通过PCIe Switch进行数据交换,而无需涉及主机内存或CPU。这种P2P通信特别适用于需要在NVMe SSD和GPU之间频繁交换数据的任务,例如人工智能、机器学习和高性能计算等数据密集型工作负载。通过启用直接通信,PCIe Switch的P2P功能可以增强数据密集型应用的整体效率和性能,减少数据移动瓶颈。
在一些实施例中,计算设备还包括:网络接口控制器(Network InterfaceController,NIC),所述NIC与所述第一PCIe交换器的第四下行端口连接;所述加速器被配置为基于CXL协议与所述NIC进行数据交互。
具体地,PCIe Switch硬件本身具有点对点(Peer to peer)通讯的功能,支持点对点之间最短路径传输,加速器可以通过Switch P2P功能与NIC直接进行数据传输至以太网,最短路径传输只会经过PCIe Switch且不造成任何CPU的负担,减少系统资源的浪费。
图5为本发明实施例提供的直接内存访问架构的示意图。如图5所示,该架构包括:主板(Mother Board,MB)和人工智能合规AI Compliance。
其中,主板MB包括CPU、4组PCIe Switch(图5中只示出了2组)、8组FPGA(图5中只示出了4组)、2组MCIO(迷你酷边IO, Mini Cool Edge IO)连接器(图5中只示出了一组)。
其中,CPU为X86平台,且需为支持CXL功能的型号。
4组PCIe Switch ,包括PCIe Switch1、Switch2、Switch3、Switch4。
PCIe Switch 下行端口必须支持在 CXL 模式或 PCIe模式下运作。且适用于AI等数据密集型工作负载。其型号为Broadcom的Atlas 3系列PCIe Switch芯片。
8组FPGA,图5中挂在PCIe Switch下行端口, CPU 与 FPGA 之间能够实现高速、低延迟且高效率的数据传输与沟通。其中FPGA每颗均有多组独立的x16通道PCIe端点(x16lanes PCIe endpoint)。每组独立的PCIe endpoint均可视为一组PCIe 设备。芯片内建8通道DMA(直接内存访问,Direct Memory Access)控制器,支持DDR5 and LPDDR5界面,且支持CXL。
2组MCIO x16连接器,用于内存扩展(Scale-up)。
图5中的UP表示UPstream(上行端口),DP表示Downstream(下行端口),F表示Fabric端口,EP表示endpoint(端点)。其中,根复合体(root Complex)是一个PCI Express(PCIe)总线架构中的重要组件之一,它是一个逻辑节点,用于管理整个PCIe系统。RootComplex通常由CPU、芯片组或者FPGA实现。在PCIe系统中,每个设备都需要连接到一个PCIe总线上,而Root Complex作为PCIe总线架构的起点和中心节点,负责管理所有的PCIe设备和端点,包括分配和管理总线带宽、控制传输和路由数据等。
每组PCIe Switch下行端口搭配双GPU搭配双NIC配置。这种配置在用作机器学习(Machine Learning)训练(Training)阶段,模型需要使用大规模的训练数据集进行优化和学习。训练阶段对网络带宽速度的要求较高,因为大量的训练数据需要从存储设备(如云存储或本地存储)传输到训练服务器或设备。训练过程中的数据传输量通常非常大,特别是在分布式训练中,多个设备之间需要频繁地交换数据。因此,高速、低延迟的网络带宽是非常重要的,可以显着影响训练速度和效率。在大规模的机器学习训练中,通常会使用高带宽的网络连接和专门的网络架构来支持大规模数据传输。
机器学习训练阶段对网络带宽速度的要求较高。在设计和部署机器学习系统时,需要根据具体的应用场景和数据规模来考虑网络带宽的需求,以确保系统的稳定性和高效性。
图5中PCIe Switch硬件本身具有点对点(Peer to peer)通讯的功能,支持点对点之间最短路径传输,如图5的②为GPU可以通过Switch P2P功能与NIC直接进行数据传输至以太网,最短路径传输只会经过PCIe Switch且不造成任何CPU的负担,减少系统资源的浪费。图5中的③也是利用PCIe Switch支持NVMe SSD和GPU之间的点对点(P2P)通信,允许直接在NVMe固态硬盘(NVMe SSD)和图形处理器(GPU)之间传输数据,而无需涉及主机CPU。这种直接通信路径可以显著降低数据传输延迟和CPU开销,从而在某些工作负载下提高整体系统性能。在传统的PCIe配置中,NVMe SSD和GPU之间的数据传输需要先将数据从NVMe SSD发送到主机内存,然后再从主机内存发送到GPU的内存。这个过程涉及多次跳跃,增加了额外的延迟。然而,通过PCIe Switch的P2P通信,NVMe SSD和GPU可以直接通过PCIe Switch进行数据交换,而无需涉及主机内存或CPU。这种P2P通信特别适用于需要在NVMe SSD和GPU之间频繁交换数据的任务,例如人工智能、机器学习和高性能计算等数据密集型工作负载。通过启用直接通信,PCIe Switch的P2P功能可以增强数据密集型应用的整体效率和性能,减少数据移动瓶颈。
图5中的①为CXL Type 1之应用,其可以实现GPU直接对系统的主存储器进行存取的动作。图5中的④为这种配置允许GPU和FPGA直接进行点对点(P2P)通信,以便彼此之间可以直接存取对方的内存,而无需通过主机CPU的参与。具体来说,当GPU需要访问FPGA的内存时,它可以通过PCIe交换器直接将数据传送到FPGA的内存位置。同样地,当FPGA需要访问GPU的内存时,它也可以通过PCIe交换器直接从GPU的内存中读取数据。这样的直接通信方式可以减少数据传输的延迟和CPU的参与,提高内存存取的效率和性能。这种GPU与FPGA之间的P2P内存存取通常适用于需要高效的数据交换和共享的应用,例如在人工智能、机器学习、高性能计算等领域。通过PCIe交换器实现GPU与FPGA之间的内存存取,可以提供高带宽和低延迟的通信通道,进一步增强系统的计算和数据处理能力。
另外图5中,FPGA与主存储器之间也可以通过CXL Type2的应用实现统合内存架构,FPGA加速设备与主机CPU之间的双向内存共享。这允许FPGA等设备拥有高性能的独立内存(如GDDR或HBM内存),与CPU共享内存,以实现更高效的数据传输和处理,将CPU的主存储器(Host Memory)与FPGA的可选存储器(Optional Memory)形成统合内存(ConvergedMemory),形成庞大的内存池。
在一些实施例中,计算设备还包括:第一MCIO连接器,
所述第一MCIO连接器与所述第一PCIe交换器的Fabric端口连接,用于与其他计算设备的第二MCIO连接器连接。
Fabric端口主要功能为支持PCIe Switch与PCIe Switch之间互相传输,具有非阻塞(non-blocking)、线性加速等特性的I/O共享功能和DMA。
图6为本发明实施例提供的内存直接存取架构的扩展示意图。如图6中的⑤即为通过Fabric link的特性实现了两台系统之间的GPU做点对点传输,实现多个GPU设备之间动态地调整和平衡工作负载的过程。在进行并行计算时,可能会将工作负载分配给多个GPU来加速处理,但不同GPU之间的性能和资源可能会有所不同,因此需要进行动态调整来确保最佳性能和效率。图6中的⑥所示,通过Fabric Link与CXL应用也可以实现System 1的FPGA与System 2的FPGA之间的点对点通讯,并整合两台系统的内存池。这样的设计可以实现高效的数据交换和共享,从而提高系统整体性能和效率。这意味着两台系统的FPGA可以直接访问对方的内存,实现共享和共享内存资源,从而更有效地管理和利用内存。
本发明还提供另外一种扩展内存的架构。
在一些实施例中,所述内存扩展单元包括内存池,所述内存池包括至少一个具有独立内存的第二处理单元和至少一个第二PCIe交换器;
所述第二PCIe交换器的下行端口连接所述第二处理单元的第一Endpoint端口,所述第二处理单元的第二Endpoint端口连接所述第一PCIe交换器的第五下行端口。
图7为本发明实施例提供的内存池扩展架构的示意图之一。该内存池扩展架构包括:
1、MB(Mother Board)
其中,CPU为X86平台,且需为支持CXL功能的型号。
2、AI Compliance,包括:
4组PCIe Switch ,PCIe Switch1、Switch2、Switch3、Switch4);
每组PCIe Switch下行端口搭配双GPU搭配双NIC配置;
每组PCIe Switch搭配4组NVMe SSD,整台系统一共有16组NVMe SSD储存单元。
3、Memory Pool,包括:
4组FPGA (如挂在PCIe Switch下行端口的FPGA0、FPGA1、FPGA2、FPGA3);
2组PCIe Switch (如Switch5、Switch6);
2组MCIO x16连接器,用于FPGA Scale-up。
如图7所示,此架构的FPGA拥有三组PCIe Endpoint,这个架构利用PCIe Switch0、PCIe Switch1、 PCIe Switch2、 PCIe Switch3下行端口分别连接至FPGA0、FPGA1、FPGA2、FPGA3的其中一组Endpoint端口,通过 PCIe Switch5、 PCIe Switch6的下行端口去分别连接FPGA0、FPGA1、FPGA2、FPGA3的两组Endpoint,PCIe Switch5与PCIe Switch6各有一组Fabric Port接至MCIO连接器可通过线缆做系统连接,当作内存scale-up的桥梁。
在本发明实施例中,内存扩展单元可以是内存池,内存池包括至少一个具有独立内存的第二处理单元和至少一个第二PCIe交换器,加速器可以存取内存池中第二处理单元的本地存储器,以及第一处理单元的本地存储器和主存储器构成的统合内存,扩展了加速器可以使用的内存,提供了更高效的内存存取和共享,可以加速数据存取,提高性能。
可选地,所述第二处理单元包括现场可编程门阵列FPGA、复杂程序逻辑器件CPLD、可编程逻辑器件PLD、专用集成电路ASIC、通用阵列逻辑GAL、片上系统SOC、软件定义架构SDI芯片和人工智能AI芯片中的任意一种或组合。
可选地,所述内存池还包括第三MCIO连接器,所述第三MCIO连接器与所述第二PCIe交换器的Fabric端口连接,用于与其他计算设备的第四MCIO连接器连接。
图8为本发明实施例提供的内存池扩展架构的示意图之二。如图8所示,通过MCIO将四台计算设备(或称为系统)做Daisy-chain串接,将可以形成庞大的内存池,四台计算设备将共享内存扩充并做内存动态调配。此时四组Host的系统就可互相星链互联的拓扑,当系统一有庞大的内存需求时,可以通过Fabric端口去分配给任何系统,达成动态资源分配,进而增加系统运算单元运算能力,让资源可以做最大化优化。
可选地,所述FPGA用于使用动态分区技术将所述FPGA的内部资源区分为不同的区域,或者,使用直接内存存取DMA控制器来实现内存的动态分配和数据传输。
FPGA可以实现内存分配的功能,这是指在FPGA中动态分配和管理内存资源,让不同的模块或子系统可以共享和使用这些内存。FPGA的内存分配功能需通过以下方式来实现:
a)动态分区:FPGA可以使用动态分区技术来将其内部资源区分为不同的区域,其中一部分区域可以用作FPGA主存储器区域。其余部分可做分区允许在运行时根据系统需求,分配给各GPU或CPU使用。
b)DMA控制器:FPGA可以使用DMA(Direct Memory Access)控制器来实现内存的动态分配和数据传输。DMA控制器可以将数据从FPGA的内存区域传送到其他设备或模块,同时也可以将数据从其他设备或模块传输到FPGA的内存区域,实现内存的动态共享和使用。
本发明架构所用的FPGA 拥有Multi Channel DMA IP for PCI Express,主要由H2DDM(主机到设备数据移动器,Host-to-Device Data Mover)和D2HDM(设备到主机数据移动器,D2H Data Mover)模块组成。它还提供了对主机的DMA-bypass功能,以便进行对设备内存的PIO读写操作。
MCDMA引擎在软件DMA队列上运作,用于在本地FPGA和主机之间传输数据。每个队列的元素是由驱动程序/软件编写的软件描述符。硬件读取队列描述符并执行它们。硬件可以支持多达2K个DMA通道。对于每个通道,使用独立的队列进行读写DMA操作。
H2DDM模块通过PCIe硬件IP和Avalon-MM Write Master / Avalon-ST Source接口将数据从主机内存传输到本地内存。
D2HDM模块将数据从设备内存传输到主机内存。它通过Avalon-MM Read Master /Avalon-ST Sink接口从用户逻辑接收数据,并根据描述符信息(如PCIe地址(目的地)、数据大小和MPS值)生成Mem Wr TLPs,将数据移动到主机,并将其传输到主机内存的接收缓冲区。
在一些实施例中,所述加速器为图形处理单元GPU。
图9为本发明实施例提供的GPU0-GPU7八颗GPU的连接示意图,称为星链拓扑的连结方式,通过PCIe Switch0、PCIe Switch1、PCIe Switch2、PCIe Switch3实现互连,PCIeSwitch0、PCIe Switch1、PCIe Switch2、PCIe Switch3在图9中未示出。PCIe Switch0 其下行端口均为连接至GPU0与GPU1,利用PCIe Switch硬件本身具有点对点(Peer to peer)通讯的功能,支持点对点之间最短路径传输,GPU0与GPU1可以直接做P2P 分享自身内存,GPU2与GPU3为PCIe Switch1的下行端口,GPU4与GPU5为PCIe Switch2的下行端口, GPU6与GPU7为PCIe Switch3的下行端口,均可以通过P2P功能共享之间的内存,因此如图9所示,每一个群组都有互连的路径。而这些路径可以让这八组的GPU内存共享。GPU内存共享是指在GPU上进行通用计算时,多个计算单元(通常是线程或线程)之间共享同一块内存的过程。在GPU中,GPU通常具有大量的计算核心,并且可以同时执行多个计算单元来加速处理。
GPU内存共享是通过在GPU中使用共享内存或全局内存来实现的。这些内存区域可以被不同的计算单元访问和操作,并允许它们在计算过程中共享数据。这样的设计可以避免不必要的数据复制和传输,从而提高计算效率和性能。
然而,在GPU内存共享中,需要特别注意同步和竞争条件的问题。因为多个计算单元同时访问共享内存可能会导致数据竞争和不一致性的情况。为了确保数据的正确性,需要使用同步机制(如互斥锁、信号量等)来控制对共享内存的访问,以确保数据的一致性。
GPU内存共享在许多GPU计算应用中都得到广泛应用,例如机器学习、深度学习、科学计算、图像处理等。通过适当地设计和管理内存共享,可以最大限度地提高GPU的计算效率,从而实现更快速和更高效的运算。
本发明实施例提供的计算设备,具有以下有益效果:1)共享资源:GPU与主机CPU共享相同的内存空间,可以直接在主存储器中存取数据,避免了数据从主存储器到GPU专用内存的额外复制。2)节省成本:GPU与CPU可以直接通过CXL扩充配置内存量。3)快取加速:将主存储器用作快取存储器,可以加速GPU的数据存取,提高性能。4)CXL技术的引入将进一步推动GPU与主机CPU之间的协同工作,提供更高效的内存存取和共享,进而优化高性能计算应用。5)利用CXL协议,主机CPU和加速器之间的内存可以动态调配。这意味着当某个加速器需要更多的内存空间来处理特定的任务时,它可以向主机CPU申请更多的内存,而主机CPU也可以将一部分内存分配给加速器,以最优的方式共享内存资源。6)通过CXL协议实现内存池可以大幅提升系统的整体效能。加速器可以直接存取主机CPU的内存,避免了繁琐的数据传输和复制过程,减少了计算和数据处理的时间,从而加快了系统的运行速度。
图10为本发明实施例提供的服务器的结构示意图。如图10所示,服务器1010包括计算设备1020。对计算设备的理解,可以参考前述实施例中的描述,在此不再赘述。
例如,本发明上述各实施例提供的计算设备可应用在AI服务器上,可以达到解决运算单元内存不足的问题,以满足越来越复杂和庞大的AI模型的需求。
图11为本发明实施例提供的数据处理方法的流程示意图,如图11所示,该数据处理方法包括:
步骤1110、所述加速器基于CXL协议,向所述主存储器发送第一数据请求消息;
在本步骤中,加速器通过第一PCIe交换器与CPU连接,使得加速器基于CXL协议直接对系统的主存储器进行存取操作,故在有需求时,加速器基于CXL协议,向主存储器发送第一数据请求消息,所述第一数据请求消息用于请求主存储器中存储的第一任务数据。
可选地,此处CXL协议具体为CXL.io与CXL.cache协议。
步骤1120、所述主存储器响应于所述第一数据请求消息,通过所述第一PCIe交换器将第一任务数据发送至所述加速器。
在本步骤中,主存储器接收到加速器发送的第一数据请求消息,所述第一数据请求消息用于请求主存储器中存储的第一任务数据,故响应该第一数据请求消息,获取第一任务数据,并通过第一PCIe交换器将第一任务数据发送至所述加速器。
在本发明实施例中,加速器基于CXL协议直接从主存储器获取数据,扩展了加速器可以使用的内存,提供了更高效的内存存取和共享,可以加速数据存取,提高性能。
在一些实施例中,所述方法还包括:
所述加速器基于所述第一任务数据执行计算任务,生成第一结果数据;
所述加速器接收CPU发送的第二数据请求消息,将所述第一结果数据发送至主存储器。
可以理解的是,加速器通过第一PCIe交换器与CPU连接,使得加速器可以基于CXL协议对主存储器进行存取操作,加速器接收到第一任务数据后,执行相应的计算任务,生成第一结果数据,可以将第一结果数据存储至主存储器,以供CPU或其他设备执行其他计算任务需要时使用。加速器也可以将第一结果数据存储在加速器本地的存储器中,CPU在有需要时主动向加速器获取第一结果数据,加速器接收CPU发送的第二数据请求消息,将所述第一结果数据发送至主存储器,从而CPU也可以使用加速器的内存,从而提供了更高效的内存存取和共享。
在本发明实施例中,加速器基于所述第一任务数据执行计算任务,生成第一结果数据,将所述第一结果数据发送至主存储器,CPU也可以使用加速器的计算结果,或者内存中存储的数据,从而提供了更高效的内存存取和共享。
在一些实施例中,所述方法还包括:
加速器基于CXL协议,向内存扩展单元发送第三数据请求消息;
所述内存扩展单元响应于所述第三数据请求消息,通过所述第一PCIe交换器将第二任务数据发送至所述加速器。
本实施例方法的运行需要计算设备中存在内存扩展单元。内存扩展单元与第一PCIe交换器的第二下行端口连接;内存扩展单元的本地存储器与主存储器构成统合内存;所述加速器被配置为基于CXL协议对所述统合内存进行存取操作。可以理解,加速器可以基于CXL协议对统合内存进行存取操作,也即加速器能够从内存扩展单元的本地存储器中获取数据,具体地,加速器基于CXL协议,向内存扩展单元发送第三数据请求消息,所述内存扩展单元响应于所述第三数据请求消息,通过第一PCIe交换器将第二任务数据发送至所述加速器。
在本发明实施例中,内存扩展单元的本地存储器与主存储器构成统合内存,加速器可以基于CXL协议对所述统合内存进行存取操作,数据可以更有效地在不同层次的内存层次结构之间共享和移动,减少了不同内存类型之间的数据传输需求,潜在地减少了延迟。
在一些实施例中,所述方法还包括:
所述加速器通过所述第一PCIe交换器将第三任务数据存储至所述内存扩展单元。
加速器可以基于CXL协议对统合内存进行存取操作,也即加速器能够通过CXL协议将数据存储至内存扩展单元的本地存储器,具体地,加速器通过所述第一PCIe交换器将第三任务数据存储至所述内存扩展单元。
在本发明实施例中,加速器可以存取CPU与内存扩展单元共享的内存空间,减少了数据传输的延迟和复制的开销,由于CPU与内存扩展单元共享了相同的内存资源,系统中所需的物理内存容量可以减少,节约了硬件成本,内存管理可以更加统一,提高了系统的整体性能。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各数据处理方法实施例,在此不再赘述。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各数据处理方法实施例,在此不再赘述。
需要说明的是,本发明每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (20)
1.一种计算设备,其特征在于,包括:中央处理器CPU,加速器和第一高速串行计算机扩展总线标准PCIe交换器;
所述加速器与第一PCIe交换器的第一下行端口连接;
所述第一PCIe交换器的上行端口与所述CPU连接;
所述第一PCIe交换器的各端口支持计算快速链路CXL协议;
所述加速器被配置为基于CXL协议对主存储器进行存取操作。
2.根据权利要求1所述的计算设备,其特征在于,还包括:内存扩展单元,
所述内存扩展单元与所述第一PCIe交换器的第二下行端口连接;
所述内存扩展单元的本地存储器与主存储器构成统合内存;
所述加速器被配置为基于CXL协议对所述统合内存进行存取操作。
3.根据权利要求2所述的计算设备,其特征在于,所述内存扩展单元包括至少一个具有独立内存的第一处理单元。
4.根据权利要求3所述的计算设备,其特征在于,所述第一处理单元包括现场可编程门阵列FPGA、复杂程序逻辑器件CPLD、可编程逻辑器件PLD、专用集成电路ASIC、通用阵列逻辑GAL、片上系统SOC、软件定义架构SDI芯片和人工智能AI芯片中的任意一种或组合。
5.根据权利要求2所述的计算设备,其特征在于,所述内存扩展单元包括内存扩展板卡。
6.根据权利要求5所述的计算设备,其特征在于,所述内存扩展板卡搭载动态随机存取存储器DRAM或存储级内存SCM。
7.根据权利要求1所述的计算设备,其特征在于,还包括:非易失性内存主机控制器接口规范NVMe固态硬盘,所述NVMe固态硬盘与所述第一PCIe交换器的第三下行端口连接;
所述加速器被配置为基于CXL协议对所述NVMe固态硬盘进行存取操作。
8.根据权利要求1所述的计算设备,其特征在于,还包括:网络接口控制器NIC,
所述NIC与所述第一PCIe交换器的第四下行端口连接;
所述加速器被配置为基于CXL协议与所述NIC进行数据交互。
9.根据权利要求1所述的计算设备,其特征在于,还包括:第一MCIO连接器,
所述第一MCIO连接器与所述第一PCIe交换器的Fabric端口连接,用于与其他计算设备的第二MCIO连接器连接。
10.根据权利要求2所述的计算设备,其特征在于,所述内存扩展单元包括内存池,所述内存池包括至少一个具有独立内存的第二处理单元和至少一个第二PCIe交换器;
所述第二PCIe交换器的下行端口连接所述第二处理单元的第一Endpoint端口,所述第二处理单元的第二Endpoint端口连接所述第一PCIe交换器的第五下行端口。
11.根据权利要求10所述的计算设备,其特征在于,所述内存池还包括第三MCIO连接器,所述第三MCIO连接器与所述第二PCIe交换器的Fabric端口连接,用于与其他计算设备的第四MCIO连接器连接。
12.根据权利要求10所述的计算设备,其特征在于,所述第二处理单元包括现场可编程门阵列FPGA、复杂程序逻辑器件CPLD、可编程逻辑器件PLD、专用集成电路ASIC、通用阵列逻辑GAL、片上系统SOC、软件定义架构SDI芯片和人工智能AI芯片中的任意一种或组合。
13.根据权利要求12所述的计算设备,其特征在于,所述FPGA用于使用动态分区技术将所述FPGA的内部资源区分为不同的区域,或者,使用直接内存存取DMA控制器来实现内存的动态分配和数据传输。
14.根据权利要求1-13中任一项所述的计算设备,其特征在于,所述加速器为图形处理单元GPU。
15.一种服务器,其特征在于,包括如权利要求1至14中任一项所述的计算设备。
16.一种数据处理方法,其特征在于,基于如权利要求1至14中任一项所述的计算设备,包括:
所述加速器基于CXL协议,向所述主存储器发送第一数据请求消息;
所述主存储器响应于所述第一数据请求消息,通过所述第一PCIe交换器将第一任务数据发送至所述加速器。
17.根据权利要求16所述的数据处理方法,其特征在于,所述方法还包括:
所述加速器基于所述第一任务数据执行计算任务,生成第一结果数据;
所述加速器接收CPU发送的第二数据请求消息,将所述第一结果数据发送至主存储器。
18.根据权利要求16所述的数据处理方法,其特征在于,所述方法还包括:
加速器基于CXL协议,向内存扩展单元发送第三数据请求消息;
所述内存扩展单元响应于所述第三数据请求消息,通过所述第一PCIe交换器将第二任务数据发送至所述加速器。
19.根据权利要求18所述的数据处理方法,其特征在于,所述方法还包括:
所述加速器通过所述第一PCIe交换器将第三任务数据存储至所述内存扩展单元。
20.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求16至19任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311850460.9A CN117493237B (zh) | 2023-12-29 | 2023-12-29 | 计算设备、服务器、数据处理方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311850460.9A CN117493237B (zh) | 2023-12-29 | 2023-12-29 | 计算设备、服务器、数据处理方法和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117493237A true CN117493237A (zh) | 2024-02-02 |
CN117493237B CN117493237B (zh) | 2024-04-09 |
Family
ID=89678597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311850460.9A Active CN117493237B (zh) | 2023-12-29 | 2023-12-29 | 计算设备、服务器、数据处理方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493237B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785489A (zh) * | 2024-02-27 | 2024-03-29 | 苏州元脑智能科技有限公司 | 一种服务器及一种任务执行方法、装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140129753A1 (en) * | 2012-11-06 | 2014-05-08 | Ocz Technology Group Inc. | Integrated storage/processing devices, systems and methods for performing big data analytics |
CN114020655A (zh) * | 2022-01-05 | 2022-02-08 | 苏州浪潮智能科技有限公司 | 一种内存扩展方法、装置、设备及存储介质 |
CN114328306A (zh) * | 2020-09-28 | 2022-04-12 | 三星电子株式会社 | 智能存储装置 |
CN114428587A (zh) * | 2020-10-29 | 2022-05-03 | 三星电子株式会社 | 存储器扩展器、异构计算装置和异构计算装置的操作方法 |
CN114675722A (zh) * | 2022-03-25 | 2022-06-28 | 苏州浪潮智能科技有限公司 | 一种内存扩展装置和一种机架 |
CN115994107A (zh) * | 2023-03-22 | 2023-04-21 | 苏州浪潮智能科技有限公司 | 存储设备的存取加速系统 |
CN116501681A (zh) * | 2023-06-28 | 2023-07-28 | 苏州浪潮智能科技有限公司 | Cxl数据传输板卡及控制数据传输的方法 |
-
2023
- 2023-12-29 CN CN202311850460.9A patent/CN117493237B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140129753A1 (en) * | 2012-11-06 | 2014-05-08 | Ocz Technology Group Inc. | Integrated storage/processing devices, systems and methods for performing big data analytics |
CN114328306A (zh) * | 2020-09-28 | 2022-04-12 | 三星电子株式会社 | 智能存储装置 |
CN114428587A (zh) * | 2020-10-29 | 2022-05-03 | 三星电子株式会社 | 存储器扩展器、异构计算装置和异构计算装置的操作方法 |
CN114020655A (zh) * | 2022-01-05 | 2022-02-08 | 苏州浪潮智能科技有限公司 | 一种内存扩展方法、装置、设备及存储介质 |
CN114675722A (zh) * | 2022-03-25 | 2022-06-28 | 苏州浪潮智能科技有限公司 | 一种内存扩展装置和一种机架 |
CN115994107A (zh) * | 2023-03-22 | 2023-04-21 | 苏州浪潮智能科技有限公司 | 存储设备的存取加速系统 |
CN116501681A (zh) * | 2023-06-28 | 2023-07-28 | 苏州浪潮智能科技有限公司 | Cxl数据传输板卡及控制数据传输的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785489A (zh) * | 2024-02-27 | 2024-03-29 | 苏州元脑智能科技有限公司 | 一种服务器及一种任务执行方法、装置和存储介质 |
CN117785489B (zh) * | 2024-02-27 | 2024-05-10 | 苏州元脑智能科技有限公司 | 一种服务器及一种任务执行方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117493237B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3748510A1 (en) | Network interface for data transport in heterogeneous computing environments | |
US11841814B2 (en) | System with cache-coherent memory and server-linking switch | |
US20210105207A1 (en) | Direct memory access (dma) engine with network interface capabilities | |
EP3916566B1 (en) | System and method for managing memory resources | |
US10951458B2 (en) | Computer cluster arrangement for processing a computation task and method for operation thereof | |
CN117795495A (zh) | 通过图形处理单元的网络接口的直接存储器写入 | |
CN117493237B (zh) | 计算设备、服务器、数据处理方法和存储介质 | |
US10404800B2 (en) | Caching network fabric for high performance computing | |
CN106844263B (zh) | 一种基于可配置的多处理器计算机系统及实现方法 | |
US11029847B2 (en) | Method and system for shared direct access storage | |
EP4002139A2 (en) | Memory expander, host device using memory expander, and operation method of server system including memory expander | |
CN115687229A (zh) | 一种ai训练板卡及基于此的服务器、服务器集群、分布式训练方法 | |
CN116389542A (zh) | 具有可配置的池化资源的平台 | |
CN116074179B (zh) | 基于cpu-npu协同的高扩展节点系统及训练方法 | |
CN117806833B (zh) | 一种数据处理系统、方法及介质 | |
US9489136B2 (en) | Interrupt driven memory signaling | |
US20240069755A1 (en) | Computer system, memory expansion device and method for use in computer system | |
CN111630505A (zh) | 深度学习加速器系统及其方法 |
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 |