CN117411790A - 一种带宽调整方法及系统 - Google Patents

一种带宽调整方法及系统 Download PDF

Info

Publication number
CN117411790A
CN117411790A CN202210801375.2A CN202210801375A CN117411790A CN 117411790 A CN117411790 A CN 117411790A CN 202210801375 A CN202210801375 A CN 202210801375A CN 117411790 A CN117411790 A CN 117411790A
Authority
CN
China
Prior art keywords
cxl
bandwidth
logic device
bmc
average load
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
CN202210801375.2A
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies 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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202210801375.2A priority Critical patent/CN117411790A/zh
Priority to PCT/CN2023/106654 priority patent/WO2024008197A1/zh
Publication of CN117411790A publication Critical patent/CN117411790A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种带宽调整方法及系统。该方法应用于计算快速链路CXL系统,所述CXL系统包括至少一个CXL设备和单板管理控制器BMC,所述至少一个CXL设备包括第一CXL设备,所述第一CXL设备包括至少两个逻辑设备,BMC获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态;根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略;根据所述调整策略,对所述目标逻辑设备的带宽进行调整。采用本申请实施例,可以提高带宽的利用率。

Description

一种带宽调整方法及系统
技术领域
本申请涉及计算机技术领域,尤其涉及一种带宽调整方法及系统。
背景技术
计算快速链路(Compute Express Link,CXL)作为一种开放的行业标准,可在数据中心内的专用计算、内存、I/O和存储元素之间提供高带宽、低延迟的连接。使用CXL连接内存资源进行内存扩展有两种模式:一种是CXL内存的本地直接扩展,另一种是CXL内存资源的池化。在内存资源池化模式下,主机(Host)通过交换器(CXL Switch)与池化的内存资源进行连接,并根据不同的工作负载对内存资源进行重新分配和调配。但是,由于仅仅考虑了Host上的业务和带宽之间的关系,导致多个逻辑设备(Multiple Logical Device,MLD)的带宽利用率低。
发明内容
本申请实施例提供一种带宽调整方法及系统,通过调整CXL设备中的LD的带宽,提高CXL设备的带宽利用率。
第一方面,本申请实施例提供了一种带宽调整方法,该方法应用于计算快速链路CXL系统,CXL系统包括至少一个CXL设备和单板管理控制器BMC,至少一个CXL设备包括第一CXL设备,第一CXL设备包括至少两个逻辑设备,该方法包括:BMC获取第一CXL设备中的每个逻辑设备的平均负载状态;根据平均负载状态,确定第一CXL设备中的目标逻辑设备和调整策略;根据调整策略,对目标逻辑设备的带宽进行调整。
BMC根据第一CXL设备中每个逻辑设备的平均负载状态,对第一CXL设备中的逻辑设备的带宽进行调整。这样,即使同一个CXL设备中的多个逻辑设备的平均负载状态不一样,也可以通过调整该CXL设备中逻辑设备的带宽,提高CXL设备的带宽利用率。
在一种可能的设计中,第一CXL设备获取第一CXL设备中每个逻辑设备的平均负载状态;发送平均负载状态至BMC。第一CXL设备通过将平均负载状态至BMC,BMC对第一CXL设备中每个逻辑设备的平均负载状态进行统计,以便根据平均负载状态调整第一CXL设备中每个逻辑设备的带宽,提高CXL设备的带宽利用率。
在另一种可能的设计中,第一CXL设备获取在第一时间周期内第一CXL设备中每个逻辑设备的各种负载状态的次数,并获取在第一时间周期内的各种负载状态的总次数;根据第一CXL设备中每个逻辑设备出现各种负载状态的次数和总次数,确定第一CXL设备中每个逻辑设备的平均负载状态。通过统计在第一时间周期内各种负载状态的占比,例如各种负载状态的次数与总次数的比例值,确定同一个CXL设备中每个LD的平均负载状态,保障确定的平均负载状态的准确性。
在另一种可能的设计中,第一CXL设备将第一CXL设备中第一逻辑设备出现第一负载状态的次数除以总次数,计算第一负载状态对应的比例值,其中,第一负载状态为轻载荷、最佳载荷、适度超载和严重超载中的任意一种;对第一负载状态对应的比例值与第一负载状态对应的第一门限值进行比较;若第一负载状态对应的比例值大于等于第一负载状态对应的第一门限值,则将第一逻辑设备的平均负载状态确定为第一负载状态。通过统计在第一时间周期内各种负载状态的占比,并与对应的门限值进行比较,确定同一个CXL设备中每个LD的平均负载状态,保障确定的平均负载状态的准确性。
在另一种可能的设计中,BMC向至少一个CXL设备中每个CXL设备发送访问请求,访问请求用于指示获取每个CXL设备中每个逻辑设备的平均负载状态。通过向每个CXL设备发送访问请求,实现对每个CXL设备中每个逻辑设备的平均负载状态的统计,保障每个CXL设备中每个逻辑设备的带宽都能得到合理分配。
在另一种可能的设计中,平均负载状态包括平均轻载荷、平均最佳载荷、平均适度超载和平均严重超载,第一CXL设备包括第一逻辑设备和第二逻辑设备,当第一逻辑设备的平均负载状态和第二逻辑设备的平均负载状态不相同时,BMC确定目标逻辑设备为第一逻辑设备和第二逻辑设备。通过确定同一个CXL设备中逻辑设备的平均负载状态是否相同,确定需要调整带宽的目标逻辑设备,避免在带宽一定的前提下对相同平均负载状态的目标逻辑设备的带宽进行调整,提高带宽调整的效率。
在另一种可能的设计中,BMC根据第一CXL设备中每个逻辑设备与主机之间的映射关系,确定第一CXL设备中的多个逻辑设备是否被多个主机访问;若第一CXL设备中的多个逻辑设备被多个主机访问,则BMC根据第一CXL设备中的每个逻辑设备的平均负载状态,确定第一CXL设备中的需要调整带宽的目标逻辑设备。通过确定同一个CXL设备中的多个逻辑设备是否被多个主机访问,从而确定是否对CXL设备中的多个逻辑设备的带宽进行调整,避免对不被多个主机访问的CXL设备进行带宽调整,提高带宽调整的效率。
在另一种可能的设计中,当第一逻辑设备的平均负载状态的严重程度高于第二逻辑设备的平均负载状态时,BMC向上调整第一逻辑设备的带宽,且BMC向下调整第二逻辑设备的带宽;或者,当第一逻辑设备的平均负载状态的严重程度低于第二逻辑设备的平均负载状态时,BMC向下调整第一逻辑设备的带宽,且BMC向上调整第二逻辑设备的带宽。通过将平均负载状态严重程度低的逻辑设备的冗余带宽分配给平均负载状态严重程度高的逻辑设备,提高MLD的带宽利用率。
在另一种可能的设计中,BMC配置至少一个CXL设备中每个CXL设备中逻辑设备与主机的映射关系,以及配置每个CXL设备中每个逻辑设备的带宽。通过预先配置每个逻辑设映射关系和带宽,保障每个逻辑设备能够正常工作。
在另一种可能的设计中,BMC按照预设的调整幅度对目标逻辑设备的带宽进行调整。通过对目标逻辑设备的带宽进行调整,提高带宽的利用率。
在另一种可能的设计中,带宽包括分配带宽和上限带宽,BMC将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度;根据最大调整幅度,对目标逻辑设备的带宽进行调整。通过对目标逻辑设备的带宽进行调整,提高带宽的利用率。
在另一种可能的设计中,BMC根据目标逻辑设备的平均负载状态,确定目标逻辑设备的调整幅度;按照调整幅度,对目标逻辑设备的带宽进行调整。通过对目标逻辑设备的带宽进行调整,提高带宽的利用率。
第二方面,本申请实施例提供了一种计算快速链路CXL系统,所述CXL系统包括至少一个CXL设备和单板管理控制器BMC,所述至少一个CXL设备包括第一CXL设备,所述第一CXL设备包括至少两个逻辑设备,其中:
所述BMC,用于获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态;根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略;根据所述调整策略,对所述目标逻辑设备的带宽进行调整。
在另一种可能的设计中,所述第一CXL设备,用于获取所述第一CXL设备中每个逻辑设备的所述平均负载状态;发送所述平均负载状态至所述BMC。
在另一种可能的设计中,所述第一CXL设备,还用于获取在第一时间周期内所述第一CXL设备中每个逻辑设备的各种负载状态的次数,并获取在所述第一时间周期内的各种负载状态的总次数;根据所述第一CXL设备中每个逻辑设备出现各种负载状态的次数和所述总次数,确定所述第一CXL设备中每个逻辑设备的所述平均负载状态。
在另一种可能的设计中,所述BMC,还用于向所述至少一个CXL设备中每个CXL设备发送访问请求,所述访问请求用于指示获取所述每个CXL设备中每个逻辑设备的所述平均负载状态。
在另一种可能的设计中,所述平均负载状态包括平均轻载荷、平均最佳载荷、平均适度超载和平均严重超载,所述第一CXL设备包括第一逻辑设备和第二逻辑设备;
所述BMC,还用于当所述第一逻辑设备的所述平均负载状态和所述第二逻辑设备的所述平均负载状态不相同时,确定所述目标逻辑设备为所述第一逻辑设备和所述第二逻辑设备。
在另一种可能的设计中,所述BMC,还用于当所述第一逻辑设备的所述平均负载状态的严重程度高于所述第二逻辑设备的所述平均负载状态时,向上调整所述第一逻辑设备的带宽,且向下调整所述第二逻辑设备的带宽;或者,
所述BMC,还用于当所述第一逻辑设备的所述平均负载状态的严重程度低于所述第二逻辑设备的所述平均负载状态时,向下调整所述第一逻辑设备的带宽,且向上调整所述第二逻辑设备的带宽。
在另一种可能的设计中,所述BMC,还用于配置所述至少一个CXL设备中每个CXL设备中逻辑设备与主机的映射关系,以及配置所述每个CXL设备中每个逻辑设备的带宽。
在另一种可能的设计中,所述BMC,还用于按照预设的调整幅度对所述目标逻辑设备的带宽进行调整。
在另一种可能的设计中,所述BMC,还用于将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度;根据所述最大调整幅度,对所述目标逻辑设备的带宽进行调整。
在另一种可能的设计中,所述BMC,还用于根据所述目标逻辑设备的平均负载状态,确定所述目标逻辑设备的调整幅度;按照所述调整幅度,对所述目标逻辑设备的带宽进行调整。
该CXL系统执行的操作及有益效果可以参见上述第一方面所述的方法以及有益效果,重复之处不再赘述。
第三方面,本申请实施例提供了一种带宽调整装置,包括:
管理模块,用于获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态;根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略;根据所述调整策略,对所述目标逻辑设备的带宽进行调整。
在一种可能的设计中,该装置还包括:
计算模块,用于获取所述第一CXL设备中每个逻辑设备的所述平均负载状态;发送所述平均负载状态至所述BMC。
在另一种可能的设计中,所述计算模块,还用于获取在第一时间周期内所述第一CXL设备中每个逻辑设备的各种负载状态的次数,并获取在所述第一时间周期内的各种负载状态的总次数;根据所述第一CXL设备中每个逻辑设备出现各种负载状态的次数和所述总次数,确定所述第一CXL设备中每个逻辑设备的所述平均负载状态。
在另一种可能的设计中,所述管理模块,还用于向所述至少一个CXL设备中每个CXL设备发送访问请求,所述访问请求用于指示获取所述每个CXL设备中每个逻辑设备的所述平均负载状态。
在另一种可能的设计中,所述管理模块,还用于当所述第一逻辑设备的所述平均负载状态和所述第二逻辑设备的所述平均负载状态不相同时,确定所述目标逻辑设备为所述第一逻辑设备和所述第二逻辑设备。
在另一种可能的设计中,所述管理模块,还用于当所述第一逻辑设备的所述平均负载状态的严重程度高于所述第二逻辑设备的所述平均负载状态时,向上调整所述第一逻辑设备的带宽,且向下调整所述第二逻辑设备的带宽;或者,当所述第一逻辑设备的所述平均负载状态的严重程度低于所述第二逻辑设备的所述平均负载状态时,向下调整所述第一逻辑设备的带宽,且向上调整所述第二逻辑设备的带宽。
在另一种可能的设计中,所述管理模块,还用于配置所述至少一个CXL设备中每个CXL设备中逻辑设备与主机的映射关系,以及配置所述每个CXL设备中每个逻辑设备的带宽。
在另一种可能的设计中,所述管理模块,还用于按照预设的调整幅度对所述目标逻辑设备的带宽进行调整。
在另一种可能的设计中,所述管理模块,还用于将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度;根据所述最大调整幅度,对所述目标逻辑设备的带宽进行调整。
在另一种可能的设计中,所述管理模块,还用于根据所述目标逻辑设备的平均负载状态,确定所述目标逻辑设备的调整幅度;按照所述调整幅度,对所述目标逻辑设备的带宽进行调整。
该带宽调整装置执行的操作及有益效果可以参见上述第一方面所述的方法以及有益效果,重复之处不再赘述。
第四方面,本申请提供了一种交换设备,所述交换设备包括处理器和存储器,所述存储器用于存储计算机执行指令;所述处理器用于执行所述存储器所存储的计算机执行指令,以使所述交换设备执行如第一方面中任意一项所述的方法。
第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序被执行时,使得如第一方面中任意一项所述的方法被实现。
第六方面,本申请提供一种包括计算机程序的计算机程序产品,当所述计算机程序被执行时,使得如第一方面中任意一项所述的方法被实现。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种CXL系统的示意图;
图2是本申请实施例提供的一种带宽调整方法的流程示意图;
图3是本申请实施例提供的另一种带宽调整方法的流程示意图;
图4是本申请实施例提供的一种带宽调整装置的结构示意图;
图5是本申请实施例提供的一种交换设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
图1是本申请实施例提供的一种CXL系统的示意图。该CXL系统可以为服务器,该CXL系统可以包括主机(Host)、CXL交换器(CXL Switch)、和至少一个CXL设备(CXL Device)和单板管理控制器(Board Management Controller,BMC)等组件。其中,CXL设备可以包括高速缓存以及可访问存储器,CXL设备可以接收Host的访问请求或向Host返回响应。CXL设备还可以包括解码器(Decoder),用于对接收到的访问请求进行解码。CXL设备可以包括多个逻辑设备(Multiple Logical Device,MLD),每个MLD进一步包括多个LD。CXL设备也可以包括单逻辑设备(Single Logical Device,SLD)。LD或SLD是在CXL设备上创建的具有存储、统计功能的虚拟设备。CXL switch包含上行端口(UpStream Port,UP)和下行端口(DownStream Port,DP),分别与Host、MLD和/或SLD连接,CXL switch的UP处也可以包括Decoder。CXL switch可以实现SLD或LD与Host的映射关系。BMC可以建立LD与Host的映射关系,也可以配置LD或SLD的带宽。
需要说明的是,BMC可以设置在CXL交换器上,也可以是一个单独的设备。
本申请实施例中,在CXL Device中增加计算单元。计算单元可以计算每个逻辑设备的平均负载状态(average DevLoad,AvrDevLoad),然后将每个逻辑设备的平均负载状态上报给BMC,BMC根据平均负载状态,对每个逻辑设备的带宽进行调整。下面通过实施例进行具体说明,此处不再具体说明。
CXL内存资源的扩展可以包括以下两种模式:第一种,CXL内存资源的本地直接扩展。第二种,CXL内存资源的池化。在内存资源的池化模式下,主机通过CXL Switch与池化的内存资源进行连接,并根据不同的工作负载对内存资源进行重新分配和调配。在一个工作负载完成之后可以释放内存资源,并将释放的内存资源应用到下一个工作任务中。内存资源的池化可以同时支持多个主机与多个内存资源相匹配。
在内存资源的池化应用中,一个Host通过CXL Switch的上行端口和下行端口,访问该Host对应的LD。例如,Host可以向CXL Switch发送访问请求,CXL Switch通过上行端口接收Host的访问请求,然后根据SLD或LD与Host的映射关系,确定该Host对应的LD,通过下行端口向该Host对应的LD转发访问请求。LD接收到访问请求之后,根据访问请求向Host返回响应。其中,Host访问的LD可以属于不同的MLD,也可能属于同一个MLD。
由于Host对LD的访问流量需求是不断变化的,LD在不同时刻存在不同的负载状态。CXL标准性能评估组织(Standard Performance Evaluation Corporation,SPEC)定义了CXL设备的服务质量流(Quality of Service,QoS)机制,该QoS机制定义了CXL设备的负载状态(Devload)。Host可以获取各个CXL设备的负载状态,并根据负载状态控制对CXL设备的访问请求。
CXL Spec定义的QoS机制中,将CXL设备的带宽访问负载划分为4种负载状态。如表1所示,4种负载状态包括轻载荷(Light load)、最佳载荷(Optimal load)、适度超载(Moderate overload)和严重超载(Severe overload)。其中,负载状态可以表示CXL设备内排队延迟的状态,也可以表示CXL设备内的资源利用率。
表1
负载状态 设备内排队延迟状态 资源利用率
轻载荷 最低 随时处理更多的请求
最佳载荷 适度 最佳利用率
适度超载 严重 限制吞吐量和/或降低效率
严重超载 非常严重 严重超载和/或降低效率
CXL spec定义的QoS机制如下:
(1)BMC配置Host与CXL Device的映射关系。如图1所示,MLD_0的LD1,MLD_1的LD0和SLD_0映射到Host1(加粗部分),MLD_0的LD0,MLD_1的LD1映射到Host2(虚线部分)。如表2所示,配置MLD_0的LD1和MLD_1的LD0与Host1的映射关系,以及MLD_0的LD0和MLD_1的LD1与Host2的映射关系。如表3所示,配置SLD_0与Host1的映射关系。
表2
表3
Host编号 SLD编号
Host1 0
(2)BMC根据各LD和/或SLD的业务需求的流量大小,配置各LD和/或SLD的分配带宽和上限带宽。
在CXL定义的QoS机制中,LD和/或SLD的带宽(BandWidth,BW)包括:分配带宽(Allocated BW)和上限带宽(Limit BW)。其中,Allocate BW可以表示LD和/或SLD能够分配或使用的保障带宽,Limit BW可以表示LD和/或SLD能够分配或使用的最大带宽。
如果某个LD和/或SLD的业务需求的流量大于其他LD和/或SLD的业务需求的流量,则可以配置该LD和/或SLD的分配带宽和上限带宽高于其他LD和/或SLD的分配带宽和上限带宽。如果某个LD和/或SLD的业务需求的流量小于其他LD和/或SLD的业务需求的流量,则可以配置该LD和/或SLD的分配带宽和上限带宽低于其他LD和/或SLD的分配带宽和上限带宽。
(3)各LD计算各自LD的当前访问流量,并根据各自LD的当前访问流量更新LD的负载状态。
具体的,LD可以统计接收到的访问请求的次数,根据访问请求的次数确定Host访问LD的当前访问流量,并根据当前访问流量、Allocate BW和Limit BW对LD的负载状态进行更新。例如,如果LD的当前访问流量带宽超过Limit BW,则调高当前的负载状态。如果LD的当前访问流量带宽低于Allocate BW,则调低当前的负载状态。
LD在更新完成负载状态之后,可以向Host发送更新后的负载状态。例如,可以通过无数据响应(No Data Response,NDR)消息向Host发送更新后的负载状态,以便Host调整访问请求的次数。
如表4所示,如果某个LD的负载状态为Light load或者Optimal load,当前访问流量超过limit BW,则LD将自己的负载状态从Light load or Optimal load调整为Moderateoverload。如果某个LD的负载状态为Moderate overload,当前访问流量未超过allocatedBW、且未超过limit BW,则LD将自己的负载状态从Moderate overload调整为Optimalload。如果某个LD的负载状态为Moderate overload,当前访问流量超过allocated BW、且未超过limit BW,则LD保持LD的负载状态为Moderate overload。如果某个LD的负载状态为Moderate overload,当前访问流量超过limit BW,则LD将自己的负载状态从Moderateoverload调整为Severe overload。其他情况如表4所示,不再一一说明。
表4
(4)Host调整对LD的访问请求。
CXL specs定义,Host可以从NDR消息中获取LD的负载状态,然后根据LD的负载状态调整对该LD的访问请求的次数,从而控制LD的带宽利用。
综上所述,如果某个Host访问的LD全部属于同一个MLD时,该Host可以根据该Host访问的LD的负载状态及时调整对LD的访问请求,从而实现QoS的控制。但是,该方案只考虑了单个Host的情况,并未考虑多个Host之间的相互影响。当不同的Host访问的LD属于同一个MLD、或者同一个Host访问的LD属于不同的MLD时。例如,图1中的MLD_0中的LD0映射到Host2,LD1映射到Host1,也即MLD_0同时被Host1和Host2访问。由于其中一个Host不知道属于另一个Host访问的LD的负载状态,可能存在其中一个Host访问的LD访问带宽闲置,而另一个Host访问的LD访问带宽出现超载的情况,导致MLD的带宽不能充分利用。
为了解决上述技术问题,本申请实施例提供了如下解决方案。
如图2所示,图2是本申请实施例提供的一种带宽调整方法的流程示意图。该方法主要包括如下步骤:
S201,BMC获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态。
具体的,BMC可以向至少一个CXL设备中每个CXL设备发送访问请求,所述访问请求用于指示获取每个CXL设备中每个逻辑设备的平均负载状态。第一CXL设备接收到访问请求之后,获取在第一时间周期内第一CXL设备中每个逻辑设备的各种负载状态的次数,并获取在第一时间周期内的各种负载状态的总次数;根据所述第一CXL设备中每个逻辑设备出现各种负载状态的次数和所述总次数,确定第一CXL设备中每个逻辑设备的所述平均负载状态。并发送平均负载状态至BMC。
其中,平均负载状态包括平均轻载荷、平均最佳载荷、平均适度超载和平均严重超载。
S202,BMC根据平均负载状态,确定第一CXL设备中的目标逻辑设备和调整策略。
其中,第一CXL设备可以包括第一逻辑设备和第二逻辑设备。调整策略可以包括向上调整、向下调整和调整幅度中的一项或多项。
具体的,当第一逻辑设备的平均负载状态和第二逻辑设备的平均负载状态不相同时,BMC确定目标逻辑设备为第一逻辑设备和第二逻辑设备。当第一逻辑设备的平均负载状态的严重程度高于第二逻辑设备的平均负载状态时,BMC向上调整第一逻辑设备的带宽,且BMC向下调整第二逻辑设备的带宽;或者,当第一逻辑设备的平均负载状态的严重程度低于第二逻辑设备的平均负载状态时,BMC向下调整第一逻辑设备的带宽,且BMC向上调整第二逻辑设备的带宽。
S203,BMC根据调整策略,对目标逻辑设备的带宽进行调整。
在一种实施例中,BMC可以按照预设的调整幅度对目标逻辑设备的带宽进行调整。
在一种实施例中,BMC可以将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度,然后根据最大调整幅度,对所述目标逻辑设备的带宽进行调整。
在一种实施例中,BMC可以根据目标逻辑设备的平均负载状态,确定目标逻辑设备的调整幅度,然后按照确定的调整幅度,对所述目标逻辑设备的带宽进行调整。
在本申请实施例中,BMC根据第一CXL设备中每个逻辑设备的平均负载状态,对第一CXL设备中的逻辑设备的带宽进行调整。这样,即使同一个CXL设备中的多个逻辑设备被不同的主机访问,也可以通过调整该CXL设备中逻辑设备的带宽,提高CXL设备的带宽利用率。
如图3所示,图3是本申请实施例提供的另一种带宽调整方法的流程示意图。该方法主要包括如下步骤:
S301,BMC配置至少一个CXL设备中每个CXL设备中逻辑设备与主机的映射关系,以及配置所述每个CXL设备中每个逻辑设备的带宽。如图1所示,MLD_0的LD1,MLD_1的LD0和SLD_0映射到Host1(加粗部分),MLD_0的LD0和MLD_1的LD1映射到Host2(虚线部分)。如表5所示,配置MLD_0的LD1和MLD_1的LD0与Host1的映射关系,以及MLD_0的LD0和MLD_1的LD1与Host2的映射关系。
表5
如表6所示,配置SLD_0与Host1的映射关系。
表6
Host编号 SLD编号
Host1 0
具体的,BMC可以根据各LD和/或SLD的业务需求的流量大小,配置各LD和/或SLD的分配带宽和上限带宽。其中,配置的分配带宽可以作为初始分配带宽,配置的上限带宽可以作为初始上限带宽。
例如,如果某个LD和/或SLD的业务需求的流量大于其他LD和/或SLD的业务需求的流量,则可以配置该LD和/或SLD的分配带宽和上限带宽高于其他LD和/或SLD的分配带宽和上限带宽。如果某个LD和/或SLD的业务需求的流量小于其他LD和/或SLD的业务需求的流量,则可以配置该LD和/或SLD的分配带宽和上限带宽低于其他LD和/或SLD的分配带宽和上限带宽。
如表7所示,表7是一种MLD的带宽分配示意表,MLD_0的LD0的分配带宽为40%,MLD_0的LD0的上限带宽为60%。MLD_0的LD1的分配带宽为40%,MLD_0的LD1的上限带宽为60%。MLD_1的LD0的分配带宽为40%,MLD_1的LD0的上限带宽为60%。MLD_1的LD1的分配带宽为40%,MLD_1的LD1的上限带宽为60%。
表7
又如表8所示,表8是一种SLD的带宽分配示意表,SLD的分配带宽为40%,SLD的上限带宽为60%。
表8
SLD编号 分配带宽(%) 上限带宽(%)
1 40 60
S302,所述至少一个CXL设备中的第一CXL设备中的计算单元在第一时间周期内统计所述第一CXL设备中每个逻辑设备出现各种负载状态的次数,并获取在所述第一时间周期内各种负载状态的总次数。其中,第一CXL设备可以为多个MLD设备中的任意一个MLD设备。
具体的,每个逻辑设备的负载状态可以包括Light load、Optimal load、Moderateoverload或Severe overload。第一时间周期可以包括N个采样周期。计算单元可以确定在每个采样周期内的每个逻辑设备的负载状态,得到N个采样周期内的每个逻辑设备的负载状态。然后对N个采样周期内的每个逻辑设备的负载状态进行统计,确定每个逻辑设备出现各种负载状态的次数。其中,总次数可以等于N,N为大于等于1的整数。
例如,MLD_0包括LD0和LD1,第一时间周期包括5个采样周期。在第一个采样周期,LD0的负载状态为Light load,LD1的负载状态为Optimal load。在第二个采样周期,LD0的负载状态为Optimal load,LD1的负载状态为Moderate overload;在第三个采样周期,LD0的负载状态为Light load,LD1的负载状态为Optimal load。在第四个采样周期,LD0的负载状态为Light load,LD1的负载状态为Optimal load。在第五个采样周期,LD0的负载状态为Light load,LD1的负载状态为Severe overload。基于以上5个采样周期的统计,LD0的负载状态为Light load的次数为4次,LD0的负载状态为Optimal load的次数为1次,出现其他负载状态的次数都为0次。LD1的负载状态为Optimal load的次数为3次,LD1的负载状态为Moderate overload的次数为1次,LD1的负载状态为Severe overload的次数为1次。
可选的,可以获取在每个采样周期内每个逻辑设备接收到的访问请求的次数ReqCn和完成响应的次数CmpCnt,根据访问请求的次数和完成响应的次数,确定每个逻辑设备的已占用带宽。然后根据每个逻辑设备的已占用带宽和预先配置的分配带宽,确定每个逻辑设备的负载状态。其中,访问请求和完成响应的信息长度是一个固定值。
进一步的,可以在每个采样周期内,计算访问请求的次数ReqCnt与完成响应的次数CmpCn之和,得到每个逻辑设备的已占用带宽,然后根据已占用带宽与预先配置的分配带宽之间的比例,确定每个逻辑设备的负载状态。
例如,在某个采样周期内,如果MLD_0中的LD0的已占用带宽为80MB/s,预先配置的分配带宽为50MB/s,则已占用带宽与预先配置的分配带宽之间的比例为1.6,可以确定在该采样周期内LD0的负载状态为Severe overload。如果MLD_0中的LD0的已占用带宽为50MB/s,预先配置的分配带宽为50MB/s,则已占用带宽与预先配置的分配带宽之间的比例为1.0,可以确定在该采样周期内LD0的负载状态为Optimal load。
S303,所述第一CXL设备中的计算单元根据所述第一CXL设备中每个逻辑设备出现各种负载状态的次数和所述总次数,确定所述第一CXL设备中每个逻辑设备的平均负载状态。
具体的,可以将多个逻辑设备中第一逻辑设备出现第一负载状态的次数除以总次数,计算得到第一负载状态对应的比例值,然后对第一负载状态对应的比例值与第一负载状态对应的第一门限值进行比较,如果第一负载状态对应的比例值大于等于第一负载状态对应的第一门限值,则将第一逻辑设备的平均负载状态确定为第一负载状态。其中,所述第一负载状态为所述轻载荷、所述最佳载荷、所述适度超载和所述严重超载中的任意一种。
其中,平均负载状态可以包括平均轻载荷(Avr Light load)、平均最佳载荷(AvrOptimal load)、平均适度超载(Avr Moderate overload)、平均严重超载(Avr Severeoverload)和变化(Vary)5种状态。当第一逻辑设备出现的任何一种负载状态对应的比例值均小于对应的第一门限值时,则将第一逻辑设备的平均负载状态确定为Vary。需要说明的是,平均轻载荷状态、平均最佳载荷Optimal load)、平均适度超载(Avr Moderateoverload)、平均严重超载(Avr Severe overload)这四种状态的严重程度依次递增。
如表9所示,表9是一种预先配置的判定门限值表。例如,MLD_0的LD0的负载状态为Light load,对应第一门限值为80%。当MLD_0的LD0出现Light load的次数与总次数的比例值大于等于80%时,则将MLD_0的LD0的平均负载状态确定为Avr Light load。又如,MLD_0的LD0的负载状态为Moderate overload,对应第一门限值为70%。当MLD_0的LD0出现Moderate overload的次数与总次数的比例值大于等于70%时,则将MLD_0的LD0的平均负载状态确定为Avr Moderate overload。又如,当MLD_0的LD0出现Light load的次数与总次数的比例值小于80%、MLD_0的LD0出现Optimal load的次数与总次数的比例值小于80%、MLD_0的LD0出现Moderate overload的次数与总次数的比例值小于70%、且MLD_0的LD0出现Severe overload的次数与总次数的比例值小于70%时,则将MLD_0的LD0的平均负载状态确定为Vary。
表9
S304,所述BMC对所述至少一个CXL设备中每个CXL设备中的每个逻辑设备的所述平均负载状态进行统计。
具体的,BMC可以向各个CXL设备中的计算单元发送访问请求,各个CXL设备中的计算单元接收到访问请求之后,将每个逻辑设备的平均负载状态上报给BMC,BMC对各个CXL设备上报的每个逻辑设备的平均负载状态进行汇总。
如表10所示,表10是MLD中的每个逻辑设备的平均负载状态的汇总表。MLD_0的LD0的平均负载状态为Avr Light load,MLD_0的LD1的平均负载状态为Avr Moderateoverload。MLD_1的LD0的平均负载状态为Avr Light load,MLD_1的LD1的平均负载状态为Avr Severe overload。
表10
如表11所示,表11是SLD的平均负载状态的汇总表。SLD_0的平均负载状态为AvrLight load。
表11
Host编号 SLD编号 平均负载状态
1 0 平均轻载荷
S305,所述BMC根据所述每个CXL设备中每个逻辑设备的平均负载状态,确定所述每个CXL设备中需要调整带宽的目标逻辑设备,对所述目标逻辑设备的带宽进行调整。
具体地,当一个CXL设备中存在至少两个平均负载状态不同的LD时,BMC可以将这些LD确定为需要调整带宽的目标逻辑设备,并将平均负载状态的严重程度较低的LD的带宽向下调整,将平均负载状态的严重程度较高的LD的带宽向上调整。
示例性地,如图1所示,MLD_0包括LD0和LD1两个逻辑设备,当LD0的平均负载状态是Avr Light load,LD1的平均负载状态是Avr Severe overload时,可以将MLD_0的LD0和LD1确定为目标设备,BMC向下调整LD0的带宽,并向上调整LD1的带宽。
示例性地,MLD_0包括LD0、LD1和LD2三个逻辑设备,当LD0的平均负载状态是AvrLight load,LD1的平均负载状态是Avr Moderate overload时,LD2的平均负载状态是AvrSevere overload时,可以将MLD_0的LD0、LD1和LD2确定为目标设备,BMC向下调整LD0的带宽,并向上调整LD1和LD2的带宽。
或者,示例性地,当LD0的平均负载状态是Avr Light load,LD1的平均负载状态是Avr Optimal load时,BMC也可以将MLD_0的LD0和LD1确定为目标设备,BMC向下调整LD0的带宽,并向上调整LD1的带宽,使得两个LD之间的带宽利用更加均衡。
需要说明的时,当一个CXL设备中所有LD的平均负载状态都一样时,BMC可以无需调整这个CXL设备中的LD的带宽。以及如果MLD中的某个LD的平均负载状态为Vary,表示这个LD的平均负载状态的变动比较频繁,可以对该LD不做任何调整。
在一种实施例中,可以首先将MLD中平均负载状态为Avr Light load或AvrSevere overload的LD确定为目标逻辑设备,对平均负载状态为Avr Light load或AvrSevere overload的目标逻辑设备的带宽进行调整。其次,可以将MLD中平均负载状态为AvrOptimal load、或Avr Moderate overload确定为目标逻辑设备,对平均负载状态为AvrOptimal load、或Avr Moderate overload的目标逻辑设备的带宽进行调整。也即优先调整平均负载状态为Avr Light load或Avr Severe overload的LD。
进一步的,如果目标逻辑设备的平均负载状态为Avr Light load或Avr Optimalload,则可以向下调整目标逻辑设备的带宽。如果目标逻辑设备的平均负载状态为AvrModerate overload或Avr Severe overload,则可以向上调整目标逻辑设备的带宽。从而将冗余的带宽分配给平均负载状态为Avr Moderate overload或Avr Severe overload的LD,提高MLD的带宽利用率。
例如,如图1所示,MLD_0的LD1,MLD_1的LD0和SLD_0映射到Host1,MLD_0的LD0,MLD_1的LD1映射到Host2。也即MLD_0同时被Host1和Host2访问,MLD_1也同时被Host1和Host2访问。又如表8所示,由于MLD_1的LD0的平均负载状态为Avr Light load,MLD_1的LD1的平均负载状态为Avr Severe overload,可以将MLD_1的LD0和LD1确定为目标逻辑设备。并且向下调整MLD_1的LD0的带宽,向上调整MLD_1的LD1的带宽。
在另一个实施例中,可以将MLD中平均负载状态为Avr Light load的LD确定为第一目标逻辑设备,向下调整第一目标逻辑设备的带宽。然后将MLD中平均负载状态为AvrModerate overload或Avr Severe overload的LD确定为第二目标逻辑设备,向上调整第二目标逻辑设备的带宽。
例如,如图1所示,MLD_0的LD1,MLD_1的LD0和SLD_0映射到Host1,MLD_0的LD0,MLD_1的LD1映射到Host2。也即MLD_0同时被Host1和Host2访问,MLD_1也同时被Host1和Host2访问。又如表8所示,由于MLD_0的LD0的平均负载状态为Avr Light load,因此可以首先将MLD_0的LD0确定为第一目标设备,向下调整MLD_0的LD0的带宽。由于MLD_0的LD1的平均负载状态为Avr Moderate overload,因此可以将MLD_0的LD1确定为第二目标逻辑设备,向上调整MLD_0的LD1的带宽。
可选地,BMC还可以根据所述每个逻辑设备与主机之间的映射关系,确定不同的Host访问的LD是否属于同一个MLD、或者同一个Host访问的LD是否属于不同的MLD。如果某个MLD同时被多个主机访问,则根据该MLD中的每个LD的平均负载状态,优先确定并调整该MLD中的需要调整带宽的一个或多个LD。
进一步的,可以按照以下方式对所述目标逻辑设备的带宽进行调整。
在一种实施例中,可以按照预设的调整幅度对所述目标逻辑设备的带宽进行调整。
在一种实施例中,可以将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度,然后根据最大调整幅度,对所述目标逻辑设备的带宽进行调整。进一步的,可以在不超过最大调整幅度的情况下,对所述目标逻辑设备的带宽进行调整。
例如,如果同一个MLD中包括2个LD(LD1、LD2),LD1的平均负载状态为Avr Lightload,LD2的平均负载状态为Avr Severe overload,LD1和LD2预先配置的上限带宽均为60%,LD1和LD2预先配置的分配带宽均为40%,计算得到最大调整幅度为20%(60%-40%)。因此可以按照20%的调整幅度向下调整LD1的带宽,按照20%的调整幅度向上调整LD2的带宽。
在一种实施例中,可以根据目标逻辑设备的平均负载状态,确定目标逻辑设备的调整幅度,然后按照确定的调整幅度,对所述目标逻辑设备的带宽进行调整。
例如,如果同一个MLD中包括3个LD(LD1、LD2和LD3),LD1的平均负载状态为AvrLight load,LD2的平均负载状态为Avr Optimal load,LD3的平均负载状态为Avr Severeoverload。因此确定向下调整LD1和LD2的带宽,向上调整LD3的带宽。但是由于LD1的平均负载状态优于LD2的平均负载状态,因此确定LD1的调整幅度大于LD2的调整幅度。例如可以按照10%的调整幅度向下调整LD1的带宽,按照5%的调整幅度向下调整LD2的带宽,按照15%的调整幅度向上调整LD3的带宽。
应理解,如果同一个MLD中的多个LD的平均负载状态均为Avr Moderate overload或Avr Severe overload,可以按照一定的分配比例同时向上调整多个LD的带宽。如果同一个MLD中的多个LD的平均负载状态均为Avr Light load或Avr Optimal load,可以按照一定的分配比例同时向下调整多个LD的带宽。例如,某个MLD包括4个LD,每个LD的带宽的最大调整幅度均为20%,其中2个LD的平均负载状态为Avr Severe overload,另外两个LD的平均负载状态为Avr Light load。可以按照10%的调整幅度,分别向上调整其中2个LD的带宽,向下调整另外2个LD的带宽。
进一步的,目标逻辑设备的带宽包括预先配置的分配带宽和上限带宽,可以分别对所述目标逻辑设备的预先配置的分配带宽或/和上限带宽进行调整。
例如,如果MLD中的第一LD的平均负载状态均为Avr Light load、且第二LD的平均负载状态均为Avr Severe overload,可以向下调整第一LD的分配带宽和上限带宽,向上调整第二LD的分配带宽和上限带宽。从而充分地将第一LD冗余的带宽分配给第二LD使用,不仅可以保障第一LD不会存在冗余带宽,也可以保障第二LD获得足够的带宽来处理业务。如果MLD中的第一LD的平均负载状态均为Avr Light load、且第二LD的平均负载状态均为AvrModerate overload,可以向下调整第一LD的分配带宽,向上调整第二LD的分配带宽,使得第一LD和第二LD能够获得处理业务的保障带宽。如果在调整第一LD和第二LD的分配带宽之后,第二LD的平均负载状态没有得到改善,可以进一步调整第一LD和第二LD的上限带宽,将第一LD冗余的更多的带宽分配给第二LD。
需要说明的是,对于同一个LD的分配带宽和上限带宽,可以按照不同的调整幅度分别对分配带宽和上限带宽进行调整,也可以按照相同的调整幅度分别对分配带宽和上限带宽进行调整。对于不同的LD,可以按照不同的调整幅度分别向上调整带宽或向下调整带宽,也可以按照相同的调整幅度分别向上调整带宽或向下调整带宽。
例如,如表7所示,MLD_1的LD0和LD1的预先配置的分配带宽为40%,MLD_1的LD0和LD1的预先配置的上限带宽为60%。由于MLD_1的LD0的平均负载状态为Avr Light load,MLD_1的LD1的平均负载状态为Avr Severe overload,因此确定向下调整MLD_1的LD0的上限带宽和分配带宽,向上调整MLD_1的LD1的上限带宽和分配带宽。然后,将预先配置的上限带宽60%减去预先配置的分配带宽40%,计算得到最大调整幅度20%。
表12是在表7所示的预先配置的带宽的基础上,对MLD_1的LD0和LD1的带宽进行重新调整。如表12所示,按照15%的调整幅度(不超过最大调整幅度20%),将MLD_1的LD0的上限带宽从60%向下调整到45%;按照10%的调整幅度,将MLD_1的LD0的分配带宽从40%向下调整到30%。按照15%的调整幅度,将MLD_1的LD0的上限带宽从60%向上调整到75%;按照20%的调整幅度,将MLD_1的LD0的分配带宽从40%向下调整到60%。MLD_0的LD0和LD1的带宽未做调整。
表12
需要说明的是,在执行完步骤301之后,步骤302-步骤305可以被多次执行,以便BMC及时根据CXL设备中的逻辑设备的实际工作状态调整带宽。示例性地,步骤302-步骤305可以周期性地执行。
需要说明的是,采用其他方式确定目标逻辑设备、并且对目标逻辑设备的带宽进行调整的方法也在本申请保护的范围内。
在本申请实施例中,通过在CXL设备中增加计算单元,通过计算单元统计在第一时间周期内各种负载状态的占比,确定同一个CXL设备中每个LD的平均负载状态,根据平均负载状态,对同一个CXL设备中不同的LD的带宽进行调整。这样,即使该CXL设备中的多个LD被不同的主机访问时,也可以通过调整该CXL设备中的LD的带宽,来提高CXL设备的带宽利用率。
本申请实施例可以根据上述方法示例对CXL系统进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
如图4所示,图4是本申请实施例提供的一种带宽调整装置的示意图。该带宽调整装置可以包括管理模块401和计算模块402。其中;
管理模块401,用于获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态;根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略;根据所述调整策略,对所述目标逻辑设备的带宽进行调整。
可选的,计算模块402,用于获取所述第一CXL设备中每个逻辑设备的所述平均负载状态;发送所述平均负载状态至所述BMC。
可选的,计算模块402,还用于获取在第一时间周期内所述第一CXL设备中每个逻辑设备的各种负载状态的次数,并获取在所述第一时间周期内的各种负载状态的总次数;根据所述第一CXL设备中每个逻辑设备出现各种负载状态的次数和所述总次数,确定所述第一CXL设备中每个逻辑设备的所述平均负载状态。
可选的,管理模块401,还用于向所述至少一个CXL设备中每个CXL设备发送访问请求,所述访问请求用于指示获取所述每个CXL设备中每个逻辑设备的所述平均负载状态。
可选的,管理模块401,还用于当所述第一逻辑设备的所述平均负载状态和所述第二逻辑设备的所述平均负载状态不相同时,确定所述目标逻辑设备为所述第一逻辑设备和所述第二逻辑设备。
可选的,管理模块401,还用于当所述第一逻辑设备的所述平均负载状态的严重程度高于所述第二逻辑设备的所述平均负载状态时,向上调整所述第一逻辑设备的带宽,且向下调整所述第二逻辑设备的带宽;或者,当所述第一逻辑设备的所述平均负载状态的严重程度低于所述第二逻辑设备的所述平均负载状态时,向下调整所述第一逻辑设备的带宽,且向上调整所述第二逻辑设备的带宽。
可选的,管理模块401,还用于配置所述至少一个CXL设备中每个CXL设备中逻辑设备与主机的映射关系,以及配置所述每个CXL设备中每个逻辑设备的带宽。
可选的,管理模块401,还用于按照预设的调整幅度对所述目标逻辑设备的带宽进行调整。
可选的,管理模块401,还用于将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度;根据所述最大调整幅度,对所述目标逻辑设备的带宽进行调整。
可选的,管理模块401,还用于根据所述目标逻辑设备的平均负载状态,确定所述目标逻辑设备的调整幅度;按照所述调整幅度,对所述目标逻辑设备的带宽进行调整。
需要说明的是,上述计算模块402用于执行上文方法实施例中CXL设备中计算单元所执行的动作或步骤。上述管理模块401用于执行上文方法实施例中BMC所执行的动作或步骤。各个模块的实现还可以对应参照图2或图3所示的方法实施例的相应描述,执行上述实施例中CXL设备中计算单元和BMC所执行的方法和功能。
图5是本申请实施例提供的一种交换设备的结构示意图。该交换设备可应用于如图1所示的CXL系统中,执行上述方法实施例中CXL交换器的功能,并且可以实现上述方法实施例中BMC执行的步骤或者流程。
如图5所示,该交换设备包括处理器501、收发器502。可选地,该交换设备还包括存储器503。其中,处理器501、收发器502和存储器503之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器503用于存储计算机程序,该处理器501用于从该存储器503中调用并运行该计算机程序,以控制该收发器502收发信号。上述处理器501可以与图4中的管理模块401对应,上述处理器501可以和存储器503可以合成一个处理装置,处理器501用于执行存储器503中存储的程序代码来实现上述功能。具体实现时,该存储器503也可以集成在处理器501中,或者独立于处理器501。
上述收发器502可以也可以称为收发单元或收发模块。收发器502可以包括接收器(或称接收机、接收电路)和发射器(或称发射机、发射电路)。其中,接收器用于接收信号,发射器用于发射信号。收发器502用于和主机或者CXL设备通信。
应理解,图5所示的交换设备能够实现图2或图3所示方法实施例中涉及CXL交换器以及BMC的各个过程。交换设备中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。
其中,处理器501可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信总线504可以是外设部件互连标准PCI总线或扩展工业标准结构EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信总线504用于实现这些组件之间的连接通信。其中,本申请实施例中收发器502用于与其他节点设备进行信令或数据的通信。存储器503可以包括易失性存储器,例如非挥发性动态随机存取内存(nonvolatile random access memory,NVRAM)、相变化随机存取内存(phase change RAM,PRAM)、磁阻式随机存取内存(magetoresistive RAM,MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)、半导体器件,例如固态硬盘(solid state disk,SSD)等。存储器503可选的还可以是至少一个位于远离前述处理器501的存储装置。存储器503中可选的还可以存储一组计算机程序代码或配置信息。可选的,处理器501还可以执行存储器503中所存储的程序。处理器可以与存储器和收发器相配合,执行上述申请实施例中CXL系统的任意一种方法和功能。
本申请实施例还提供另一种交换设备。该交换设备可应用于如图1所示的CXL系统中,执行上述方法实施例中BMC的功能,并且实现上述方法实施例中BMC执行的步骤或者流程。
该交换设备包括处理器、收发器。可选地,该交换设备还包括存储器。其中,处理器、收发器和存储器之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器用于存储计算机程序,该处理器用于从该存储器中调用并运行该计算机程序,以控制该收发器收发信号。上述处理器可以与图4中的管理模块401对应,收发器用于和CXL交换器通信,上述处理器可以和存储器可以合成一个处理装置,处理器用于执行存储器中存储的程序代码来实现上述功能。具体实现时,该存储器也可以集成在处理器中,或者独立于处理器。
应理解,该交换设备能够实现图2或图3所示方法实施例中涉及BMC的各个过程。交换设备中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。
本申请实施例还提供了一种服务器,该服务器包括处理器、CXL交换模块、和至少一个CXL模块和单板管理控制器(Board Management Controller,BMC)等组件。其中,CXL模块集成在服务器上,可以包括高速缓存以及可访问存储器。CXL交换模块可以是集成在服务器上具有图1中的CXL系统中CXL交换器功能的芯片,CXL交换模块分别与处理器、CXL模块以及BMC连接。处理器可以创建具有存储、统计功能的虚拟设备,用于分别与不同的CXL模块连接,完成不同的业务。
需要说明的是,BMC也可以设置在CXL交换模块上。图1中的CXL系统中的主机。
本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于CXL系统以实现上述任一实施例中所涉及的功能,例如确定上述方法中所涉及的平均负载状态。在一种可能的设计中,所述芯片系统还可以包括存储器,所述存储器,用于CXL系统必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。其中,芯片系统的输入和输出,分别对应方法实施例CXL系统的接收与发送操作。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行图2或图3所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行图2或图3所示实施例中任意一个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disc,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种带宽调整方法,其特征在于,所述方法应用于计算快速链路CXL系统,所述CXL系统包括至少一个CXL设备和单板管理控制器BMC,所述至少一个CXL设备包括第一CXL设备,所述第一CXL设备包括至少两个逻辑设备,所述方法包括:
所述BMC获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态;
所述BMC根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略;
所述BMC根据所述调整策略,对所述目标逻辑设备的带宽进行调整。
2.如权利要求1所述的方法,其特征在于,所述BMC获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态包括:
所述第一CXL设备获取所述第一CXL设备中每个逻辑设备的所述平均负载状态;
所述第一CXL设备发送所述平均负载状态至所述BMC。
3.如权利要求2所述的方法,其特征在于,所述第一CXL设备获取所述第一CXL设备中每个逻辑设备的所述平均负载状态,包括:
所述第一CXL设备获取在第一时间周期内所述第一CXL设备中每个逻辑设备的各种负载状态的次数,并获取在所述第一时间周期内的各种负载状态的总次数;
所述第一CXL设备根据所述第一CXL设备中每个逻辑设备出现各种负载状态的次数和所述总次数,确定所述第一CXL设备中每个逻辑设备的所述平均负载状态。
4.如权利要求1-3任一所述的方法,其特征在于,所述平均负载状态包括平均轻载荷、平均最佳载荷、平均适度超载和平均严重超载,所述第一CXL设备包括第一逻辑设备和第二逻辑设备;所述BMC根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略,包括:
当所述第一逻辑设备的所述平均负载状态和所述第二逻辑设备的所述平均负载状态不相同时,所述BMC确定所述目标逻辑设备为所述第一逻辑设备和所述第二逻辑设备。
5.如权利要求4所述的方法,其特征在于,所述BMC根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略,包括:
当所述第一逻辑设备的所述平均负载状态的严重程度高于所述第二逻辑设备的所述平均负载状态时,所述BMC向上调整所述第一逻辑设备的带宽,且所述BMC向下调整所述第二逻辑设备的带宽;或者,
当所述第一逻辑设备的所述平均负载状态的严重程度低于所述第二逻辑设备的所述平均负载状态时,所述BMC向下调整所述第一逻辑设备的带宽,且所述BMC向上调整所述第二逻辑设备的带宽。
6.如权利要求1-5任一项所述的方法,其特征在于,所述BMC根据所述调整策略,对所述目标逻辑设备的带宽进行调整包括:
所述BMC按照预设的调整幅度对所述目标逻辑设备的带宽进行调整。
7.如权利要求1-5任一项所述的方法,其特征在于,所述BMC根据所述调整策略,对所述目标逻辑设备的带宽进行调整包括:
所述BMC将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度;
所述BMC根据所述最大调整幅度,对所述目标逻辑设备的带宽进行调整。
8.如权利要求1-5任一项所述的方法,其特征在于,所述BMC根据所述调整策略,对所述目标逻辑设备的带宽进行调整包括:
所述BMC根据所述目标逻辑设备的平均负载状态,确定所述目标逻辑设备的调整幅度;
所述BMC按照所述调整幅度,对所述目标逻辑设备的带宽进行调整。
9.一种计算快速链路CXL系统,其特征在于,所述CXL系统包括至少一个CXL设备和单板管理控制器BMC,所述至少一个CXL设备包括第一CXL设备,所述第一CXL设备包括至少两个逻辑设备,其中:
所述BMC,用于获取所述第一CXL设备中的每个所述逻辑设备的平均负载状态;根据所述平均负载状态,确定所述第一CXL设备中的目标逻辑设备和调整策略;根据所述调整策略,对所述目标逻辑设备的带宽进行调整。
10.如权利要求9所述的系统,其特征在于,
所述第一CXL设备,用于获取所述第一CXL设备中每个逻辑设备的所述平均负载状态;发送所述平均负载状态至所述BMC。
11.如权利要求10所述的系统,其特征在于,
所述第一CXL设备,还用于获取在第一时间周期内所述第一CXL设备中每个逻辑设备的各种负载状态的次数,并获取在所述第一时间周期内的各种负载状态的总次数;根据所述第一CXL设备中每个逻辑设备出现各种负载状态的次数和所述总次数,确定所述第一CXL设备中每个逻辑设备的所述平均负载状态。
12.如权利要求9-11任一所述的系统,其特征在于,所述平均负载状态包括平均轻载荷、平均最佳载荷、平均适度超载和平均严重超载,所述第一CXL设备包括第一逻辑设备和第二逻辑设备;
所述BMC,还用于当所述第一逻辑设备的所述平均负载状态和所述第二逻辑设备的所述平均负载状态不相同时,确定所述目标逻辑设备为所述第一逻辑设备和所述第二逻辑设备。
13.如权利要求12所述的系统,其特征在于,
所述BMC,还用于当所述第一逻辑设备的所述平均负载状态的严重程度高于所述第二逻辑设备的所述平均负载状态时,向上调整所述第一逻辑设备的带宽,且向下调整所述第二逻辑设备的带宽;或者,
所述BMC,还用于当所述第一逻辑设备的所述平均负载状态的严重程度低于所述第二逻辑设备的所述平均负载状态时,向下调整所述第一逻辑设备的带宽,且向上调整所述第二逻辑设备的带宽。
14.如权利要求9-13任一项所述的系统,其特征在于,
所述BMC,还用于按照预设的调整幅度对所述目标逻辑设备的带宽进行调整。
15.如权利要求9-13任一项所述的系统,其特征在于,
所述BMC,还用于将预先配置的上限带宽减去预先配置的分配带宽,计算得到最大调整幅度;根据所述最大调整幅度,对所述目标逻辑设备的带宽进行调整。
16.如权利要求9-13任一项所述的系统,其特征在于,
所述BMC,还用于根据所述目标逻辑设备的平均负载状态,确定所述目标逻辑设备的调整幅度;按照所述调整幅度,对所述目标逻辑设备的带宽进行调整。
CN202210801375.2A 2022-07-08 2022-07-08 一种带宽调整方法及系统 Pending CN117411790A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210801375.2A CN117411790A (zh) 2022-07-08 2022-07-08 一种带宽调整方法及系统
PCT/CN2023/106654 WO2024008197A1 (zh) 2022-07-08 2023-07-10 一种带宽调整方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210801375.2A CN117411790A (zh) 2022-07-08 2022-07-08 一种带宽调整方法及系统

Publications (1)

Publication Number Publication Date
CN117411790A true CN117411790A (zh) 2024-01-16

Family

ID=89454313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210801375.2A Pending CN117411790A (zh) 2022-07-08 2022-07-08 一种带宽调整方法及系统

Country Status (2)

Country Link
CN (1) CN117411790A (zh)
WO (1) WO2024008197A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294557B2 (en) * 2013-04-19 2016-03-22 International Business Machines Corporation Hardware level generated interrupts indicating load balancing status for a node in a virtualized computing environment
US10110300B2 (en) * 2014-09-08 2018-10-23 Hughes Network Systems, Llc Bandwidth management across logical groupings of access points in a shared access broadband network
CN106302216A (zh) * 2015-05-20 2017-01-04 天脉聚源(北京)科技有限公司 一种网络负载均衡的方法和系统
CN114391250B (zh) * 2020-08-05 2023-06-02 华为技术有限公司 带宽管理方法及装置、计算机存储介质及芯片
CN112333107A (zh) * 2020-11-12 2021-02-05 中国联合网络通信集团有限公司 确定发送下行数据的策略的方法、装置及存储介质
CN114546647A (zh) * 2022-02-21 2022-05-27 联想(北京)有限公司 调度方法和调度装置

Also Published As

Publication number Publication date
WO2024008197A1 (zh) 2024-01-11

Similar Documents

Publication Publication Date Title
US11546644B2 (en) Bandwidth control method and apparatus, and device
US9225668B2 (en) Priority driven channel allocation for packet transferring
US8301823B2 (en) Bus controller arranged between a bus master and a networked communication bus in order to control the transmission route of a packet that flows through the communication bus, and simulation program to design such a bus controller
US20200225724A1 (en) Platform slicing of central processing unit (cpu) resources
US8817619B2 (en) Network system with quality of service management and associated management method
CN110248417B (zh) 一种电力物联网中上行通信业务的资源分配方法及系统
US11044729B2 (en) Function scheduling method, device, and system
US20140036680A1 (en) Method to Allocate Packet Buffers in a Packet Transferring System
CN109068332B (zh) 数据传输方法及装置
CN114040467A (zh) 一种传输路径的确定方法、装置、服务器及存储介质
US20200076742A1 (en) Sending data using a plurality of credit pools at the receivers
US12009982B2 (en) Network slice allocation method, terminal and storage medium
WO2019233203A1 (zh) 一种基于多可用分区az的域名解析方法及装置
US11811635B2 (en) Network traffic migration method and apparatus
US20090274049A1 (en) Non-blocked network system and packet arbitration method thereof
JP2018520434A (ja) Usb2.0帯域幅予約のための方法およびシステム
CN117411790A (zh) 一种带宽调整方法及系统
CN109995667A (zh) 传输报文的方法和发送设备
CN111475281A (zh) 负载均衡方法、服务器和计算机可读存储介质
CN116489777A (zh) 应用于tdma数据链时隙资源复用的方法、介质及装置
CN113890847B (zh) 一种流量转发方法和装置
CN115098250A (zh) 资源处理方法、交换设备、服务器和存储介质
CN115794396A (zh) 资源分配的方法、系统和电子设备
CN113727386B (zh) 一种通信方法及装置
US20220294744A1 (en) Information processing device and method of controlling information processing device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication