CN117370223A - 一种用于计算机通信接口的缓存分配方法及相关装置 - Google Patents

一种用于计算机通信接口的缓存分配方法及相关装置 Download PDF

Info

Publication number
CN117370223A
CN117370223A CN202311424330.9A CN202311424330A CN117370223A CN 117370223 A CN117370223 A CN 117370223A CN 202311424330 A CN202311424330 A CN 202311424330A CN 117370223 A CN117370223 A CN 117370223A
Authority
CN
China
Prior art keywords
port
cache
buffer
ports
interface
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.)
Pending
Application number
CN202311424330.9A
Other languages
English (en)
Inventor
冯颖
倪亚路
陈君
聂延举
卢雪琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Integrated Circuit Design Beijing Co ltd
Original Assignee
Haiguang Integrated Circuit Design Beijing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Integrated Circuit Design Beijing Co ltd filed Critical Haiguang Integrated Circuit Design Beijing Co ltd
Priority to CN202311424330.9A priority Critical patent/CN117370223A/zh
Publication of CN117370223A publication Critical patent/CN117370223A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width

Abstract

本发明实施例公开一种用于计算机通信接口的缓存分配方法及相关装置,涉及计算机技术领域,能够有效提高通信接口的带宽利用率和通信效率。所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存,所述方法包括:监测所述通信接口中各端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配。本发明适用于计算机技术中。

Description

一种用于计算机通信接口的缓存分配方法及相关装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于计算机通信接口的缓存分配方法及相关装置。
背景技术
随着电子和通信技术的发展,用于实现各种功能的设备层出不穷,为了使这些设备能够接入计算机,计算机提供了多种通信接口。然而,在很多情况下,虽然这些通信接口理论上具有较大的通信带宽,但在实际使用中,实际通信带宽却大打折扣,常常与理论值有较大差距,通信接口的带宽利用率较低,大大降低了接口的通信效率。
发明内容
有鉴于此,本发明实施例提供一种用于计算机通信接口的缓存分配方法及相关装置,能够有效提高通信接口的带宽利用率和通信效率。
第一方面,本发明实施例提供一种用于计算机通信接口的缓存分配方法,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存,所述方法包括:监测所述通信接口中各端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述监测所述通信接口中各端口在一定时间段内的传输状态信息包括:获取每个所述端口在一定时间段内传输的数据包的数量;基于每个所述端口在一定时间段内传输的数据包的数量,确定每个所述端口通过数据的平均带宽。
在一种实施方式中,所述获取每个所述端口在一定时间段内传输的数据包的数量包括:先后多次获取每个所述端口的已传输数据包的数量;根据其中任意两次获取的所述已传输数据包的数量之间的差值,确定每个所述端口在两次获取操作所确定的时间段内传输的数据包的数量。
在一种实施方式中,所述监测所述通信接口中各端口在一定时间段内的传输状态信息包括:先后多次获取每个端口的端口缓存的占用量;确定各次获取的所述端口缓存的占用量的平均值,以所述平均值作为最先一次和最后一次获取操作之间的时间段内,所述端口缓存的平均占用量。
在一种实施方式中,所述根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配包括:根据所述传输状态信息确定各端口的带宽利用率和缓存占用率;根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述根据所述传输状态信息确定各端口的带宽利用率和缓存占用率包括:根据每个所述端口通过数据的平均带宽以及该端口的理想带宽,确定所述带宽利用率,以及,根据每个所述端口的端口缓存的大小以及该端口缓存的平均占用量确定所述缓存占用率。
在一种实施方式中,所述根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配包括:在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配包括:将所述带宽利用率低于所述第一阈值且所述缓存占用率高于所述第二阈值的端口确定为目标端口,所述通信接口中除所述目标端口以外的端口为非目标端口;根据预设策略,将所述通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给所述目标端口,作为所述目标端口的新增缓存。
在一种实施方式中,所述根据预设策略,将所述通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给所述目标端口,作为所述目标端口的新增缓存包括:根据所述带宽利用率与所述第一阈值的差距,确定所述目标端口的缓存缺口;从所述缓存占用率最低的非目标端口开始,依次将从各所述非目标端口所对应的未被占用的端口缓存中,抽取至少一部分缓存分配给所述目标端口,作为所述目标端口的新增缓存,直至所述新增缓存的大小等于所述缓存缺口的大小。
在一种实施方式中,所述传输状态信息包括:发送方向的传输状态信息和/或接收方向的传输状态信息;所述接口缓存包括:发送方向所使用的发送缓存,和/或,接收方向所使用的接收缓存,其中,所述发送缓存按照所述预设规则被分配给各端口,作为每个端口对应的发送端口缓存,所述接收缓存按照所述预设规则被分配给各端口,作为每个端口对应的接收端口缓存。
在一种实施方式中,所述根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配包括:根据所述发送方向的传输状态信息,确定是否调整所述发送缓存在各所述端口之间的分配;和/或,根据所述接收方向的传输状态信息,确定是否调整所述接收缓存在各所述端口之间的分配。
第二方面,本发明的实施例还提供一种用于计算机通信接口的缓存分配装置,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存,所述装置包括:监测单元,用于监测所述通信接口中各端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;确定单元,用于根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述监测单元包括:第一获取模块,用于获取每个所述端口在一定时间段内传输的数据包的数量;第一确定模块,用于基于每个所述端口在一定时间段内传输的数据包的数量,确定每个所述端口通过数据的平均带宽。
在一种实施方式中,所述确定单元包括:第二确定模块,用于根据所述传输状态信息确定各端口的带宽利用率和缓存占用率;第三确定模块,用于根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述第三确定模块,具体用于在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述通信接口包括以下至少一种:外围组件快速互连接口(PCIe,peripheral component interconnect express)、计算快速链接接口(CXL,ComputeExpress Link)或通用串行总线接口(USB,Universal Serial Bus)。
在一种实施方式中,所述传输状态信息包括:发送方向的传输状态信息和/或接收方向的传输状态信息;所述接口缓存包括:发送方向所使用的发送缓存,和/或,接收方向所使用的接收缓存,其中,所述发送缓存按照所述预设规则被分配给各端口,作为每个端口对应的发送端口缓存,所述接收缓存按照所述预设规则被分配给各端口,作为每个端口对应的接收端口缓存。
第三方面,本发明的实施例还提供一种计算机系统,包括处理器和通信接口控制器;所述处理器与所述通信接口控制器通信连接;所述通信接口控制器中设置有接口缓存和至少两个端口,每个端口用于连接一个对应的通信设备,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存;所述处理器用于:监测各所述端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配;所述通信接口控制器用于:记录所述处理器与所述通信接口控制器的各端口之间进行数据传输的传输状态信息;根据所述处理器的控制指令,调整所述接口缓存在各所述端口之间的分配,其中,所述控制指令由所述处理器根据所述传输状态信息生成。
第四方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的任一实施例提供的用于计算机通信接口的缓存分配方法。
第五方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的任一实施例提供的用于计算机通信接口的缓存分配方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的用于计算机通信接口的缓存分配方法的一种流程图;
图2为本发明的实施例提供的用于计算机通信接口的缓存分配方法中的端口缓存调整的一种示意图;
图3为本发明的实施例提供的用于计算机通信接口的缓存分配方法的一种详细示意图;
图4为本发明的实施例提供的用于计算机通信接口的缓存分配装置的一种结构示意图;
图5为本发明的实施例提供的计算机系统的一种结构示意图;
图6为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明的实施例提供一种用于计算机通信接口的缓存分配方法,能够有效提高通信接口的带宽利用率和通信效率。
如图1所示,本发明的实施例提供一种用于计算机通信接口的缓存分配方法,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存,所述方法可以包括:
S11,监测所述通信接口中各端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;
通信接口可以为计算机中设置的、用于处理器与各种终端、组件等进行通信的接口,例如,在一个例子中,通信接口可以包括以下一种或多种:外围组件快速互连接口、计算快速链接接口或通用串行总线接口。通信接口中可以设置有多条通信通道(例如PCIe接口中的lane(通道)),每条通信通道可以用于进行单工或双工信号传输。在本发明的一个实施例中,可以根据需要,将通信接口的各通信通道,划分给一个或多个终端/组件使用。根据通信接口连接的终端/组件的种类和数量的不同,通信接口可以被划分为不同数量的端口,各端口所含的通信通道的数量可以相同或不同。进一步地,在将通信接口划分为不同数量的端口的同时,通信接口中的接口缓存也可以按照预设规则被划分到各端口中,形成各端口的端口缓存,供该端口使用。每个端口所分配的端口缓存的大小可以保存在通信接口中相应的寄存器中。可选的,划分接口缓存的预设规则可以包括多种,例如,可以按照通信接口中的端口的数量平均划分,或按照各端口的繁忙程度,按照各端口的数据吞吐量,按照每个端口中所包含的通信通道的数量等划分,本发明的实施例对此不做限定。
本步骤中,可以监测通信接口中各端口在一定时间段内的传输状态信息。这里,监测传输状态信息,既可以指直接获取该传输状态信息,也可以指根据获取到的信息进一步计算,得到传输状态信息。这里的一定时间段的长短可以根据需要设置和调整,例如可以为1秒钟,5秒钟,10秒钟等。
本发明的实施例中,传输状态信息可以包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量。其中,端口通过数据的平均带宽用于描述端口传输数据的平均速率,例如通过数据的平均带宽为500Mbps(500兆比特/秒)。端口缓存的大小可以指分配给该端口使用的缓存有多少,例如可以为256个字节或512字节。端口缓存的平均占用量可以指端口缓存中平均有多少缓存是被占用的,也就是平均有多少缓存中存储着数据,例如,平均有54个字节中存储着数据。
S12,根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配。
监测到传输状态信息后,本步骤中,可以根据所述传输状态信息确定是否调整接口缓存在各端口之间的分配。也即是说,本发明的实施例中,接口缓存被分配到各个端口后,并不是一成不变的,而是可以根据各端口的传输状态,对接口缓存如何在各端口之间进行分配进行调整。例如,根据传输状态信息的不同,一些端口的端口缓存可能会增大,另一些端口的端口缓存可能会减小,当然,还有可能一些端口缓存保持不变。具体是否需要调整,以及如何调整,可以根据传输状态信息来确定。
本发明的实施例提供的用于计算机通信接口的缓存分配方法,能够监测所述通信接口中各端口的传输状态信息,并根据所述传输状态信息确定是否调整通信接口中的接口缓存在各所述端口之间的分配,其中,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存。由于所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量,从而可以反映各端口的带宽利用情况和缓存占用情况,这样就能够根据各端口的带宽利用情况和缓存占用情况,动态调整接口缓存分配到各端口的端口缓存的大小,从而使端口缓存的大小能够与带宽利用情况相适应,而不会成为制约带宽利用的瓶颈,因此,能够有效提高端口的带宽利用率,进而提高通信接口的带宽利用率和通信效率。
具体而言,在本发明的一个实施例中,步骤S11监测所述通信接口中各端口的传输状态信息可以包括:获取每个所述端口在一定时间段内传输的数据包的数量;基于每个所述端口在一定时间段内传输的数据包的数量,确定每个所述端口通过数据的平均带宽。
在一个例子中,每个端口可以记录截止到目前为止,已经传输的数据包的数量(即已传输数据包的数量),则基于此,获取每个所述端口在一定时间段内传输的数据包的数量具体可以包括:先后多次获取每个所述端口的已传输数据包的数量;根据其中任意两次获取的所述已传输数据包的数量之间的差值,确定每个所述端口在两次获取操作所确定的时间段内传输的数据包的数量。将该数据包的数量乘以每个数据包所包含的字节数以及每个字节所包含的比特位数,即可获知端口在相应时间段内通过数据的平均带宽。可选的,这里的数据包例如可以为PCIe通信接口中的TLP(Transaction Layer Packet,传输层数据包)。
举例而言,在本发明的一个实施例中,在时刻为1秒时,获取的已传输数据包的数量为332,在时刻为2秒时,获取的已传输数据包的数量为591,在时刻为3秒时,获取的已传输数据包的数量为864,则可以获知,在1秒-2秒内,已传输数据包的数量为591-332=259,在2秒-3秒内,已传输数据包的数量为864-591=273,在1秒-3秒内,已传输数据包的数量为864-332=532。将该数据包的数量乘以每个数据包所包含的字节数以及每个字节所包含的比特位数,即可获知端口在相应时间段内通过数据的平均带宽。
除了对已传输数据包的数量进行监测外,本发明的实施例中,还可以监测每个端口的端口缓存的占用量。具体的,在本发明的一个实施例中,所述监测所述通信接口中各端口在一定时间段内的传输状态信息可以包括:先后多次获取每个端口的端口缓存的占用量;确定各次获取的所述端口缓存的占用量的平均值,以所述平均值作为最先一次和最后一次获取操作之间的时间段内,所述端口缓存的平均占用量。
举例而言,在本发明的一个实施例中,在时刻为1秒时,获取的端口缓存的占用量为46,在时刻为2秒时,获取的已传输数据包的数量为90,在时刻为3秒时,获取的已传输数据包的数量为77,在时刻为4秒时,获取的端口缓存的占用量为35,在时刻为5秒时,获取的端口缓存的占用量为10,在时刻为6秒时,获取的端口缓存的占用量为58,在时刻为7秒时,获取的端口缓存的占用量为99,则这7次获取的端口缓存的缓存占用量的平均值为(46+90+77+35+10+58+99)/7=59.3(四舍五入保留到小数点后一位),则可以以该平均值59.3作为1秒至7秒这段时间内端口缓存的平均占用量。
获取到上述传输状态信息后,就可以在步骤S12中根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配,具体而言,根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配可以包括:根据所述传输状态信息确定各端口的带宽利用率和缓存占用率;根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配。
可选的,在一种实施方式中,根据所述传输状态信息确定各端口的带宽利用率和缓存占用率包括:根据每个所述端口通过数据的平均带宽以及该端口的理想带宽,确定所述带宽利用率,以及,根据每个所述端口的端口缓存的大小以及该端口缓存的平均占用量确定所述缓存占用率。
对于带宽利用率而言,带宽利用率可以等于上述平均带宽与上述理想带宽的比值,而缓存占用率可以等于端口缓存的平均占用量与端口缓存的大小的比值。其中,理想带宽也就是端口带宽在设计时确定的理想值,为已知量。端口缓存的大小即分配给该端口的缓存的大小。
需要说明的是,本发明的实施例中,对传输状态信息监测的时间段的长短可以根据需要设定和调整,该时间段越短,缓存调整对带宽的变化越敏感,从而有利于带宽利用率维持在较高水平;该时间段越长,缓存调整对带宽的变化越不敏感,从而有利于减少带宽波动带来的、过于频繁的缓存分配调整。
对于缓存占用率而言,在一个例子中,端口缓存为64个字节大小,其中,有30个字节的缓存中存储有数据(即有30个字节的缓存被占用),则,本实施例中,缓存占用量为30,缓存大小为64,缓存占用率为30/64。
根据所述传输状态信息确定各端口的带宽利用率和缓存占用率之后,就可以根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配。具体而言,根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配具体可以包括:在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配。其中,第一阈值和第二阈值均为大于0且小于或等于1的数,具体数值可以根据需要进行设置或调整。示例性的,在一个例子中,第一阈值可以为70%-90%,第二阈值可以为90%-100%。也即是说,如果通信接口中存在带宽利用率较低的端口(例如低于75%),则可以进一步确定该端口的端口缓存的缓存占用率是否很高(例如高于95%),如果是,则可以认为很可能是缓存占用率过高而使需要传输的数据无法被及时缓存,并进一步影响了带宽,因此可以对接口缓存在各端口中的分配进行调整,以使该端口的端口缓存有所增加。
可选的,在本发明的一个实施例中,在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配具体可以包括:将所述带宽利用率低于所述第一阈值且所述缓存占用率高于所述第二阈值的端口确定为目标端口,所述通信接口中除所述目标端口以外的端口为非目标端口;根据预设策略,将所述通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给所述目标端口,作为所述目标端口的新增缓存。可选的,新增缓存与该目标端口的原端口缓存可以彼此连续,也可以彼此不连续,只要能够根据地址访问对应的缓存即可。
举例而言,在一个例子中,通信接口C包括端口C1,端口C2和端口C3。其中,端口C1的带宽占用率为95%,缓存占用率为60%,端口C2的带宽占用率为65%,缓存占用率为98%,端口C3的带宽占用率为80%,缓存占用率为100%。如果第一阈值为85%,第二阈值为90%,则端口C1为非目标端口,端口C2为目标端口,端口C3为目标端口,则可以将端口C1的一部分未被占用的缓存,分别分配给端口C2和端口C3,作为端口C2的新增缓存和端口C3的新增缓存。
在将通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给所述目标端口,作为所述目标端口的新增缓存时,可以具有多种分配策略。例如,可以从多个非目标端口中各抽出一部分未被占用的缓存,分配给一个或多个目标端口,或者,也可以从1个非目标端口中,抽取出一部分未被占用的缓存,分配给一个或多个目标端口。可选的,被抽出的缓存在未被占用的缓存中所占的比例可以为多种,例如,可以将非目标端口D中50%的未被占用的缓存抽出来分配给其他目标端口,可以将非目标端口E中80%的未被占用的缓存抽出来分配给其他目标端口。
具体而言,在本发明的一个实施例中,根据预设策略,将所述通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给所述目标端口,作为所述目标端口的新增缓存可以包括:根据所述带宽利用率与所述第一阈值的差距,确定所述目标端口的缓存缺口;从所述缓存占用率最低的非目标端口开始,依次将从各所述非目标端口所对应的未被占用的端口缓存中,抽取至少一部分缓存分配给所述目标端口,作为所述目标端口的新增缓存,直至所述新增缓存的大小等于所述缓存缺口的大小。这样,一方面能够根据每个目标端口带宽利用率与第一阈值的差距,大致确定出目标端口的端口缓存的缺乏程度,从而使目标端口所需的新增缓存的大小更明确,更有利于缓存资源的合理利用,有效提高缓存调整效率。另一方面,也能够充分利用缓存占用率最低的端口缓存进行缓存分配调整,有效避免或减少由于非目标端口中部分未被占用的缓存被抽出,而导致非目标端口出现缓存缺乏的情况。当然,如果从所有非目标端口中抽取一部分端口缓存后,新增缓存的大小仍然小于缺口缓存,则可以不继续进行缓存分配调整。
举例而言,在一个例子中,目标端口D1的带宽利用率为60%,第一阈值为90%,目标端口D1的缓存占用率为100%,由于60%距离第一阈值90%还有30%,差距较大,需要将原来的带宽利用率60%乘1.5倍才能达到,因此,可以确定目标端口D1的缓存缺口也比较大,例如可以确定缓存缺口为目标端口D1中原端口缓存的0.5倍,如果D1中原端口缓存为32个字节,则缓存缺口可以确定为16个字节。假设非目标端口D2的缓存利用率为40%,非目标端口D3的缓存利用率为60%,非目标端口D4的缓存利用率为80%,则可以先从非目标端口D2的未占用缓存中按照预设比例(例如50%)抽取一部分缓存,再从非目标端口D3的未占用缓存中按照预设比例(例如50%)抽取一部分缓存,最后从非目标端口D4的未占用缓存中按照预设比例(例如50%)抽取一部分缓存,直到新增缓存达到缓存缺口。例如,D2中未占用缓存为12个字节,D3中未占用缓存为20个字节,D4中未占用缓存为12个字节,则可以从D2的未占用缓存中抽取6个字节,从D3的未占用缓存中抽取10个字节,由于此时已经抽取了16个字节,与缓存缺口相等,因此无需从D4中抽取缓存。
上述实施例中,对通信接口中各端口的数据包传输与端口缓存的使用进行概括性说明,但更详细的,在本发明的一些实施例中,各端口中进行的通信可以有方向之别。例如,端口可以发送数据包,也可以接收数据包,则发送数据包和接收数据包属于不同方向的通信。与此相对应,在本发明的一个实施例中,传输状态信息可以包括:发送方向的传输状态信息和/或接收方向的传输状态信息;所述接口缓存可以包括:发送方向所使用的发送缓存,和/或,接收方向所使用的接收缓存,其中,所述发送缓存按照所述预设规则被分配给各端口,作为每个端口对应的发送端口缓存,所述接收缓存按照所述预设规则被分配给各端口,作为每个端口对应的接收端口缓存。则基于此,根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配具体可以包括:根据所述发送方向的传输状态信息,确定是否调整所述发送缓存在各所述端口之间的分配;和/或,根据所述接收方向的传输状态信息,确定是否调整所述接收缓存在各所述端口之间的分配。
也即是说,本发明的实施例中,在对接口缓存在各端口之间的分配进行调整时,发送缓存和接收缓存是分别调整的,发送缓存和接收缓存之间不做相互调整。但本发明的实施例不限于此,在本发明的其他实施例中,也可以根据需要,将一部分发送缓存调整为接收缓存,或者将一部分接收缓存调整为发送缓存,本发明的实施例对此不做限定。
示例性的,以PCIe通信接口为例,对端口缓存的调整进行简要说明。如图2所示,在本发明的一个实施例中,PCIe通信接口控制器中设置有端口0、端口1、端口2、端口3四个端口,每个端口中含有四条通道(lane)(图中以×4表示)。其中,端口0和端口1分别连接有相应的PCIe设备。对于每个端口而言,都可以包括传输层(TL,transaction layer)、数据链路层(DLL,data link layer)缓存。其中,传输层定义了PCIe总线使用的总线事务,这些事务可以传送到其他PCIe设备,当PCIe设备相互访问时,传送的数据报文将被传输层打包为一个或多个传输层数据包TLP,这些TLP可以通过PCIe总线发送给被请求设备。数据链路层缓存可以在TLP的发送或接收中,对待发送的TLP或接收到的TLP分别进行缓存。操作系统可以从PCIe控制器传输状态信息,并根据获取的传输状态信息,对分配给每个端口的端口缓存进行调整。
下面通过一个具体的实施例对本发明的实施例提供的用于计算机通信接口的缓存分配方法进行详细说明。
如图3所示,本发明的实施例提供的用于计算机通信接口的缓存分配方法可以包括:
S201、间隔预设时长分别获取每个端口的已传输数据包的数量以及传输所述数据包所使用的端口缓存的占用量;
S202、根据最先一次和最后一次获取的所述已传输数据包的数量之间的差值,确定每个所述端口在两次获取操作所确定的时间段内传输的数据包的数量;基于每个所述端口在所述时间段内传输的数据包的数量,确定每个所述端口通过数据的平均带宽;
S203、确定各次获取的所述端口缓存的占用量的平均值,以所述平均值作为最先一次和最后一次获取操作之间的时间段内,所述端口缓存的平均占用量;
S204、根据每个所述端口通过数据的平均带宽以及该端口的理想带宽,确定所述带宽利用率,以及,根据每个所述端口的端口缓存的大小以及该端口缓存的平均占用量确定所述缓存占用率;
S205、将带宽利用率低于第一阈值且缓存占用率高于第二阈值的端口确定为目标端口,通信接口中除目标端口以外的端口为非目标端口;
S206、根据预设策略,将通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给目标端口,作为目标端口的新增缓存。
第二方面,本发明的实施例还提供一种用于计算机通信接口的缓存分配装置,能够有效提高通信接口的带宽利用率和通信效率。
如图4所示,本发明的实施例提供的用于计算机通信接口的缓存分配装置,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存,所述装置可以包括:
监测单元31,用于监测所述通信接口中各端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;
确定单元32,用于根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配。
本发明的实施例提供的用于计算机通信接口的缓存分配装置,能够监测所述通信接口中各端口的传输状态信息,并根据所述传输状态信息确定是否调整通信接口中的接口缓存在各所述端口之间的分配,其中,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存。由于所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量,从而可以反映各端口的带宽利用情况和缓存占用情况,这样就能够根据各端口的带宽利用情况和缓存占用情况,动态调整接口缓存分配到各端口的端口缓存的大小,从而使端口缓存的大小能够与带宽利用情况相适应,而不会成为制约带宽利用的瓶颈,因此,能够有效提高端口的带宽利用率,进而提高通信接口的带宽利用率和通信效率。
在一种实施方式中,监测单元31可以包括:
第一获取模块,用于获取每个所述端口在一定时间段内传输的数据包的数量;
第一确定模块,用于基于每个所述端口在一定时间段内传输的数据包的数量,确定每个所述端口通过数据的平均带宽。
在一种实施方式中,确定单元32可以包括:
第二确定模块,用于根据所述传输状态信息确定各端口的带宽利用率和缓存占用率;
第三确定模块,用于根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述第三确定模块,具体用于在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配。
在一种实施方式中,所述通信接口包括以下至少一种:外围组件快速互连接口、计算快速链接接口或通用串行总线接口。
在一种实施方式中,所述传输状态信息包括:发送方向的传输状态信息和/或接收方向的传输状态信息;所述接口缓存包括:发送方向所使用的发送缓存,和/或,接收方向所使用的接收缓存,其中,所述发送缓存按照所述预设规则被分配给各端口,作为每个端口对应的发送端口缓存,所述接收缓存按照所述预设规则被分配给各端口,作为每个端口对应的接收端口缓存。
第三方面,本发明的实施例还提供一种计算机系统,如图5所示,所述计算机系统可以包括处理器41和通信接口控制器42;处理器41与通信接口控制器42通信连接;
通信接口控制器42中设置有接口缓存420和至少两个端口421,每个端口421用于连接一个对应的通信设备(未示出),接口缓存420按照预设规则被分配给各端口421,作为每个端口对应的端口缓存;
处理器41可用于:监测各端口421在一定时间段内的传输状态信息,所述传输状态信息包括端口421通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;根据所述传输状态信息确定是否调整接口缓存420在各端口421之间的分配;
通信接口控制器42可用于:记录处理器41与通信接口控制器42自身的各端口421之间进行数据传输的传输状态信息;根据处理器41的控制指令,调整接口缓存420在各端口421之间的分配,其中,所述控制指令由处理器41根据所述传输状态信息生成。
本发明的实施例提供的计算机系统,处理器能够监测通信接口控制器中各端口的传输状态信息,并根据所述传输状态信息确定是否调整通信接口中的接口缓存在各所述端口之间的分配,其中,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存。由于所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量,从而可以反映各端口的带宽利用情况和缓存占用情况,这样就能够根据各端口的带宽利用情况和缓存占用情况,动态调整接口缓存分配到各端口的端口缓存的大小,从而使端口缓存的大小能够与带宽利用情况相适应,而不会成为制约带宽利用的瓶颈,因此,能够有效提高端口的带宽利用率,进而提高通信接口的带宽利用率和通信效率。
在一种实施方式中,通信接口控制器42可以分别为各端口421设置有对应的传输状态寄存器和缓存配置寄存器,处理器41具体可以用于根据所述传输状态寄存器中的数据,监测所述传输状态信息。通信接口控制器42具体可用于,根据处理器发出的控制指令,修改各端口对应的缓存配置寄存器的值,以调整接口缓存420在各端口421之间的分配。例如,在本发明的一个实施例中,处理器41可以通过通信接口控制器中的传输状态寄存器,获知每个端口缓存的地址范围,以及其中被占用缓存的分布范围,从而可以将未被占用的端口缓存的地址范围配置到其他端口的缓存配置寄存器中,以将一个端口中未占用的端口缓存分配给其他端口使用。
第四方面,本发明的实施例还提供一种电子设备,能够有效提高通信接口的带宽利用率和通信效率。
如图6所示,本发明的实施例提供的电子设备,可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例提供的用于计算机通信接口的缓存分配方法。
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
第五方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种用于计算机通信接口的缓存分配方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (20)

1.一种用于计算机通信接口的缓存分配方法,其特征在于,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存,所述方法包括:
监测所述通信接口中各端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;
根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配。
2.根据权利要求1所述的方法,其特征在于,所述监测所述通信接口中各端口在一定时间段内的传输状态信息包括:
获取每个所述端口在一定时间段内传输的数据包的数量;
基于每个所述端口在一定时间段内传输的数据包的数量,确定每个所述端口通过数据的平均带宽。
3.根据权利要求2所述的方法,其特征在于,所述获取每个所述端口在一定时间段内传输的数据包的数量包括:
先后多次获取每个所述端口的已传输数据包的数量;
根据其中任意两次获取的所述已传输数据包的数量之间的差值,确定每个所述端口在两次获取操作所确定的时间段内传输的数据包的数量。
4.根据权利要求1所述的方法,其特征在于,所述监测所述通信接口中各端口在一定时间段内的传输状态信息包括:
先后多次获取每个端口的端口缓存的占用量;
确定各次获取的所述端口缓存的占用量的平均值,以所述平均值作为最先一次和最后一次获取操作之间的时间段内,所述端口缓存的平均占用量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配包括:
根据所述传输状态信息确定各端口的带宽利用率和缓存占用率;
根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配。
6.根据权利要求5所述的方法,其特征在于,所述根据所述传输状态信息确定各端口的带宽利用率和缓存占用率包括:
根据每个所述端口通过数据的平均带宽以及该端口的理想带宽,确定所述带宽利用率,以及,根据每个所述端口的端口缓存的大小以及该端口缓存的平均占用量确定所述缓存占用率。
7.根据权利要求5所述的方法,其特征在于,所述根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配包括:
在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配。
8.根据权利要求7所述的方法,其特征在于,所述在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配包括:
将所述带宽利用率低于所述第一阈值且所述缓存占用率高于所述第二阈值的端口确定为目标端口,所述通信接口中除所述目标端口以外的端口为非目标端口;
根据预设策略,将所述通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给所述目标端口,作为所述目标端口的新增缓存。
9.根据权利要求8所述的方法,其特征在于,所述根据预设策略,将所述通信接口中的至少一个非目标端口所对应的端口缓存中未被占用的部分,分配给所述目标端口,作为所述目标端口的新增缓存包括:
根据所述带宽利用率与所述第一阈值的差距,确定所述目标端口的缓存缺口;
从所述缓存占用率最低的非目标端口开始,依次将从各所述非目标端口所对应的未被占用的端口缓存中,抽取至少一部分缓存分配给所述目标端口,作为所述目标端口的新增缓存,直至所述新增缓存的大小等于所述缓存缺口的大小。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述传输状态信息包括:发送方向的传输状态信息和/或接收方向的传输状态信息;
所述接口缓存包括:发送方向所使用的发送缓存,和/或,接收方向所使用的接收缓存,其中,所述发送缓存按照所述预设规则被分配给各端口,作为每个端口对应的发送端口缓存,所述接收缓存按照所述预设规则被分配给各端口,作为每个端口对应的接收端口缓存。
11.根据权利要求10所述的方法,其特征在于,所述根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配包括:
根据所述发送方向的传输状态信息,确定是否调整所述发送缓存在各所述端口之间的分配;
和/或,
根据所述接收方向的传输状态信息,确定是否调整所述接收缓存在各所述端口之间的分配。
12.一种用于计算机通信接口的缓存分配装置,其特征在于,所述计算机通信接口包括接口缓存和至少两个端口,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存,所述装置包括:
监测单元,用于监测所述通信接口中各端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;
确定单元,用于根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配。
13.根据权利要求12所述的装置,其特征在于,所述监测单元包括:
第一获取模块,用于获取每个所述端口在一定时间段内传输的数据包的数量;
第一确定模块,用于基于每个所述端口在一定时间段内传输的数据包的数量,确定每个所述端口通过数据的平均带宽。
14.根据权利要求12所述的装置,其特征在于,所述确定单元包括:
第二确定模块,用于根据所述传输状态信息确定各端口的带宽利用率和缓存占用率;
第三确定模块,用于根据所述带宽利用率和所述缓存占用率,确定是否调整所述接口缓存在各所述端口之间的分配。
15.根据权利要求14所述的装置,其特征在于,所述第三确定模块,具体用于在至少一个所述端口对应的带宽利用率低于第一阈值,且该端口对应的缓存占用率高于第二阈值的情况下,调整所述接口缓存在各所述端口之间的分配。
16.根据权利要求12至15中任一项所述的装置,其特征在于,所述通信接口包括以下至少一种:外围组件快速互连接口、计算快速链接接口或通用串行总线接口。
17.根据权利要求12至15中任一项所述的装置,其特征在于,所述传输状态信息包括:发送方向的传输状态信息和/或接收方向的传输状态信息;
所述接口缓存包括:发送方向所使用的发送缓存,和/或,接收方向所使用的接收缓存,其中,所述发送缓存按照所述预设规则被分配给各端口,作为每个端口对应的发送端口缓存,所述接收缓存按照所述预设规则被分配给各端口,作为每个端口对应的接收端口缓存。
18.一种计算机系统,其特征在于,包括处理器和通信接口控制器;所述处理器与所述通信接口控制器通信连接;
所述通信接口控制器中设置有接口缓存和至少两个端口,每个端口用于连接一个对应的通信设备,所述接口缓存按照预设规则被分配给各端口,作为每个端口对应的端口缓存;
所述处理器用于:
监测各所述端口在一定时间段内的传输状态信息,所述传输状态信息包括所述端口通过数据的平均带宽、所述端口缓存的大小以及所述端口缓存的平均占用量;
根据所述传输状态信息确定是否调整所述接口缓存在各所述端口之间的分配;
所述通信接口控制器用于:
记录所述处理器与所述通信接口控制器的各端口之间进行数据传输的传输状态信息;
根据所述处理器的控制指令,调整所述接口缓存在各所述端口之间的分配,其中,所述控制指令由所述处理器根据所述传输状态信息生成。
19.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1至11中任一项所述的用于计算机通信接口的缓存分配方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1至11中任一项所述的用于计算机通信接口的缓存分配方法。
CN202311424330.9A 2023-10-30 2023-10-30 一种用于计算机通信接口的缓存分配方法及相关装置 Pending CN117370223A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311424330.9A CN117370223A (zh) 2023-10-30 2023-10-30 一种用于计算机通信接口的缓存分配方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311424330.9A CN117370223A (zh) 2023-10-30 2023-10-30 一种用于计算机通信接口的缓存分配方法及相关装置

Publications (1)

Publication Number Publication Date
CN117370223A true CN117370223A (zh) 2024-01-09

Family

ID=89403840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311424330.9A Pending CN117370223A (zh) 2023-10-30 2023-10-30 一种用于计算机通信接口的缓存分配方法及相关装置

Country Status (1)

Country Link
CN (1) CN117370223A (zh)

Similar Documents

Publication Publication Date Title
US7444459B2 (en) Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
US8898674B2 (en) Memory databus utilization management system and computer program product
US8060679B2 (en) Information processing apparatus and access control method capable of high-speed data access
KR102427550B1 (ko) 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
CN105408879A (zh) 快捷外围部件互连域的资源管理
US20210075745A1 (en) Methods and apparatus for improved polling efficiency in network interface fabrics
US7617344B2 (en) Methods and apparatus for controlling access to resources in an information processing system
CN107480078B (zh) 一种总线带宽分配方法、装置及芯片
US20070168583A1 (en) Endpoint control apparatus and method thereof
US20230069339A1 (en) Storage device, electronic device including storage device, and operating method of electronic device
EP3326347B1 (en) Method and system for usb 2.0 bandwidth reservation
CN102347902B (zh) 发送间隔调整方法、装置和网络设备
CN112202600B (zh) 一种多节点单主机与多主机通信自动切换装置及方法
CN115994115B (zh) 芯片控制方法、芯片组及电子设备
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
KR100333584B1 (ko) 데이터 전송 시스템
CN117370223A (zh) 一种用于计算机通信接口的缓存分配方法及相关装置
CN107085557A (zh) 直接存储器访问系统以及相关方法
CN114281516A (zh) 一种基于numa属性的资源分配方法及装置
CN112311695A (zh) 一种片上带宽动态分配方法及系统
KR100950356B1 (ko) 다중 코히런시 단위들을 지원하는 데이터 전송 유닛
CN104394100A (zh) 信用分配方法和交换机
CN117393013B (zh) 统计应用中的高效ddr控制方法及相关装置
US20220309014A1 (en) Peripheral component interconnect express interface device and method of operating the same
CN112486871A (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