尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
HN-F设计——Snoop Filter
HNF作为CMN网络中管理和维护一致性的HomeNode是最复杂的存在。接下来的一系列文章将逐步拆解HNF的设计要点。HNF如何维护cache一致性答案就是SF(snoop filter)。在“write invalidate的系统架构中如果一个RN需要更新某个地址的数据就需要先使其他cache副本全部无效掉而SF完整的记录了所有拥有cache副本的RN信息HNF就可以通过查询SF来对拥有该cache的RN发送invalidate snoop使其无效。作为对比如果HNF中没有SF那么要想做到“write invalidate”就需要广播snoop给所有的RN以保证cache一致性不出错。很明显这样做的缺点就是mesh网络上的snoop风暴进而造成系统延迟较大。所以HNF中的SF需要重点考虑。Snoop Filter有不同的架构设计每种架构在准确性、面积、复杂性和可扩展性方面都有不同的权衡Bloom filter‑based snoop filters基于布隆过滤器的SF使用概率数据结构来判断缓存行是否存在于缓存中。它们空间利用率极高并能减少广播窥探操作。然而它们可能会产生误报从而触发不必要的Snoop操作。Tagged snoop filters带标签的SF维护着一个标签目录其中包含存储在每个 PE 本地缓存中的所有缓存行。由于它们显式地跟踪缓存行的存在性和一致性状态因此能够提供很高的准确性。但它们较为简单的结构限制了其在超大型多核系统中的可扩展性。Selective snoop filters选择性窥探过滤器会根据启发式规则、访问历史或预测的数据位置动态地决定是广播还是定向窥探。虽然功能强大但由于其自适应特性实现起来可能既复杂又昂贵。Directory-based snoop filters基于目录的SF基于目录的窥探过滤器维护一个目录该目录记录哪些缓存保存了特定的数据行及其一致性状态。当处理单元 (PE) 访问内存位置时该目录会识别出必须更新或失效的确切缓存。这种方法在大型、一致性多处理器系统中能够高效扩展并有助于显著减少窥探流量。Hybrid snoop filters混合式监听过滤器结合了多种过滤策略以平衡准确性、流量减少和空间成本。它们通常用于工作负载特性明确的特定领域架构中。我们这里采用基于目录的SF架构设计方案。前面说到SF需要记录拥有cache副本的所有RN。所以可以推断出SF的一些基本元素地址与cache对应系统架构确定支持的地址位宽rn_vec每个RN/PE对应1bit置位则表示该RN拥有这个cache副本状态该cache的状态常用的是MESI / MOESI基本元素确定了我们就要考虑如何更好地查询SF信息。这里需要提前了解一下cache的基本知识。可以自行查阅资料这里贴一个Cache 的映射方式与写策略 。我们这里直接使用结论使用组相连映射的cache结构。简单来说将地址addr分为两部分一部分为index一部分为tag。一个index可以对应8个way即这8个way为1组。假设总线支持32位地址那么[5:0]为cache内部地址对应8byte。可以[15:6]为index那么就是1K个set然后这里选择支持8路组相连结构。那么SF追踪的cache大小就是8K条cacheline。那么怎么查询呢通过index就可以读到全部8路sf信息再通过tag比较就可以找到真正的SF记录。如何写入呢就需要确定上文提到的几项基本元素的值这个就复杂了涉及到协议处理不是几句话说得清楚这里就不做讨论。扩展思考1. 当系统中RN数量显著提升那么记录的rn_vec也将显著变大如何更加高效的记录2. SF RAM较大如果直接读写或许不能很好的满足时序要求如何设计才能更好的满足后端要求3. SF满了如何处理需要踢出、替换选用哪种替换算法​更多内容专利US 8.255,638 B2--Snoop filter for flitering snoop requests
RELATED

相关推荐

GD32H759+RT-Thread实现稳定USB CDC ACM实战指南

GD32H759+RT-Thread实现稳定USB CDC ACM实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/9 2:37:13
Quartz.NET 4.x 教程第一课:使用 Quartz 搭建首个调度应用

Quartz.NET 4.x 教程第一课:使用 Quartz 搭建首个调度应用

任务调度后端 【免费下载链接】quartznet Quartz Enterprise Scheduler .NET 项目地址: https://gitcode.com/gh_mirrors/qu/quartznet 点击查看 免费下载 导读 本课是 Quartz.NET 4.x 官方教程的第一课,讲解如何在一个 .NET 托管应用(Gene…

📅 2026/10/9 2:32:13
codex-ppt-skill 安装与配置全指南:从 Codex、OpenClaw 到第三方生图 API 的完整落地

codex-ppt-skill 安装与配置全指南:从 Codex、OpenClaw 到第三方生图 API 的完整落地

AI 技能人工智能 【免费下载链接】codex-ppt-skill GPT-Image-2 PPT Generator Skill for Creating Image-Based PowerPoint Presentations in Codex and Other Skill-Compatible Agents 项目地址: https://gitcode.com/gh_mirrors/co/codex-ppt-skill 点击查看 免费…

📅 2026/10/9 2:32:13
MORE NEWS

更多资讯

📰

ChatGLM大模型微调实战:单卡LoRA从环境配置到部署避坑指南

简介:面向ChatGLM系列大模型微调需求的实践资源包,聚焦AI大模型应用与自然语言处理场景,适合正在学习或落地大模型微调的开发者、算法工程师与科研人员。压缩包内共148个文件,以58个Python脚本、36个Jupyter Notebook为核心&#…

📰

Keras-Transformer中英翻译项目实操:模型原理、环境配置与避坑指南

简介:基于Python的中英机器翻译系统采用Keras-Transformer模型,面向深度学习初学者及毕业设计、课程设计场景,提供一套结构完整、可直接运行的机器翻译项目方案。资源共20个文件,压缩包7.42MB,包含核心Python脚本、Jup…

📰

开源商城前端选型指南:关键维度与避坑实录

先聊一个我这两年越来越坚定的判断:商城系统开发这事儿,选型前端项目比绝大多数人想象中更重要,甚至可以说,它在很大程度上决定了你后续三到六个月的开发状态是“顺风顺水”还是“拆东墙补西墙”。我自己见过太多团队,…

📰

多店铺管理如何用API集成实现自动化订单同步与库存联动

做电商的人都知道,店铺一多,运营就乱。以前我盯两家店的时候,靠Excel还能勉强撑住,商品改个价格两台电脑来回切,订单导出导入反复核对。等店铺数量到了五家以上,这套手工流程基本就崩了——不是某个环节出错…

📰

Spring Bean初始化必知:@PostConstruct原理、应用场景与避坑指南

1. 为什么我建议不要在构造函数里做初始化先说一个常见的场景:Spring Boot项目启动后,需要从数据库加载一批配置数据到内存缓存中,或者需要在应用启动时初始化一个线程池、连接池、加载敏感词库之类的资源。很多初学者会把这段初始化逻辑直接…

📰

微信小程序+PHP校友惠超市管理系统源码深度解析

1. 项目概述1.1 核心需求解析“师大校友惠超市管理系统”这个名字一出来,基本就能猜到它的定位:一个跑在微信小程序里的会员制超市购物平台,核心服务对象是高校校友这个特殊群体。所谓“校友惠”,说白了就是学校背书、校友专享的优…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬