一种用于缓存一致性目录的拓展受害者目录管理方法及系统
本技术涉及计算机,尤其涉及一种用于缓存一致性目录的拓展受害者目录管理方法及系统。
背景技术:
1、目录式缓存一致性协议通常通过主(home)目录记录缓存行的状态和共享者集合。随着多gpu、多芯粒gpu、众核处理器和异构计算系统规模扩大,远程缓存副本数量增多,目录需要跟踪的活跃缓存行数量随之增加。受限于芯片面积、功耗和访问延迟,片上主目录容量往往无法无限扩展,因此在高并发远程访问、地址映射冲突或热点共享场景下,主目录可能频繁发生替换。
2、主目录替换若直接丢弃仍然活跃的目录项,会导致系统丢失精确共享者信息。为了维持一致性,系统可能需要立即失效被替换目录项记录的共享副本,或者在后续访问中采用广播、多播探测或远程数据重取。这些操作不一定源于真实数据冲突,却会占用互连带宽,并增加访问延迟。
3、传统缓存替换策略通常面向数据块复用性设计,例如lru(leastrecentlyused,最近最少使用)、fifo(firstinfirstout,先进先出)或随机替换。但一致性目录项的价值并不只取决于数据复用,还取决于该目录项记录的共享者数量、后续参与一致性事务的概率、替换后可能触发的失效或探测代价等因素。仅按普通替换策略处理目录项,容易让高价值的一致性元数据过早离开主目录。
技术实现思路
1、本技术实施例的主要目的在于提出一种用于缓存一致性目录的拓展受害者目录管理方法及系统,能够减少目录替换引发的全局失效、广播探测或远程重取,并提高远程缓存副本的有效保留率。
2、为实现上述目的,本技术实施例的一方面提出了一种用于缓存一致性目录的拓展受害者目录管理方法,所述方法包括以下步骤:
3、在主一致性目录旁增加拓展受害者目录;
4、接收访问请求,根据所述访问请求并行查询所述主一致性目录和所述拓展受害者目录;
5、若所述访问请求命中所述主一致性目录,更新共享者集合;
6、若所述访问请求命中所述拓展受害者目录,获取所述拓展受害者目录中的命中项和所述主一致性目录中的冲突项,计算所述命中项和所述冲突项的第一保留优先级,进而根据所述第一保留优先级进行命中项提升、冲突项降级或交换;
7、若所述访问请求未命中所述主一致性目录和所述拓展受害者目录,根据所述主一致性目录的槽位状态和所述拓展受害者目录的空闲状态进行新项插入、冲突项降级或低价值项回收。
8、在一些实施例中,所述计算所述命中项和所述冲突项的第一保留优先级,具体包括:
9、获取所述命中项和所述冲突项的共享者数量,根据所述共享者数量计算所述第一保留优先级;
10、或,获取所述命中项和所述冲突项的共享者数量、命中次数、远程访问比例、替换代价估计值以及年龄度量值,对所述共享者数量、所述命中次数、所述远程访问比例、所述替换代价估计值以及所述年龄度量值进行加权求和,得到所述第一保留优先级。
11、在一些实施例中,所述根据所述第一保留优先级进行命中项提升、冲突项降级或交换,具体包括:
12、若所述冲突项无效,将所述命中项提升至所述主一致性目录,并释放所述命中项在所述拓展受害者目录中的原位置;
13、若所述命中项的第一保留优先级大于或等于所述冲突项的第一保留优先级,将所述命中项提升至所述主一致性目录,将所述冲突项降级至所述拓展受害者目录;
14、若所述命中项的第一保留优先级小于所述冲突项的第一保留优先级,将所述命中项保留于所述拓展受害者目录中,并更新所述拓展受害者目录的共享者集合。
15、在一些实施例中,所述根据所述主一致性目录的槽位状态和所述拓展受害者目录的空闲状态进行新项插入、冲突项降级或低价值项回收,具体包括:
16、若所述主一致性目录的目标槽位存在无效项,在所述主一致性目录中分配所述访问请求的新目录项;
17、若所述主一致性目录的目标槽位均为有效项,在所述主一致性目录中确定一个候选冲突项;
18、当所述拓展受害者目录存在空闲项,将所述候选冲突项降级至所述拓展受害者目录,并在所述主一致性目录中插入所述访问请求的新目录项;
19、当所述拓展受害者目录不存在空闲项,确定回收项,进而将所述回收项进行回收;
20、若所述回收项中包括有效共享者,执行失效、降级、写回、广播探测或释放。
21、在一些实施例中,所述确定回收项,具体包括:
22、确定所述拓展受害者目录中的候选回收项;
23、确定所述新目录项、所述候选冲突项以及所述候选回收项中共享者数量最小的目录项为所述回收项。
24、在一些实施例中,所述确定回收项,具体包括:
25、确定所述拓展受害者目录中的候选回收项;
26、计算所述新目录项、所述候选冲突项以及所述候选回收项对应的第二保留优先级,进而确定所述第二保留优先级最小的目录项为所述回收项;
27、若所述新目录项、所述候选冲突项以及所述候选回收项对应的所述第二保留优先级均相同,确定所述新目录项、所述候选冲突项以及所述候选回收项中年龄最大的目录项为所述回收项。
28、在一些实施例中,所述确定回收项,具体包括:
29、确定所述拓展受害者目录中的候选回收项;
30、确定所述新目录项、所述候选冲突项以及所述候选回收项中无有效共享者、无协议扩展状态或在预设期限内未命中的目录项为所述回收项。
31、为实现上述目的,本技术实施例的另一方面提出了一种用于缓存一致性目录的拓展受害者目录管理系统,包括:
32、目录扩展模块,用于在主一致性目录旁增加拓展受害者目录;
33、请求接收与并行探测模块,用于接收访问请求,根据所述访问请求并行查询所述主一致性目录和所述拓展受害者目录;
34、第一管理模块,用于若所述访问请求命中所述主一致性目录,更新共享者集合;
35、第二管理模块,用于若所述访问请求命中所述拓展受害者目录,获取所述拓展受害者目录中的命中项和所述主一致性目录中的冲突项,计算所述命中项和所述冲突项的第一保留优先级,进而根据所述第一保留优先级进行命中项提升、冲突项降级或交换;
36、第三管理模块,用于若所述访问请求未命中所述主一致性目录和所述拓展受害者目录,根据所述主一致性目录的槽位状态和所述拓展受害者目录的空闲状态进行新项插入、冲突项降级或低价值项回收。
37、为实现上述目的,本技术实施例的另一方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如前面所述的方法。
38、为实现上述目的,本技术实施例的另一方面提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前面所述的方法。
39、本技术实施例至少包括以下有益效果:本技术的用于缓存一致性目录的拓展受害者目录管理方法及系统,首先在主一致性目录旁设置用于保存被替换目录项的拓展受害者目录;接着将主一致性目录与拓展受害者目录在同一请求处理窗口内并行或近似并行探测;当访问请求在主一致性目录缺失但拓展受害者目录命中时,定位主一致性目录中与该访问请求映射冲突的冲突项;进而对拓展受害者目录命中项和主一致性目录冲突项计算第一保留优先级,根据第一保留优先级执行命中项提升、冲突项降级或交换,使高价值目录项更容易重新进入主一致性目录;当主一致性目录和拓展受害者目录双未命中时,根据主一致性目录槽位状态和拓展受害者目录空闲状态,执行新项插入、冲突项降级或低价值项回收。本技术通过主一致性目录与拓展受害者目录协同管理一致性元数据,能够减少目录替换引发的全局失效、广播探测或远程重取,并提高远程缓存副本的有效保留率。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com