CN113282524A - 一种缓存分片的配置方法、装置以及存储介质 - Google Patents
一种缓存分片的配置方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN113282524A CN113282524A CN202110501848.2A CN202110501848A CN113282524A CN 113282524 A CN113282524 A CN 113282524A CN 202110501848 A CN202110501848 A CN 202110501848A CN 113282524 A CN113282524 A CN 113282524A
- Authority
- CN
- China
- Prior art keywords
- cache
- fragments
- adjacent
- group
- slices
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存分片的配置方法,其通过在程序的每一个运行周期运行结束后,计算相邻的缓存分片的缓存缺失率之差,并在检测到相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度时,将缓存较大的缓存分片标记为无效,最后将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组,其能对已经配置的缓存分片进行筛选,识别出无效的缓存分片,并对缓存分片进行调整,优化新周期的缓存分片的初始配置,可以有效减少对缓存空间的消耗,同时在一定程度上提升构造的MRC的准确度。本发明还相应提供一种缓存分片的配置装置以及计算机可读存储介质。
Description
技术领域
本发明涉及计算机缓存体系技术领域,尤其涉及一种缓存分片的配置方法、装置以及计算机可读存储介质。
背景技术
基于效用的缓存分区技术(UTIL)管理共享缓存的基本思想是根据应用程序获得额外的缓存空间时带来的性能提升程度将缓存空间动态的分配给每个应用。其中对性能提升的评估通常使用缓存缺失率(MRC)来实现,MRC描述了工作负载在特定缓存容量下的缓存缺失情况。图1显示了UTIL的整体架构,该架构主要包含四个模块,分别是监视模块,分析模块,优化模块和分配模块。在程序的运行过程中,监控器连续从各个应用程序接收I/O请求,分析器根据每个应用程序的I/O请求构造对应的MRC,优化器根据每个应用程序的MRC制定分配策略以满足自定义的服务目标,分配器根据制定的分配策略执行缓存空间的再分配。在实际的程序运行过程中,UTIL将应用程序的的完整运行过程分为一系列周期以适应工作负载行为的变化,在每个周期结束时构建应用程序的MRC,并根据构建的MRC进行缓存空间的重新分配。在UTIL管理缓存空间的整个过程中,各个应用程序的MRC起着至关重要的作用,MRC反映了程序在任意可能的缓存容量下具有的缓存性能,其准确性决定了缓存分区策略制定的有效性和缓存分区的有效性。
为了充分发挥UTIL对共享缓存的高效管理,提升共享存储系统的访问性能,需要准确构造各个应用程序在运行过程中的MRC。但在实际生产中MRC的构造非常昂贵,其展示了应用在系统所能提供的所有可能缓存大小下的缓存缺失情况,因此对MRC的构建需要消耗大量的缓存资源和计算资源,在过去的很长一段时间内只能离线构造。此外,不同类型的缓存替换算法,构建MRC的方法不同,共享缓存系统很难在面对不同缓存替换算法时拥有灵活的扩展性和良好的适应性。对此,研究人员进行了广泛的研究。
为了支持任何缓存算法的建模,研究人员提出了一种微型模拟的技术,微型模拟提出对于给定的缓存大小,可以在一个将原缓存缩小的微型缓存上运行完整的、未修改的算法对基于空间哈希采样后的请求样本进行建模的方法。图2展示了微型模拟的原理,图中左边的Cache表示真实的缓存大小和真实的访问数据流reqs,图中箭头的大小表示了对访问流中的数据进行哈希计算后得到的不同哈希值的数量大小。传统的方式是使完整的访问流在真实的缓存上运行,得到数据在缓存中的访问情况,以进行相关的计算。图2中右边是使用微型模拟方法的结果,展示了将缓存大小和输入数据流缩小2倍和缩小128倍的例子。整体来说,微型模拟使用采样率R对大小为S的缓存建模,将缓存大小缩小到R×S并使用具有采样率R的基于哈希的空间过滤器采样访问流,使采样后的访问流在缩小的缓存上运行,获得数据在缓存中的访问情况,并计算缺失率作为真实缺失率的近似值。例如,对于应用程序A的一段访问流T,需要获取其在缓存大小为1GB时的缺失率,传统做法是将访问流T在1GB缓存上运行,获得缓存数据访问的信息,并计算缺失率。微型模拟则是同时以R的比例缩小访问流T和缓存大小,选择R=0.01时,并采用空间哈希近似重用距离对访问流T进行采样,将采样后的数据在1GB×0.01大小的缓存上运行,以此模拟真实的缓存情况,并计算近似的缺失率。与传统的全尺寸模拟相比,微型模拟实现了空间和时间的大幅减少。
微型模拟在一定程度上缓解了对缓存空间的消耗,例如,在线构建程序在10GB缓存容量下的MRC时,假如需要计算1GB,2GB,3GB三个缓存大小的缺失率,则需要消耗6GB的缓存空间用作缓存缺失率的计算,这严重消耗了珍贵的缓存资源,使得程序实际可用的缓存空间大大减少。若以R的采样率对访问流过滤和缩小缓存,则在上述情况下微型模拟只需要R×6GB的缓存空间。当R=0.01时,即只需要设置0.01GB,0.02GB,0.03GB三个小缓存来分别计算1GB,2GB,3GB缓存下的缺失率。微型模拟把这些按比例缩小后的微型缓存叫做缓存分片。图3展示了实时环境下构建非堆栈缓存替换算MRC的方法。在程序的运行中,访问数据流同时运行于用于计算缺失率的缓存分片和真实的缓存上,在任意时刻,访问与每个缓存分片相关联的缺失率,就可以按需生成MRC。
本发明人在实施本发明的过程中发现,虽然采用微型模拟技术能够在一定程度上缓解了对缓存空间的消耗,但是现有使用的方法是在程序运行之前设置固定数量和固定大小的缓存分片,这些缓存分片的大小在缓存容量之间均匀分布,在运行过程中分片的数量和大小保持不变,进而导致无法构造精确的MRC,其主要表现在:在同一应用程序的不同运行周期,通常具有不同的访存模式,固定配置缓存分片无法有效匹配这些不同的模式。当同一个应用在不同的缓存大小下可能具有相同的缓存缺失率,对这些缓存大小命中率的重复计算是对缓存空间的浪费。示例性的,图4显示了三个程序Web,Proj和Prn的MRC曲线图,它们由100个缓存分片计算的缺失率组成,这些缓存分片在0GB至6GB范围内均匀分布。曲线上标记的点都是重复模拟的缓存大小,这些点与其相邻的缓存大小具有相同的缓存缺失率。在微型模拟中配置与这些点相对应的缓存大小是对缓存资源的浪费,且降低了整个缓存系统的性能。尤其是多应用共享缓存的环境下,需要实时为多个应用程序构建MRC,即同时为每个应用配置一组缓存分片,每个应用配置的缓存分片都可能包含重复模拟,这样随着应用程序数量的增加,对缓存空间的消耗呈指数增加。
发明内容
本发明提供一种缓存分片的配置方法、装置以及计算机可读存储介质,其能够在每个程序的运行周期中对已经配置的缓存分片中进行无效的缓存分片的筛选,并删除无效的缓存分片,优化新周期的缓存分片的初始配置,从而有效减少对缓存空间的无效消耗。
本发明实施例提供的缓存分片的配置方法,包括:
在程序的每一个运行周期运行结束后,计算初始已配置好的缓存分片组中的每个缓存分片的缓存缺失率;
根据已配置好的每个缓存分片的缓存缺失率,按照缓存大小从小到大的顺序计算相邻的缓存分片的缓存缺失率之差的绝对值,得到每一组相邻缓存分片的缓存缺失率之差的绝对值;
当检测到任意一组相邻缓存分片满足第一预设条件时,将满足第一预设条件的该组相邻缓存分片中的缓存较大的缓存分片标记为无效,其中,所述第一预设条件为相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度;
将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
优选的,所述方法还包括:
当检测到任意一组相邻缓存分片满足第二预设条件时,保留满足第二预设条件的该组相邻缓存分片中的两个缓存分片,其中,所述第二预设条件为相邻缓存分片的缓存缺失率之差的绝对值大于等于预设缓存缺失精度且小于预设缓存缺失精度的2倍。
优选的,所述方法还包括:
当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片,其中,所述第三预设条件为相邻缓存缺失率之差的绝对值大于等于预设缓存缺失精度的2倍;
根据添加的缓存分片和所有被标记为无效的缓存分片对初始已配置好的缓存分片组进行调整,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
优选的,所述当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片中,其中,添加的缓存分片的数量N通过以下方式确定:
根据相邻缓存分片的缓存缺失率之差与预设缓存缺失精度的比值,确定添加的缓存分片的数量N;或,
根据缓存空间在分配过程中的最小分配单位与相邻缓存分片之间的缓存大小之差的比值,确定添加的缓存分片的数量N。
本发明另一实施例相应提供一种缓存分片的配置装置,包括:
缓存缺失率计算模块,用于在程序的每一个运行周期运行结束后,计算初始已配置好的缓存分片组中的每个缓存分片的缓存缺失率;
缓存缺失率之差计算模块,用于根据已配置好的每个缓存分片的缓存缺失率,按照缓存大小从小到大的顺序计算相邻的缓存分片的缓存缺失率之差的绝对值,得到每一组相邻缓存分片的缓存缺失率之差的绝对值;
无效标记模块,用于当检测到任意一组相邻缓存分片满足第一预设条件时,将满足第一预设条件的该组相邻缓存分片中的缓存较大的缓存分片标记为无效,其中,所述第一预设条件为相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度;
缓存分片调整模块,用于将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
优选的,所述装置还包括:
缓存分片保留模块,用于当检测到任意一组相邻缓存分片满足第二预设条件时,保留满足第二预设条件的该组相邻缓存分片中的两个缓存分片,其中,所述第二预设条件为相邻缓存分片的缓存缺失率之差大于等于预设缓存缺失精度且小于预设缓存缺失精度的2倍。
优选的,所述装置还包括:
缓存分片添加模块,用于当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片,其中,所述第三预设条件为相邻缓存缺失率之差大于等于预设缓存缺失精度的2倍;且,
所述缓存分片调整模块,还用于根据添加的缓存分片和所有被标记为无效的缓存分片对初始已配置好的缓存分片组进行调整,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
优选的,所述当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片中,其中,添加的缓存分片的数量N通过以下方式确定:
根据相邻缓存分片的缓存缺失率之差与预设缓存缺失精度的比值,确定添加的缓存分片的数量N;或,
根据缓存空间在分配过程中的最小分配单位与相邻缓存分片之间的缓存大小之差的比值,确定添加的缓存分片的数量N。
本发明又一实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述所述的缓存分片的配置方法。
与现有技术相比,本发明实施例公开的缓存分片的配置方法通过在程序的每一个运行周期运行结束后,计算相邻的缓存分片的缓存缺失率之差,并在检测到相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度时,将缓存较大的缓存分片标记为无效,最后将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组,其能对已经配置的缓存分片进行筛选,识别出无效的缓存分片,并对缓存分片进行调整,优化新周期的缓存分片的初始配置,可以有效减少对缓存空间的消耗,同时在一定程度上提升构造的MRC的准确度。本发明实施例还相应提供一种缓存分片的配置装置以及计算机可读存储介质。
附图说明
图1是UTIL的整体架构图;
图2是微型模拟的原理图;
图3是实时环境下构建非堆栈缓存替换算MRC的流程框图;
图4是三个程序Web,Proj和Prn的MRC曲线图;
图5是本发明实施例提供的缓存分片的配置方法的流程示意图;
图6是本发明实施例提供的缓存分片的配置装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图5,其是本发明实施例提供的缓存分片的配置方法的流程示意图,本发明实施例提供的缓存分片的配置方法,包括步骤S10到步骤S13:
步骤S10,在程序的每一个运行周期运行结束后,计算初始已配置好的缓存分片组中的每个缓存分片的缓存缺失率。
可以理解的是,在基于效用的缓存分区(UTIL)中通常把程序的完整运行过程划分成一个一个的周期,在每个周期结束时对缓存空间进行再分配。在本发明实施例中,不同的应用程序在运行前就已配置好缓存分片组,包括缓存分片1~缓存分片n,本发明实施例对缓存空间的优化分配,是在程序的每一个运行周期结束后下一个新的运行周期开始前执行,根据过去这一运行周期的MRC结果对当前已经配置好的缓存分片进行调整。
步骤S11,根据已配置好的每个缓存分片的缓存缺失率,按照缓存大小从小到大的顺序计算相邻的缓存分片的缓存缺失率之差的绝对值,得到每一组相邻缓存分片的缓存缺失率之差的绝对值。
在本发明实施例中,相邻的缓存分片是指在配置的一组缓存分片中,两个具有相邻缓存大小的缓存分片。使用Si表示第i个缓存分片,Si+1表示第i个分片相邻的缓存分片,MRi表示Si的缓存缺失率,ΔMissratio表示两个相邻缓存分片Si和Si+1之间的缓存缺失率之差,三者之间的关系如式(1)所示:
ΔMissratio=|MRi-MRi+1|(1)
步骤S12,当检测到任意一组相邻缓存分片满足第一预设条件时,将满足第一预设条件的该组相邻缓存分片中的缓存较大的缓存分片标记为无效,其中,所述第一预设条件为相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度。
在本发明实施例中,当两个相邻的缓存分片的缺失率之差的绝对值小于预设缓存缺失精度α,可以认为这两个缓存分片所模拟的缓存大小的缺失率是相似的。因此,这两个缓存分片模拟的缓存大小属于重复模拟,对于不需要模拟的缓存大小,其对应的缓存分片应该及时移除以节省缓存开销。在删除的时候,对于这样的一组相邻缓存分片,选择较大的缓存分片进行删除。因为在微型模拟的过程中,缓存更大的缓存分片需要消耗更多的缓存空间,在实际的缓存生产中,减少对缓存空间的消耗,程序就拥有更多可用缓存空间,以较小的缓存分片去近似较大的缓存分片的的缺失率,是更有利的操作。本发明实施例在移除无效缓存分片(即认为重复模拟的缓存分片)时,不是直接移除该缓存分片,而是先将该缓存分片标注为无效,接着进行下一组相邻缓存分片缺失率之差的绝对值与预设缓存缺失精度α的比较,最后再统一移除标记为无效的缓存分片。例如,两个相邻缓存S1和S2满足ΔMissratio<α,并且(此处表示第i个缓存分片所对应的缓存大小),则将S2标记为无效,保留S1。
此外,需要说明的是,预设缓存缺失精度α的值根据具体的应用场景进行设置,对于更看重MRC准确性的场景,α的值可以设置的较小,对于缓存资源更有限更珍贵的场景,α的值可以设置的相对大一些,以牺牲一定的MRC准确性使程序拥有更多实用的缓存空间。定义阈值α可以有效提升算法对不同使用场景的适配性。
步骤S13,将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
在本发明实施例中,通过在程序的每个运行周期对已经配置的缓存分片进行筛选,识别出无效的缓存分片,并对缓存分片进行调整,优化新周期的缓存分片的初始配置,可以有效减少对缓存空间的消耗,同时在一定程度上提升构造的MRC的准确度。
在一种可选的实施方式中,所述方法还包括:
当检测到任意一组相邻缓存分片满足第二预设条件时,保留满足第二预设条件的该组相邻缓存分片中的两个缓存分片,其中,所述第二预设条件为相邻缓存分片的缓存缺失率之差的绝对值大于等于预设缓存缺失精度且小于预设缓存缺失精度的2倍。
在本发明实施例中,当检测到相邻缓存分片的缓存缺失率之差的绝对值满足α≤ΔMissratio<2α,表示这两个相邻缓存分片的缓存缺失率差异正好在系统所设置的MRC精度范围内。这两个缓存分片之间既没有造成较大的缺失率差异,即系统不关注这两个缓存分片之间的缓存大小的缺失率情况以及MRC的变化趋势,同时也没有生成相同或相似的缺失率,不属于重复模拟。对于这样的两个缓存分片,在对应用程序的缓存分片进行调整时,会将两个缓存分片都保留,作为该应用程序在下一个运行周期的初始缓存分片配置。
在一种可选的实施方式中,所述方法还包括:
当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片,其中,所述第三预设条件为相邻缓存缺失率之差大于等于预设缓存缺失精度的2倍;
根据添加的缓存分片和所有被标记为无效的缓存分片对初始已配置好的缓存分片组进行调整,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
在本发明实施例中,当检测到相邻缓存分片的缓存缺失率之差的绝对值满足ΔMissratio≥2α,表示这两个相邻缓存分片之间的缺失率之差远远超过了系统所规定的缺失率精度的范围,这两个相邻缓存分片对应的缓存大小之间的MRC变化趋势是系统无法忽略的。为了获取这两个相邻缓存分片之间缓存大小缺失率的详细情况,以提高MRC精度,需要在这两个相邻缓存分片之间添加一些新的缓存分片,以捕获MRC的正确变化趋势。
在一种可选的实施方式中,所述当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片中,其中,添加的缓存分片的数量N通过以下方式确定:
根据相邻缓存分片的缓存缺失率之差与预设缓存缺失精度的比值,确定添加的缓存分片的数量N;或,
根据缓存空间在分配过程中的最小分配单位与相邻缓存分片之间的缓存大小之差的比值,确定添加的缓存分片的数量N。
在本发明实施例中,在添加新的缓存分片时,首先需要确定添加的缓存分片的数量,其次确定需添加的缓存分片对应的缓存大小,即需要计算哪些缓存大小的缺失率。对于缓存分片的数量N,计算方式如式(2)所示:
在公式(2)中,ΔC表示这两个相邻的缓存分片之间的缓存大小之差,而Δc表示缓存空间在分配过程中的最小分配单位,由不同的缓存系统决定,例如4KB,8KB或者64KB。公式(2)的具体含义是,当需要在两个相邻缓存分片之间添加新的缓存分片时,从两个角度来考虑添加的数量。首先是从系统设置的MRC精度角度来讲,因为任意两个相邻的缓存分片都必须要满足缺失率差异小于预设缓存缺失精度α,因此当需要添加新的缓存分片时,假如任意两个相邻的缓存分片缺失率差异刚好是α时,需要添加多少个缓存分片才能够弥补ΔMissratio的缺失率之差,这样的缓存分片数量就作为需要添加的缓存分片数量的参考之一。其次是从缓存空间分配粒度的角度来讲,缓存空间的分配是有最小单位的,如每次分配以4k的倍数进行分配,或者是以8k的倍数来进行分配。在实际生产中,当需要在两个相邻缓存分片之间添加新的缓存分片时,若以最小粒度的分配单位进行分配时,需要添加多少缓存分片数量,这样的分片数量作为需要添加的缓存分片数量的另一个参考。对于以上两种情况,满足其中任意一个条件即可。从节约成本的角度来说,新添加的缓存分片数量越少越有利于缓存空间的有效利用,因为微型模拟缓存分片数量的增加会导致程序实际可用的缓存空间降低。因此,对于以上两种结果,通常选择需要添加的缓存分片数量更少的情况。
在确定了需添加缓存分片的数量后,根据数量确定各个分片对应的缓存大小。如果缓存分片的数量采用的是以MRC精度α为标准计算的数量,则每个缓存分片的大小在两个相邻的缓存分片之间均匀分布。例如,缓存分片S1和S2分别是1GB,2GB且二者满足ΔMissratio≥2α,ΔMissratio是0.04,ΔC是1GB,Δc为4k且α是0.01,根据公式(2)计算可得N=3,则新添加的缓存分片大小分别是1.25GB,1.5GB,以及1.75GB。如果缓存分片的数量采用的是以缓存空间最小分配单位为标准计算的数量,则每个缓存分片的大小以缓存空间的最小分配单位Δc递增。例如,缓存分片S1和S2分别是1GB,2GB且满足ΔMissratio≥2α,ΔMissration是0.4,ΔC是1GB,Δc为512M且α是0.01,根据公式(2)计算可得N=1,则新添加的缓存分片大小分别是1.5GB。
综上,本发明实施例公开的缓存分片的配置方法过在每个运行周期对已经配置的缓存分片进行筛选,识别出无效的缓存分片和缺失的缓存分片,并对缓存分片进行调整,优化新周期的缓存分片的初始配置,可以有效减少对缓存空间的无效消耗,同时在一定程度上提升构造的MRC的准确度。
参见图6,其是本发明实施例相应提供的缓存分片的配置装置的结构框图,本发明实施例提供的缓存分片的配置装置,用于执行上述实施例提供的缓存分片的配置方法的全部步骤,包括:
缓存缺失率计算模块,用于在程序的每一个运行周期运行结束后,计算初始已配置好的缓存分片组中的每个缓存分片的缓存缺失率;
缓存缺失率之差计算模块,用于根据已配置好的每个缓存分片的缓存缺失率,按照缓存大小从小到大的顺序计算相邻的缓存分片的缓存缺失率之差的绝对值,得到每一组相邻缓存分片的缓存缺失率之差的绝对值;
无效标记模块,用于当检测到任意一组相邻缓存分片满足第一预设条件时,将满足第一预设条件的该组相邻缓存分片中的缓存较大的缓存分片标记为无效,其中,所述第一预设条件为相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度;
缓存分片调整模块,用于将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
在一种可选的实施方式中,所述装置还包括:
缓存分片保留模块,用于当检测到任意一组相邻缓存分片满足第二预设条件时,保留满足第二预设条件的该组相邻缓存分片中的两个缓存分片,其中,所述第二预设条件为相邻缓存分片的缓存缺失率之差的绝对值大于等于预设缓存缺失精度且小于预设缓存缺失精度的2倍。
在一种可选的实施方式中,所述装置还包括:
缓存分片添加模块,用于当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片,其中,所述第三预设条件为相邻缓存缺失率之差的绝对值大于等于预设缓存缺失精度的2倍;且,
所述缓存分片调整模块,还用于根据添加的缓存分片和所有被标记为无效的缓存分片对初始已配置好的缓存分片组进行调整,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
在一种可选的实施方式中,所述当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片中,其中,添加的缓存分片的数量N通过以下方式确定:
根据相邻缓存分片的缓存缺失率之差与预设缓存缺失精度的比值,确定添加的缓存分片的数量N;或,
根据缓存空间在分配过程中的最小分配单位与相邻缓存分片之间的缓存大小之差的比值,确定添加的缓存分片的数量N。
需要说明的是,本发明实施例提供的缓存分片的配置装置用于执行所述缓存分片的配置方法的全部步骤,两者的工作原理和作用一一对应,这里不再作过多的赘述。
此外,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明又一实施例相应提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述实施例提供的所述的缓存分片的配置方法。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (9)
1.一种缓存分片的配置方法,其特征在于,包括:
在程序的每一个运行周期运行结束后,计算初始已配置好的缓存分片组中的每个缓存分片的缓存缺失率;
根据已配置好的每个缓存分片的缓存缺失率,按照缓存大小从小到大的顺序计算相邻的缓存分片的缓存缺失率之差的绝对值,得到每一组相邻缓存分片的缓存缺失率之差的绝对值;
当检测到任意一组相邻缓存分片满足第一预设条件时,将满足第一预设条件的该组相邻缓存分片中的缓存较大的缓存分片标记为无效,其中,所述第一预设条件为相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度;
将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
2.如权利要求1所述的缓存分片的配置方法,其特征在于,还包括:
当检测到任意一组相邻缓存分片满足第二预设条件时,保留满足第二预设条件的该组相邻缓存分片中的两个缓存分片,其中,所述第二预设条件为相邻缓存分片的缓存缺失率之差的绝对值大于等于预设缓存缺失精度且小于预设缓存缺失精度的2倍。
3.如权利要求3所述的缓存分片的配置方法,其特征在于,还包括:
当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片,其中,所述第三预设条件为相邻缓存缺失率之差的绝对值大于等于预设缓存缺失精度的2倍;
根据添加的缓存分片和所有被标记为无效的缓存分片对初始已配置好的缓存分片组进行调整,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
4.如权利要求3所述的缓存分片的配置方法,其特征在于,所述当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片中,其中,添加的缓存分片的数量N通过以下方式确定:
根据相邻缓存分片的缓存缺失率之差与预设缓存缺失精度的比值,确定添加的缓存分片的数量N;或,
根据缓存空间在分配过程中的最小分配单位与相邻缓存分片之间的缓存大小之差的比值,确定添加的缓存分片的数量N。
5.一种缓存分片的配置装置,其特征在于,包括:
缓存缺失率计算模块,用于在程序的每一个运行周期运行结束后,计算初始已配置好的缓存分片组中的每个缓存分片的缓存缺失率;
缓存缺失率之差计算模块,用于根据已配置好的每个缓存分片的缓存缺失率,按照缓存大小从小到大的顺序计算相邻的缓存分片的缓存缺失率之差的绝对值,得到每一组相邻缓存分片的缓存缺失率之差的绝对值;
无效标记模块,用于当检测到任意一组相邻缓存分片满足第一预设条件时,将满足第一预设条件的该组相邻缓存分片中的缓存较大的缓存分片标记为无效,其中,所述第一预设条件为相邻缓存分片的缓存缺失率之差的绝对值小于预设缓存缺失精度;
缓存分片调整模块,用于将所有被标记为无效的缓存分片从初始已配置好的缓存分片组中删除,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
6.如权利要求5所述的缓存分片的配置装置,其特征在于,还包括:
缓存分片保留模块,用于当检测到任意一组相邻缓存分片满足第二预设条件时,保留满足第二预设条件的该组相邻缓存分片中的两个缓存分片,其中,所述第二预设条件为相邻缓存分片的缓存缺失率之差的绝对值大于等于预设缓存缺失精度且小于预设缓存缺失精度的2倍。
7.如权利要求5所述的缓存分片的配置装置,其特征在于,还包括:
缓存分片添加模块,用于当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片,其中,所述第三预设条件为相邻缓存缺失率之差大于等于预设缓存缺失精度的2倍;且,
所述缓存分片调整模块,还用于根据添加的缓存分片和所有被标记为无效的缓存分片对初始已配置好的缓存分片组进行调整,得到新的缓存分片组,并将新的缓存分片组作为下一个运行周期的缓存分片组。
8.如权利要求7所述的缓存分片的配置方法,其特征在于,所述当检测到任意一组相邻缓存分片满足第三预设条件时,在满足第三预设条件的该组相邻缓存分片中的两个缓存分片之间添加N个缓存分片中,其中,添加的缓存分片的数量N通过以下方式确定:
根据相邻缓存分片的缓存缺失率之差与预设缓存缺失精度的比值,确定添加的缓存分片的数量N;或,
根据缓存空间在分配过程中的最小分配单位与相邻缓存分片之间的缓存大小之差的比值,确定添加的缓存分片的数量N。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至4中任意一项所述的缓存分片的配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501848.2A CN113282524B (zh) | 2021-05-08 | 2021-05-08 | 一种缓存分片的配置方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501848.2A CN113282524B (zh) | 2021-05-08 | 2021-05-08 | 一种缓存分片的配置方法、装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282524A true CN113282524A (zh) | 2021-08-20 |
CN113282524B CN113282524B (zh) | 2022-08-16 |
Family
ID=77278356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110501848.2A Active CN113282524B (zh) | 2021-05-08 | 2021-05-08 | 一种缓存分片的配置方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282524B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310259A (zh) * | 2005-12-30 | 2008-11-19 | 英特尔公司 | 用于共享l2映射高速缓存的对称分配的方法和系统 |
CN103998462A (zh) * | 2011-09-16 | 2014-08-20 | 菲特治疗公司 | Wnt组合物及此类组合物的治疗应用 |
CN104220461A (zh) * | 2011-12-29 | 2014-12-17 | Atyr医药公司 | 天冬氨酰-tRNA合成酶-FC缀合物 |
US20180024928A1 (en) * | 2016-07-19 | 2018-01-25 | Sap Se | Modified query execution plans in hybrid memory systems for in-memory databases |
CN110147331A (zh) * | 2019-05-16 | 2019-08-20 | 重庆大学 | 缓存数据处理方法、系统及可读存储介质 |
CN110447146A (zh) * | 2016-12-21 | 2019-11-12 | 英特尔公司 | 无线通信技术、装置和方法 |
CN110879797A (zh) * | 2019-10-31 | 2020-03-13 | 西安交通大学 | 高速可重构处理器配置信息缓存替换方法及存储体系结构 |
CN111258927A (zh) * | 2019-11-13 | 2020-06-09 | 北京大学 | 一种基于采样的应用程序cpu末级高速缓存缺失率曲线的预测方法 |
-
2021
- 2021-05-08 CN CN202110501848.2A patent/CN113282524B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310259A (zh) * | 2005-12-30 | 2008-11-19 | 英特尔公司 | 用于共享l2映射高速缓存的对称分配的方法和系统 |
CN103998462A (zh) * | 2011-09-16 | 2014-08-20 | 菲特治疗公司 | Wnt组合物及此类组合物的治疗应用 |
CN104220461A (zh) * | 2011-12-29 | 2014-12-17 | Atyr医药公司 | 天冬氨酰-tRNA合成酶-FC缀合物 |
US20180024928A1 (en) * | 2016-07-19 | 2018-01-25 | Sap Se | Modified query execution plans in hybrid memory systems for in-memory databases |
CN110447146A (zh) * | 2016-12-21 | 2019-11-12 | 英特尔公司 | 无线通信技术、装置和方法 |
CN110147331A (zh) * | 2019-05-16 | 2019-08-20 | 重庆大学 | 缓存数据处理方法、系统及可读存储介质 |
CN110879797A (zh) * | 2019-10-31 | 2020-03-13 | 西安交通大学 | 高速可重构处理器配置信息缓存替换方法及存储体系结构 |
CN111258927A (zh) * | 2019-11-13 | 2020-06-09 | 北京大学 | 一种基于采样的应用程序cpu末级高速缓存缺失率曲线的预测方法 |
Non-Patent Citations (3)
Title |
---|
DANIEL BYRNE: "mPart: Miss Ratio Curve Guided Partitioning in Key-Value Stores", 《INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT》, 31 December 2018 (2018-12-31), pages 1 - 62 * |
刘铎: "边缘存储的发展现状与挑战", 《中兴通讯技术》, vol. 25, no. 03, 31 May 2019 (2019-05-31), pages 15 - 22 * |
许牧: "可重构众核流处理器体系结构关键技术研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》, no. 01, 15 January 2013 (2013-01-15), pages 137 - 4 * |
Also Published As
Publication number | Publication date |
---|---|
CN113282524B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9639480B2 (en) | Dynamic cache allocation adjustment using multiple cache simulations for efficient cache utility curve construction | |
US9336141B2 (en) | Hash-based spatial sampling for efficient cache utility curve estimation and cache allocation | |
US9405686B2 (en) | Cache allocation system and method using a sampled cache utility curve in constant space | |
US9606735B2 (en) | Storage management apparatus, and performance adjusting method | |
CN102681940A (zh) | 一种针对Linux操作系统内存管理子系统进行性能测试的方法 | |
US11704022B2 (en) | Operational metric computation for workload type | |
CN103593452A (zh) | 一种基于MapReduce机制的数据密集型成本优化方法 | |
US10228856B2 (en) | Storage space management in a thin provisioned virtual environment | |
CN111737168A (zh) | 一种缓存系统、缓存处理方法、装置、设备及介质 | |
US20200084121A1 (en) | Node of a Network and a Method of Operating the Same for Resource Distribution | |
CN109840247B (zh) | 文件系统及数据布局方法 | |
JP2022528284A (ja) | 圧縮データの記憶及び取得の最適化 | |
CN113282524B (zh) | 一种缓存分片的配置方法、装置以及存储介质 | |
Liu et al. | On a dynamic data placement strategy for heterogeneous hadoop clusters | |
US11481117B2 (en) | Storage volume clustering based on workload fingerprints | |
US20220107743A1 (en) | Systems, methods, and devices for partition management of storage resources | |
CN113282523B (zh) | 一种缓存分片的动态调整方法、装置以及存储介质 | |
Lee et al. | Highly VM-Scalable SSD in Cloud Storage Systems | |
CN117389747B (zh) | 分布式数据库的数据共享方法、电子设备和存储介质 | |
Wang et al. | GRIT: Enhancing Multi-GPU Performance with Fine-Grained Dynamic Page Placement | |
KR102024846B1 (ko) | 파일 시스템 프로그램 및 이를 이용한 데이터 센터 제어 방법 | |
Bhimani et al. | Automatic stream identification to improve flash endurance in data centers | |
Shakiba et al. | Kosmo: Efficient Online Miss Ratio Curve Generation for Eviction Policy Evaluation | |
CN117591608B (zh) | 基于分布式哈希的云原生数据库数据分片方法 | |
CN108897618A (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 |