CN105095146B - 基于内存控制器的带宽分配方法及装置 - Google Patents
基于内存控制器的带宽分配方法及装置 Download PDFInfo
- Publication number
- CN105095146B CN105095146B CN201410196222.5A CN201410196222A CN105095146B CN 105095146 B CN105095146 B CN 105095146B CN 201410196222 A CN201410196222 A CN 201410196222A CN 105095146 B CN105095146 B CN 105095146B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- memory controller
- controller hub
- quota
- information
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种基于内存控制器的带宽分配方法及装置,该方法包括:在一时间窗口结束之时,集中式内存控制器Meta‑MC获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;所述Meta‑MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。本发明实施例可以保证所述第一应用性能下降的幅度在指定界限之内,也即保障所述第一应用的Qos。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种基于内存控制器的带宽分配方法及装置。
背景技术
随着多核处理器的发展,在系统或处理器片内集成多个内存控制器,其中,内存控制器是计算机系统内部控制内存并且使内存与CPU之间交换数据的重要组成部分。由于多个应用在多核处理器上同时运行会共享内存带宽,因此,需要采取合理的带宽分配方案以提高系统吞吐量。
现有的多内存控制器通过请求调度方法来提高系统吞吐量,可选地先周期性地根据每个应用从内存控制器获得的服务时间对各个应用进行排序,并在每一个周期内给予在上一周期中获得最少服务时间的应用高的优先级,然后根据各个应用的优先级进行调度。
当某些关键应用和其它应用并发运行时,所述其它应用会与所述关键应用共享内存带宽,其中,所述关键应用为提供在线服务的延迟敏感交互式用应用,如网页搜索。但现有技术中仅根据每个应用从内存控制器获得的服务时间长短对各个应用进行优先级排序,并不能保证分配给关键应用的带宽,从而无法保障关键应用的服务质量(Quality ofService,简称Qos)。
发明内容
本发实施例提供一种基于内存控制器的带宽分配方法及装置,用以保障第一应用的Qos。
第一方面,本发明实施例提供一种基于内存控制器的带宽分配方法,包括:
在一时间窗口结束之时,集中式内存控制器Meta-MC获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;
所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
结合第一方面,在第一方面的第一种可能的实现方式中,在一时间窗口结束之时,所述集中式内存控制器Meta-MC获取至少一个内存控制器MC的访存请求服务信息,包括:
在一时间窗口结束之时,所述Meta-MC接收由所述MC在所述时间窗口内收集所述第一应用在所述MC上的访存请求服务信息之后发送的所述访存请求服务信息,其中,所述访存请求服务信息包括请求服务速率RSRi和所述第一应用在所述MC上获得服务的访存周期数ASi,所述RSRi包括并发运行时的请求服务速率RSRShared(i)和单独运行时的请求服务速率RSRAlone(i);i为所述MC的标号。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,包括:
所述Meta-MC根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值;
所述Meta-MC根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述Meta-MC根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,包括:
所述Meta-MC将所述下降幅度值与一预设下降幅度阀值进行比较,若所述下降幅度值大于等于所述下降幅度阀值,则在第一目标带宽比例的基础上增加一预设带宽调整比例得到第二目标带宽比例;否则,则在第一目标带宽比例的基础上减少一预设带宽调整比例得到第二目标带宽比例;其中,所述第一目标带宽比例为所述第一应用在所述时间窗口内在所述各个MC上的带宽比例之和,所述第二目标带宽比例为所述第一应用在所述下一个时间窗口内在所述各个MC上的带宽比例之和;
所述Meta-MC根据所述MC的ASi信息将所述第二目标带宽比例分配给所述各个MC。
结合第一方面的第二种或第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述Meta-MC根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值,包括:
所述Meta-MC采用公式预测所述第一应用的性能下降幅度值;其中,所述α为处理器核的计算停顿周期比例,RSRShared为所述RSRShared(i)的累积和,所述RSRAlone为所述RSRAlone(i)的累积和。
结合第一方面、第一方面的第一种至第四种任一种可能的实现方式,在所述第一方面的第五种可能的实现方式中,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例之后,还包括:
所述Meta-MC将剩余带宽比例分配给其它应用;其中,所述剩余带宽比例为除为所述第一应用分配的带宽比例之外的带宽比例。
结合第一方面、第一方面的第一种至第五种任一种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例之后,还包括:
所述Meta-MC将调整后的所述第一应用在所述MC上的带宽比例发送给所述MC。
第二方面,本发明实施例提供一种基于内存控制器的带宽分配方法,包括:
第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额;
所述第一内存控制器根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额;其中,所述预设带宽配额为所述第一应用在所述第一内存控制器上预设的带宽配额。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一内存控制器根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额,包括:
若所述当前带宽配额小于所述预设带宽配额,则所述第一内存控制器发送多余带宽配额信息,当收到第二内存控制器的带宽配额请求后,所述第一内存控制器减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额发送给所述第二内存控制器;其中,所述多余带宽配额信息中包含所述第一应用在所述第一内存控制器上多余的带宽配额信息;所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息;
若所述当前带宽配额大于所述预设带宽配额,则所述第一内存控制器发送带宽配额请求,当收到第二内存控制器的多余带宽配额信息后,所述第一内存控制器增加所述第一应用在所述第一内存控制器上的带宽配额;其中,所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一内存控制器发送多余带宽配额信息,包括:
所述第一内存控制器通过集中式内存控制器发送所述多余带宽配额信息;
相应地,所述第一内存控制器发送带宽配额请求,包括:
所述第一内存控制器通过所述集中式内存控制器发送所述带宽配额请求。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一内存控制器发送多余带宽配额信息,包括:
所述第一内存控制器通过专用MC协调总线发送所述多余带宽配额信息;
相应地,所述第一内存控制器发送带宽配额请求,包括:
所述第一内存控制器通过所述专用MC协调总线发送所述带宽配额请求。
结合第二方面、第二方面的第一种至第三种任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额,包括:
当到达任一时间窗口内的任一带宽分配同步点时,所述第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额;其中,所述时间窗口内设置至少一个带宽分配同步点。
第三方面,本发明实施例提供一种集中式内存控制器Meta-MC,包括:
获取模块,用于在一时间窗口结束之时获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;
调整模块,用于根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
结合第三方面,在第三方面的第一种可能的实现方式中,获取模块用于:在一时间窗口结束之时接收由所述MC在所述时间窗口内收集所述第一应用在所述MC上的访存请求服务信息之后发送的所述访存请求服务信息,其中,所述访存请求服务信息包括请求服务速率RSRi和所述第一应用在所述MC上获得服务的访存周期数ASi,所述RSRi包括并发运行时的请求服务速率RSRShared(i)和单独运行时的请求服务速率RSRAlone(i);i为所述MC的标号。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述调整模块,包括:
预测单元,用于根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值;
调整单元,用于根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述调整单元,具体用于:
将所述下降幅度值与一预设下降幅度阀值进行比较,若所述下降幅度值大于等于所述下降幅度阀值,则在第一目标带宽比例的基础上增加一预设带宽调整比例得到第二目标带宽比例;否则,则在第一目标带宽比例的基础上减少一预设带宽调整比例得到第二目标带宽比例;其中,所述第一目标带宽比例为所述第一应用在所述时间窗口内在所述各个MC上的带宽比例之和,所述第二目标带宽比例为所述第一应用在所述下一个时间窗口内在所述各个MC上的带宽比例之和;
根据所述MC的ASi信息将所述第二目标带宽比例分配给所述各个MC。
结合第三方面的第二种或第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述预测单元具体用于:采用公式预测所述第一应用的性能下降幅度值;其中,所述α为处理器核的计算停顿周期比例,RSRShared为所述RSRShared(i)的累积和,所述RSRAlone为所述RSRAlone(i)的累积和。
结合第三方面、第三方面的第一种至第四种任一种可能的实现方式,在所述第三方面的第五种可能的实现方式中,还包括:
分配模块,用于将剩余带宽比例分配给其它应用;其中,所述剩余带宽比例为除为所述第一应用分配的带宽比例之外的带宽比例。
结合第三方面、第三方面的第一种至第五种任一种可能的实现方式,在所述第三方面的第六种可能的实现方式中,还包括:
发送模块,用于将调整后的所述第一应用在所述MC上的带宽比例发送给所述MC。
第四方面,本发明实施例提供一种内存控制器,所述内存控制器为第一内存控制器,所述内存控制器,包括:
检测模块,用于检测第一应用在所述第一内存控制器上的当前带宽配额;
调整模块,用于根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额;其中,所述预设带宽配额为所述第一应用在所述第一内存控制器上预设的带宽配额。
结合第四方面,在第四方面的第一种可能的实现方式中,所述调整模块具体用于:
若所述当前带宽配额小于所述预设带宽配额,则发送多余带宽配额信息,当收到第二内存控制器的带宽配额请求后,减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额发送给所述第二内存控制器;其中,所述多余带宽配额信息中包含所述第一应用在所述第一内存控制器上多余的带宽配额信息;所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息;
若所述当前带宽配额大于所述预设带宽配额,则发送带宽配额请求,当收到第二内存控制器的多余带宽配额信息后,增加所述第一应用在所述第一内存控制器上的带宽配额;其中,所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,若所述当前带宽配额小于所述预设带宽配额,所述调整模块具体用于:通过集中式内存控制器发送所述多余带宽配额信息;
若所述当前带宽配额大于所述预设带宽配额,所述调整模块具体用于:通过所述集中式内存控制器发送所述带宽配额请求。
结合第四方面的第一种可能的实现方式,在第四方面的第三种可能的实现方式中,若所述当前带宽配额小于所述预设带宽配额,所述调整模块具体用于:通过专用MC协调总线发送所述第一应用在所述第一内存控制器上多余带宽配额信息;
若所述当前带宽配额大于所述预设带宽配额,所述调整模块具体用于:通过所述专用MC协调总线发送所述带宽配额请求。
结合第四方面、第四方面的第一种至第三种任一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述检测模块具体用于:当到达任一时间窗口内的任一带宽分配同步点时,检测第一应用在所述第一内存控制器上的当前带宽配额;其中,所述时间窗口内设置至少一个带宽分配同步点。
本发明中集中式内存控制器Meta-MC通过在一时间窗口结束之时获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;并根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,以保证所述第一应用性能下降的幅度在指定界限之内,也即保障所述第一应用的Qos。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于内存控制器的带宽分配方法实施例一的流程示意图;
图2为本发明基于内存控制器的带宽分配方法实施例二的应用场景示意;
图3为本发明基于内存控制器的带宽分配方法实施例三的流程示意图;
图4为本发明基于内存控制器的带宽分配方法实施例四的应用场景示意;
图5为本发明基于内存控制器的带宽分配方法实施例五的应用场景示意;
图6为本发明集中式内存控制器实施例一的结构示意图;
图7为本发明集中式内存控制器实施例二的结构示意图;
图8为本发明内存控制器实施例一的结构示意图;
图9为本发明内存控制器实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于内存控制器的带宽分配方法实施例一的流程示意图,如图1所示,本实施例的方法可以包括:
步骤101、在一时间窗口结束之时,集中式内存控制器Meta-MC获取至少一个内存控制器MC的访存请求服务信息。
本发明实施例中,可以预定义每个时间窗口长度为M周期,所述M为大于零的整数,在每个时间窗口结束之时,集中式内存控制器(Meta-Memory Controller,简称Meta-MC)获取与所述Meta-MC连接的每个内存控制器(Memory Controller,简称MC)的访存请求服务信息,其中,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息,以便于所述Meta-MC根据所述访存请求信息调整下一个时间窗口中所述第一应用在所述各个MC上的带宽比例。可选地,所述第一应用可以为任一关键应用。
可选地,在一时间窗口结束之时,所述集中式内存控制器Meta-MC获取至少一个内存控制器MC的访存请求服务信息,包括:
在一时间窗口结束之时,所述Meta-MC接收由所述MC在所述时间窗口内收集所述第一应用在所述MC上的访存请求服务信息之后发送的所述访存请求服务信息,其中,所述访存请求服务信息包括请求服务速率(Request service rate,简称RSRi)和所述第一应用在所述MC上获得服务的访存周期数ASi,所述RSRi包括并发运行时的请求服务速率RSRShared(i)和单独运行时的请求服务速率RSRAlone(i);w为所述MC的标号。
步骤102、所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
本发明实施例中,所述Meta-MC根据在所述时间窗口结束时接收的各个MC发送的所述访存请求服务信息预测所述第一应用的性能下降幅度值,从而对所述时间窗口的下一个时间窗口中所述第一应用在所述各个MC上的带宽比例进行调整,以保障所第一应用性能下降的幅度在指定界限之内。
可选地,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,包括:
所述Meta-MC根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值;所述Meta-MC根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
本发明实施例中,所述Meta-MC将所述各个MC的RSRShared(i)及RSRAlone(i)分别进行累积求和,得到RSRShared及RSRAlone;并通过收集处理器核处于访存请求的计算停顿周期数和总周期数,计算处理器核的计算停顿周期比例α;从而采用公式预测所述第一应用的性能下降幅度值;其中,所述α为处理器核的计算停顿周期比例,RSRShared为所述RSRShared(i)的累积和,所述RSRAlone为所述RSRAlone(i)的累积和。
可选地,所述Meta-MC根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,包括:
所述Meta-MC将所述下降幅度值与一预设下降幅度阀值进行比较,若所述下降幅度值大于等于所述下降幅度阀值,则在第一目标带宽比例的基础上增加一预设带宽调整比例得到第二目标带宽比例;否则,则在第一目标带宽比例的基础上减少一预设带宽调整比例得到第二目标带宽比例;其中,所述第一目标带宽比例为所述第一应用在所述时间窗口内在所述各个MC上的带宽比例之和,所述第二目标带宽比例为所述第一应用在所述下一个时间窗口内在所述各个MC上的带宽比例之和;所述Meta-MC根据所述MC的ASi信息将所述第二目标带宽比例分配给所述各个MC。
本发明实施例中所述Meta-MC将所述下降幅度值与一预设下降幅度阀值B进行比较,若所述下降幅度值大于等于所述下降幅度阀值(代表所述第一应用性能下降的幅度大于指定界限了),则在第一目标带宽比例的基础上增加一预设带宽调整比例bw得到第二目标带宽比例BW,也即增加所述第一应用在所述下一个时间窗口内在所述各个MC上的带宽比例之和;否则,则在第一目标带宽比例的基础上减少一预设带宽调整比例bw得到第二目标带宽BW,也即减少所述第一应用在所述下一个时间窗口内在所述各个MC上的带宽比例之和。进一步地,所述Meta-MC将所述各个MC的ASi进行累积求和,得到AS;并采用公式βi=Ai/AS得到各个MC的带宽分配比例βi;从而根据所述βi将所述第二目标带宽比例分配给所述各个MC,可选地,采用公式BWi=BW×βi计算得到各个MC上的带宽分配比例BWi。
进一步地,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例之后,还包括:
所述Meta-MC将剩余带宽比例分配给其它应用;其中,所述剩余带宽比例为除为所述第一应用分配的带宽比例之外的带宽比例。
本发明实施中,所述Meta-MC将剩余带宽比例分配给所述各个MC上其它应用,其中,所述剩余带宽比例为除为所述第一应用分配的带宽比例之外的带宽比例,也即所述剩余带宽比例=1-BW。
进一步地,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例之后,还包括:所述Meta-MC将调整后的所述第一应用在所述MC上的带宽比例发送给所述MC。
本发明实施例中,所述Meta-MC将调整后的所述下一个时间窗口中所述第一应用在所述MC上的带宽比例发送给所述MC,以使所述各个MC根据所分配的带宽比例为所述第一应用提供服务。
可选地,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例的操作可以在所述时间窗口与所述下一个时间窗口之间的空隙时间段完成。
本发明实施例中,集中式内存控制器Meta-MC通过在一时间窗口结束之时获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;并根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,以保证所述第一应用性能下降的幅度在指定界限之内,也即保障所述第一应用的Qos。
图2为本发明基于内存控制器的带宽分配方法实施例二的应用场景示意,如图2所示,包含4个MC和一个Meta-MC,其中,所述Meta-MC分别与所述四个MC连接,并调整第一应用在所述四个MC的带宽比例,其中,所述第一应用为关键应用A。本发明实施例中,所述Meta-MC为关键应用A分配初始带宽比例为55%,预定义每个时间窗口长度为5million cycles(即M=5million cycles),每个时间窗口内关键应用A获得高优先级的周期数为10000cycles(即N=10000cycles),预设关键应用A性能下降幅度阀值为B=1.5,以及预设带宽调整比例bw=2%。
表1为所述四个MC收集的数据信息,如表1所示,每个MC分别收集关键应用A的#Requests、#HPE Requests及ASi。
表1:所述四个MC收集的数据信息
MC1 | MC2 | MC3 | MC4 | |
#Requests | 330750 | 353070 | 311797 | 380034 |
#HPE Requests | 1320 | 1146 | 1498 | 1652 |
ASi | 34530 | 25433 | 46401 | 29873 |
表2为所述四个MC的RSRShared(i)及RSRAlone(i),如表所示,根据所述#Requests、#HPERequests、M及N计算关键应用A在每个MC上的RSRShared(i)及RSRAlone(i)。
表2:所述四个MC的RSRShared(i)及RSRAlone(i)
在时间窗口结束之时,所述Meta-MC获取所述四个MC发送的访存请求服务信息(RSRShared(i)、RSRAlone(i)及ASi),并通过对所述四个MC的RSRShared(i)、RSRAlone(i)及ASi分别进行累积求和,得到RSRShared、RSRAlone和AS,具体公式如下:
所述Meta-MC收集处理器核处于访存请求的计算停顿周期数和总周期数,通过公式α=处于访存请求的计算停顿周期/总周期数来计算处理器核的计算停顿周期比例α=67.30769%,并根据公式计算关键应用A的性能下架幅度QΔ=1.7008。
进一步地,由于QΔ≥B,则令第二目标带宽比例BW=55%+2%=57%。
进一步地,采用公式βi=Ai/AS得到各个MC的带宽分配比例βi,其中,β1=0.2534、β2=0.1867、β2=0.3406及β3=0.2093;从而根据所述βi将所述第二目标带宽比例BW分配给所述四个MC,可选地,采用公式BWi=BW×βi计算得到四个MC上的带宽分配比例BWi,其中,BW1=14.44%、BW2=10.64%、BW3=19.41%及BW4=12.5%;进一步地,所述Meta-MC将调整后的所述下一个时间窗口中所述关键应用在所述MC上的带宽比例(BWi)发送给所述MC;进一步地,所述Meta-MC将剩余带宽比例(43%)分配给所述各个MC上其它非关键应用。
图3为本发明基于内存控制器的带宽分配方法实施例三的流程示意图,如图3所示,本实施例的方法可以包括:
步骤301、第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额。
步骤302、所述第一内存控制器根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额。
本发明实施例中,第一内存控制器在每个时间窗口内检测第一应用在所述第一内存控制器上的当前带宽配额,并根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额,其中,所述预设带宽配额为所述第一应用在所述第一内存控制器上预设的带宽配额,可选地,所述预设带宽配额可以为系统预设的,也可以由前述实施例一中所述Meta-MC为所述第一内存控制器分配的。可选地,所述第一应用可以为任一关键应用。
可选地,所述第一内存控制器根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额,包括:
若所述当前带宽配额小于所述预设带宽配额,则所述第一内存控制器发送多余带宽配额信息,当收到第二内存控制器的带宽配额请求后,所述第一内存控制器减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额发送给所述第二内存控制器;其中,所述多余带宽配额信息中包含所述第一应用在所述第一内存控制器上多余的带宽配额信息;所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息;
若所述当前带宽配额大于所述预设带宽配额,则所述第一内存控制器发送带宽配额请求,当收到第二内存控制器的多余带宽配额信息后,所述第一内存控制器增加所述第一应用在所述第一内存控制器上的带宽配额;其中,所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息。
本发明实施例中,所述第一内存控制器根据所述当前带宽配额和一预设带宽配额的大小确定如何调整所述第一应用在所述第一内存控制器上的带宽配额。若所述当前带宽配额小于所述预设带宽配额,可选地,所述第一内存控制器可以通过集中式内存控制器Meta-MC向外广播包含所述第一应用在所述第一内存控制器上多余带宽配额信息,也即所述第一内存控制器向所述Meta-MC发送所述多余带宽配额信息,以便于所述Meta-MC向其他MC广播所述多余带宽配额信息;当收到第二内存控制器的带宽配额请求后(所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息),所述第一内存控制器减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额通过所述Meta-MC发送给所述第二内存控制器。
若所述当前带宽配额大于所述预设带宽配额,可选地,所述第一内存控制器可以通过集中式内存控制器Meta-MC向外广播带宽配额请求,也即所述第一内存控制器向所述Meta-MC发送所述带宽配额请求,以便于所述Meta-MC向其他MC广播所述带宽配额请求,从而可以向其他MC借用带宽配额,可选地,所述带宽配额请求可以为Borrow<第一内存控制器,M1>,用以表示第一内存控制器的当前带宽配额超出预设带宽配额,需要向其它MC借用带宽配额M1;当收到第二内存控制器的多余带宽配额信息后(所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息),所述第一内存控制器增加所述第一应用在所述第一内存控制器上的带宽配额,可选地,所述第二内存控制器可以通过Feed<第一内存控制器,第二内存控制器,M1>向所述第一内存控制器借带宽配额M1,也即所述第一内存控制器在所述预设带宽配额的基础上增加带宽配额M1。
可选地,还可以使用一个连接多个MC的专用MC协调总线代替所述Meta-MC在多个MC间传递带宽分配消息。若所述当前带宽配额小于所述预设带宽配额,可选地,所述第一内存控制器可以通过专用MC协调总线向外广播包含所述第一应用在所述第一内存控制器上多余带宽配额信息;当收到第二内存控制器的带宽配额请求后(所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息),所述第一内存控制器减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额通过专用MC协调总线发送给所述第二内存控制器。
若所述当前带宽配额大于所述预设带宽配额,可选地,所述第一内存控制器可以通过专用MC协调总线向外广播带宽配额请求,可选地,所述带宽配额请求可以为Borrow<第一内存控制器,M1>,用以表示第一内存控制器的当前带宽配额超出预设带宽配额,需要向其它MC借用带宽配额M1;当收到第二内存控制器的多余带宽配额信息后(所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息),所述第一内存控制器增加所述第一应用在所述第一内存控制器上的带宽配额,可选地,所述第二内存控制器可以通过Feed<第一内存控制器,第二内存控制器,M1>向所述第一内存控制器借带宽配额M1。
可选地,所述第一内存控制器或所述第二内存控制器确定多余带宽配额的方法为:根据当前时刻与所述时间窗口起始时刻的时间差占所述时间窗口的比例等于所述当前带宽配额占所述时间窗口内所有带宽配额的比例预计所述时间窗口剩余时间需要的带宽配额,然后将所述预设带宽配额与所述预计的所述时间窗口剩余时间需要的带宽配额作差即为所述多余带宽配额。可选地,所述第一内存控制器或所述第二内存控制器确定需要借用带宽配额的方法与确定多余带宽配额的方法类似,在此不再赘述。
可选地,若第一内存控制器在一时间窗口内检测到第一应用在所述第一内存控制器上的当前带宽配额已经超出所述预设带宽配额,且所述第一应用仍有大量请求到达,所述第一内存控制器按照本发明实施例上述方式发送带宽配额请求,以从其它内存控制器处借更多的带宽配额,从而保证所述第一应用的Qos。
可选地,在每个时间窗口内可以设置多个带宽分配同步点,当到达任一时间窗口内任一带宽分配同步点时,所述第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额,并根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额。
本发明实施例中,第一内存控制器通过检测第一应用在所述第一内存控制器上的当前带宽配额,并根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额;其中,所述预设带宽配额为所述第一应用在所述第一内存控制器上预设的带宽配额,以保证所述第一应用性能下降的幅度在指定界限之内,也即保障所述第一应用的Qos。
图4为本发明基于内存控制器的带宽分配方法实施例四的应用场景示意,如图4所示,按照本发明基于内存控制器的带宽分配方法实施例二中计算得到的关键应用A在所述四个MC上的带宽比例为所述四个MC分配带宽配额,其中,所述MC1上关键应用A的带宽分配比例为14.44%,所述MC2上关键应用A的带宽分配比例为10.64%,所述MC3上关键应用A的带宽分配比例为19.41%及所述MC4上关键应用A的带宽分配比例为12.5%。当系统在运行过程中,假设关键应用A需求发送变化使MC1使用的当前带宽配额超出预设带宽配额(14.44%),则MC1可以将带宽配额请求Borrow<MC1,5%>发给Meta-MC,然后所述Meta-MC向其它MC(MC2、MC3及MC4)广播所述带宽配额请求,用以向其它MC请求更多配额;若MC3有多余带宽配额,则MC3通过向所述Meta-MC发送Feed<MC1,MC3,5%>将5%的带宽配额分给MC1,并将自身的带宽配额减少为14.41%;进一步地,所述MC1从所述Meta-MC处收到Feed<MC1,MC3,5%>后,将自身的带宽配额增加到19.44%,从而继续为关键应用A服务。
图5为本发明基于内存控制器的带宽分配方法实施例五的应用场景示意,如图5所示,按照本发明基于内存控制器的带宽分配方法实施例二中计算得到的关键应用A在所述四个MC上的带宽比例为所述四个MC分配带宽配额,其中,所述MC1上关键应用A的带宽分配比例为14.44%,所述MC2上关键应用A的带宽分配比例为10.64%,所述MC3上关键应用A的带宽分配比例为19.41%及所述MC4上关键应用A的带宽分配比例为12.5%。当系统在运行过程中,假设关键应用A需求发送变化使MC1使用的当前带宽配额超出预设带宽配额(14.44%),则MC1可以通过专用MC协调总线向其它MC(MC2、MC3及MC4)广播带宽配额请求Borrow<MC1,5%>,用以向其它MC请求更多配额;若MC3有多余带宽配额,则MC3通过专用MC协调总线向所述MC1发送Feed<MC1,MC3,5%>,以将5%的带宽配额分给MC1,并将自身的带宽配额减少为14.41%;进一步地,所述MC1收到Feed<MC1,MC3,5%>后,将自身的带宽配额增加到19.44%,从而继续为关键应用A服务。
图6为本发明集中式内存控制器实施例一的结构示意图,如图6所示,本实施例提供的集中式内存控制器60可以包括:获取模块601以及调整模块602。
其中,获取模块601用于在一时间窗口结束之时获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;
调整模块602用于根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
可选地,获取模块601用于:在一时间窗口结束之时接收由所述MC在所述时间窗口内收集所述第一应用在所述MC上的访存请求服务信息之后发送的所述访存请求服务信息,其中,所述访存请求服务信息包括请求服务速率RSRi和所述第一应用在所述MC上获得服务的访存周期数ASi,所述RSRi包括并发运行时的请求服务速率RSRShared(i)和单独运行时的请求服务速率RSRAlone(i);i为所述MC的标号。
可选地,所述调整模块602,包括:
预测单元,用于根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值;
调整单元,用于根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
可选地,所述调整单元,具体用于:
将所述下降幅度值与一预设下降幅度阀值进行比较,若所述下降幅度值大于等于所述下降幅度阀值,则在第一目标带宽比例的基础上增加一预设带宽调整比例得到第二目标带宽比例;否则,则在第一目标带宽比例的基础上减少一预设带宽调整比例得到第二目标带宽比例;其中,所述第一目标带宽比例为所述第一应用在所述时间窗口内在所述各个MC上的带宽比例之和,所述第二目标带宽比例为所述第一应用在所述下一个时间窗口内在所述各个MC上的带宽比例之和;
根据所述MC的ASi信息将所述第二目标带宽比例分配给所述各个MC。
可选地,所述预测单元具体用于:采用公式预测所述第一应用的性能下降幅度值;其中,所述α为处理器核的计算停顿周期比例,RSRShared为所述RSRShared(i)的累积和,所述RSRAlone为所述RSRAlone(i)的累积和。
可选地,还包括:分配模块,用于将剩余带宽比例分配给其它应用;其中,所述剩余带宽比例为除为所述第一应用分配的带宽比例之外的带宽比例。
可选地,还包括:发送模块,用于将调整后的所述第一应用在所述MC上的带宽比例发送给所述MC。
本实施例的集中式内存控制器,可以用于执行上述基于内存控制器的带宽分配方法实施例一及二的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明集中式内存控制器实施例二的结构示意图,如图7所示,本实施例提供的集中式内存控制器70包括处理器701和存储器702。集中式内存控制器70还可以包括数据接口单元703,该数据接口单元703可以和处理器701相连。其中,数据接口单元703用于接收/发送数据,存储器702用于存储执行指令。当集中式内存控制器70运行时,处理器701与存储器702之间通信,处理器701调用存储器702中的执行指令,用以执行上述基于内存控制器的带宽分配方法实施例一及二中的操作。
本实施例的集中式内存控制器,可以用于执行本发明上述基于内存控制器的带宽分配方法实施例一及二中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明内存控制器实施例一的结构示意图,如图8所示,本实施例提供的内存控制器80可以包括:检测模块801以及调整模块802。
其中,检测模块801用于检测第一应用在所述第一内存控制器上的当前带宽配额;
调整模块802用于根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额;其中,所述预设带宽配额为所述第一应用在所述第一内存控制器上预设的带宽配额。
可选地,所述调整模块802具体用于:
若所述当前带宽配额小于所述预设带宽配额,则发送多余带宽配额信息,当收到第二内存控制器的带宽配额请求后,减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额发送给所述第二内存控制器;其中,所述多余带宽配额信息中包含所述第一应用在所述第一内存控制器上多余的带宽配额信息;所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息;
若所述当前带宽配额大于所述预设带宽配额,则发送带宽配额请求,当收到第二内存控制器的多余带宽配额信息后,增加所述第一应用在所述第一内存控制器上的带宽配额;其中,所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息。
可选地,若所述当前带宽配额小于所述预设带宽配额,所述调整模块具体用于:通过集中式内存控制器发送所述多余带宽配额信息;
若所述当前带宽配额大于所述预设带宽配额,所述调整模块具体用于:通过所述集中式内存控制器发送所述带宽配额请求。
可选地,若所述当前带宽配额小于所述预设带宽配额,所述调整模块具体用于:通过专用MC协调总线发送所述第一应用在所述第一内存控制器上多余带宽配额信息;
若所述当前带宽配额大于所述预设带宽配额,所述调整模块具体用于:通过所述专用MC协调总线发送所述带宽配额请求。
可选地,所述检测模块具体用于:当到达任一时间窗口内的任一带宽分配同步点时,检测第一应用在所述第一内存控制器上的当前带宽配额;其中,所述时间窗口内设置至少一个带宽分配同步点。
本实施例的内存控制器,可以用于执行上述基于内存控制器的带宽分配方法实施例三、四及五的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明内存控制器实施例二的结构示意图,如图9所示,本实施例提供的内存控制器90包括处理器901和存储器902。式内存控制器90还可以包括数据接口单元903,该数据接口单元903可以和处理器901相连。其中,数据接口单元903用于接收/发送数据,存储器902用于存储执行指令。当内存控制器90运行时,处理器901与存储器902之间通信,处理器901调用存储器902中的执行指令,用以执行上述基于内存控制器的带宽分配方法实施例三、四及五中的操作。
本实施例的内存控制器,可以用于执行本发明上述基于内存控制器的带宽分配方法实施例三、四及五中的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种基于内存控制器的带宽分配方法,其特征在于,包括:
在一时间窗口结束之时,集中式内存控制器Meta-MC获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;
所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
2.根据权利要求1所述的方法,其特征在于,在一时间窗口结束之时,所述集中式内存控制器Meta-MC获取至少一个内存控制器MC的访存请求服务信息,包括:
在一时间窗口结束之时,所述Meta-MC接收由所述MC在所述时间窗口内收集所述第一应用在所述MC上的访存请求服务信息之后发送的所述访存请求服务信息,其中,所述访存请求服务信息包括请求服务速率RSRi和所述第一应用在所述MC上获得服务的访存周期数ASi,所述RSRi包括并发运行时的请求服务速率RSRShared(i)和单独运行时的请求服务速率RSRAlone(i);i为所述MC的标号。
3.根据权利要求2所述的方法,其特征在于,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,包括:
所述Meta-MC根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值;
所述Meta-MC根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
4.根据权利要求3所述的方法,其特征在于,所述Meta-MC根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例,包括:
所述Meta-MC将所述下降幅度值与一预设下降幅度阀值进行比较,若所述下降幅度值大于等于所述下降幅度阀值,则在第一目标带宽比例的基础上增加一预设带宽调整比例得到第二目标带宽比例;否则,则在第一目标带宽比例的基础上减少一预设带宽调整比例得到第二目标带宽比例;其中,所述第一目标带宽比例为所述第一应用在所述时间窗口内在各个所述MC上的带宽比例之和,所述第二目标带宽比例为所述第一应用在所述下一个时间窗口内在各个所述MC上的带宽比例之和;
所述Meta-MC根据所述MC的ASi信息将所述第二目标带宽比例分配给各个所述MC。
5.根据权利要求3所述的方法,其特征在于,所述Meta-MC根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值,包括:
所述Meta-MC采用公式预测所述第一应用的性能下降幅度值;其中,所述α为处理器核的计算停顿周期比例,RSRShared为所述RSRShared(i)的累积和,所述RSRAlone为所述RSRAlone(i)的累积和。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例之后,还包括:
所述Meta-MC将剩余带宽比例分配给其它应用;其中,所述剩余带宽比例为除为所述第一应用分配的带宽比例之外的带宽比例。
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述Meta-MC根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例之后,还包括:
所述Meta-MC将调整后的所述第一应用在所述MC上的带宽比例发送给所述MC。
8.一种基于内存控制器的带宽分配方法,其特征在于,包括:
第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额;
所述第一内存控制器根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额;其中,所述预设带宽配额为所述第一应用在所述第一内存控制器上预设的带宽配额。
9.根据权利要求8所述的方法,其特征在于,所述第一内存控制器根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额,包括:
若所述当前带宽配额小于所述预设带宽配额,则所述第一内存控制器发送多余带宽配额信息,当收到第二内存控制器的带宽配额请求后,所述第一内存控制器减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额发送给所述第二内存控制器;其中,所述多余带宽配额信息中包含所述第一应用在所述第一内存控制器上多余的带宽配额信息;所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息;
若所述当前带宽配额大于所述预设带宽配额,则所述第一内存控制器发送带宽配额请求,当收到第二内存控制器的多余带宽配额信息后,所述第一内存控制器增加所述第一应用在所述第一内存控制器上的带宽配额;其中,所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息。
10.根据权利要求9所述的方法,其特征在于,所述第一内存控制器发送多余带宽配额信息,包括:
所述第一内存控制器通过集中式内存控制器发送所述多余带宽配额信息;
相应地,所述第一内存控制器发送带宽配额请求,包括:
所述第一内存控制器通过所述集中式内存控制器发送所述带宽配额请求。
11.根据权利要求9所述的方法,其特征在于,所述第一内存控制器发送多余带宽配额信息,包括:
所述第一内存控制器通过专用MC协调总线发送所述多余带宽配额信息;
相应地,所述第一内存控制器发送带宽配额请求,包括:
所述第一内存控制器通过所述专用MC协调总线发送所述带宽配额请求。
12.根据权利要求8-11中任一项所述的方法,其特征在于,所述第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额,包括:
当到达任一时间窗口内的任一带宽分配同步点时,所述第一内存控制器检测第一应用在所述第一内存控制器上的当前带宽配额;其中,所述时间窗口内设置至少一个带宽分配同步点。
13.一种集中式内存控制器Meta-MC,其特征在于,包括:
获取模块,用于在一时间窗口结束之时获取至少一个内存控制器MC的访存请求服务信息,其中,所述时间窗口长度为一预设值,所述访存请求服务信息为第一应用在所述MC上的访存请求服务信息;
调整模块,用于根据所述访存请求服务信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
14.根据权利要求13所述的Meta-MC,其特征在于,获取模块用于:在一时间窗口结束之时接收由所述MC在所述时间窗口内收集所述第一应用在所述MC上的访存请求服务信息之后发送的所述访存请求服务信息,其中,所述访存请求服务信息包括请求服务速率RSRi和所述第一应用在所述MC上获得服务的访存周期数ASi,所述RSRi包括并发运行时的请求服务速率RSRShared(i)和单独运行时的请求服务速率RSRAlone(i);i为所述MC的标号。
15.根据权利要求14所述的Meta-MC,其特征在于,所述调整模块,包括:
预测单元,用于根据所述MC的RSRShared(i)及RSRAlone(i)信息预测所述第一应用的性能下降幅度值;
调整单元,用于根据所述下降幅度值、一预设下降幅度阀值及所述MC的ASi信息调整下一个时间窗口中所述第一应用在所述MC上的带宽比例。
16.根据权利要求15所述的Meta-MC,其特征在于,所述调整单元,具体用于:
将所述下降幅度值与一预设下降幅度阀值进行比较,若所述下降幅度值大于等于所述下降幅度阀值,则在第一目标带宽比例的基础上增加一预设带宽调整比例得到第二目标带宽比例;否则,则在第一目标带宽比例的基础上减少一预设带宽调整比例得到第二目标带宽比例;其中,所述第一目标带宽比例为所述第一应用在所述时间窗口内在各个所述MC上的带宽比例之和,所述第二目标带宽比例为所述第一应用在所述下一个时间窗口内在各个所述MC上的带宽比例之和;
根据所述MC的ASi信息将所述第二目标带宽比例分配给各个所述MC。
17.根据权利要求15所述的Meta-MC,其特征在于,所述预测单元具体用于:采用公式预测所述第一应用的性能下降幅度值;其中,所述α为处理器核的计算停顿周期比例,RSRShared为所述RSRShared(i)的累积和,所述RSRAlone为所述RSRAlone(i)的累积和。
18.根据权利要求13-17中任一项所述的Meta-MC,其特征在于,还包括:
分配模块,用于将剩余带宽比例分配给其它应用;其中,所述剩余带宽比例为除为所述第一应用分配的带宽比例之外的带宽比例。
19.根据权利要求13-17中任一项所述的Meta-MC,其特征在于,还包括:
发送模块,用于将调整后的所述第一应用在所述MC上的带宽比例发送给所述MC。
20.一种内存控制器,其特征在于,所述内存控制器为第一内存控制器,所述内存控制器,包括:
检测模块,用于检测第一应用在所述第一内存控制器上的当前带宽配额;
调整模块,用于根据所述当前带宽配额和一预设带宽配额调整所述第一应用在所述第一内存控制器上的带宽配额;其中,所述预设带宽配额为所述第一应用在所述第一内存控制器上预设的带宽配额。
21.根据权利要求20所述的内存控制器,其特征在于,所述调整模块具体用于:
若所述当前带宽配额小于所述预设带宽配额,则发送多余带宽配额信息,当收到第二内存控制器的带宽配额请求后,减少所述第一应用在所述第一内存控制器上的带宽配额,并将所述减少的带宽配额发送给所述第二内存控制器;其中,所述多余带宽配额信息中包含所述第一应用在所述第一内存控制器上多余的带宽配额信息;所述带宽配额请求中包含所述第二内存控制器需要借用带宽配额的信息;
若所述当前带宽配额大于所述预设带宽配额,则发送带宽配额请求,当收到第二内存控制器的多余带宽配额信息后,增加所述第一应用在所述第一内存控制器上的带宽配额;其中,所述多余带宽配额信息中包含所述第一应用在所述第二内存控制器上多余的带宽配额信息。
22.根据权利要求21所述的内存控制器,其特征在于,若所述当前带宽配额小于所述预设带宽配额,所述调整模块具体用于:通过集中式内存控制器发送所述多余带宽配额信息;
若所述当前带宽配额大于所述预设带宽配额,所述调整模块具体用于:通过所述集中式内存控制器发送所述带宽配额请求。
23.根据权利要求21所述的内存控制器,其特征在于,若所述当前带宽配额小于所述预设带宽配额,所述调整模块具体用于:通过专用MC协调总线发送所述第一应用在所述第一内存控制器上多余带宽配额信息;
若所述当前带宽配额大于所述预设带宽配额,所述调整模块具体用于:通过所述专用MC协调总线发送所述带宽配额请求。
24.根据权利要求20-23中任一项所述的内存控制器,其特征在于,所述检测模块具体用于:当到达任一时间窗口内的任一带宽分配同步点时,检测第一应用在所述第一内存控制器上的当前带宽配额;其中,所述时间窗口内设置至少一个带宽分配同步点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410196222.5A CN105095146B (zh) | 2014-05-09 | 2014-05-09 | 基于内存控制器的带宽分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410196222.5A CN105095146B (zh) | 2014-05-09 | 2014-05-09 | 基于内存控制器的带宽分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095146A CN105095146A (zh) | 2015-11-25 |
CN105095146B true CN105095146B (zh) | 2018-07-31 |
Family
ID=54575625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410196222.5A Active CN105095146B (zh) | 2014-05-09 | 2014-05-09 | 基于内存控制器的带宽分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095146B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893140A (zh) * | 2015-12-17 | 2016-08-24 | 乐视移动智能信息技术(北京)有限公司 | 一种用于分配动态内存资源的方法及装置 |
CN107911752A (zh) * | 2017-11-15 | 2018-04-13 | 晶晨半导体(上海)股份有限公司 | 一种带宽分析方法 |
CN112965885B (zh) * | 2019-12-12 | 2024-03-01 | 中科寒武纪科技股份有限公司 | 访存带宽的检测方法、装置、计算机设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419579A (zh) * | 2008-12-10 | 2009-04-29 | 中国科学院计算技术研究所 | 一种在动态随机存储器上提供服务质量的装置和方法 |
CN102207918A (zh) * | 2011-06-07 | 2011-10-05 | 北京北大众志微系统科技有限责任公司 | 一种片上总线仲裁方法及装置 |
CN102609378A (zh) * | 2012-01-18 | 2012-07-25 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
-
2014
- 2014-05-09 CN CN201410196222.5A patent/CN105095146B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419579A (zh) * | 2008-12-10 | 2009-04-29 | 中国科学院计算技术研究所 | 一种在动态随机存储器上提供服务质量的装置和方法 |
CN102207918A (zh) * | 2011-06-07 | 2011-10-05 | 北京北大众志微系统科技有限责任公司 | 一种片上总线仲裁方法及装置 |
CN102609378A (zh) * | 2012-01-18 | 2012-07-25 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
Non-Patent Citations (2)
Title |
---|
公平性考虑的短作业优先内存调度策略;金瑛棋 等;《计算机工程》;20121031;第38卷(第20期);第243-246页 * |
高性能微处理器中自适应高速缓存管理策略研究;隋秀峰;《中国博士学位论文全文数据库 信息科技辑》;20110615;第2011年卷(第6期);第3.6.2节第1段、第3.6.3节、第3.6.5节、第4.4.2节第2段、图2.10 * |
Also Published As
Publication number | Publication date |
---|---|
CN105095146A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294000B (zh) | 使用数据分配优化来改进备份性能 | |
US10452436B2 (en) | System and method for scheduling workload based on a credit-based mechanism | |
CN108924221B (zh) | 分配资源的方法和装置 | |
US10673935B2 (en) | Cloud service broker apparatus and method thereof | |
CN112291793B (zh) | 网络接入设备的资源分配方法和装置 | |
US20140256284A1 (en) | Implementing a dynamic cloud spectrum database as a mechanism for cataloging and controlling spectrum availability | |
CN110032447A (zh) | 用于分配资源的方法和装置 | |
CN102368833B (zh) | 一种对视频信息进行分段下载均衡的方法 | |
CN105095146B (zh) | 基于内存控制器的带宽分配方法及装置 | |
CN109684074A (zh) | 物理机资源分配方法及终端设备 | |
CN106843755A (zh) | 用于服务器集群的数据均衡方法与装置 | |
US20150172216A1 (en) | Determining rules for partitioning internet connection bandwidth | |
CN110399102B (zh) | 分布式存储系统的数据写入方法、装置、设备及存储介质 | |
CN108335071A (zh) | 配送任务分配方法、装置、电子设备及计算机存储介质 | |
CN103401938A (zh) | 分布式云架构下基于业务特性的资源分配系统及其方法 | |
CN105227489A (zh) | 一种带宽管理方法及电子设备 | |
CN109254726A (zh) | 分布式存储系统中服务质量保障方法、控制节点及系统 | |
CN104301257B (zh) | 一种资源分配方法、装置及设备 | |
CN107343023A (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
CN109976901A (zh) | 一种资源调度方法、装置、服务器及可读存储介质 | |
CN115421930B (zh) | 任务处理方法、系统、装置、设备及计算机可读存储介质 | |
US20150146521A1 (en) | Dynamic resource pooling and trading mechanism in network virtualization | |
CN109684077A (zh) | 用于spark streaming的资源动态分配和反馈方法及装置 | |
CN107665143A (zh) | 资源管理方法、装置及系统 | |
CN113747450B (zh) | 一种移动网络中业务部署方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |