《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——2.12 各种高速缓存体系的差异

简介: 前5项影响高速缓存的性能,而且从保持高速缓存一致性的角度来看,除了一项(组大小)之外,其他的项对操作系统都没有直接影响。偶尔必须考虑一下组的大小,这将在3.3.2、4.2.2和4.2.6节中介绍。清单中的最后3项也影响性能,但是它们还影响操作系统。

本节书摘来自异步社区《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》一书中的第2章,第2.12节,作者:【美】Curt Schimmel著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.12 各种高速缓存体系的差异

在当今的计算机系统上可找到的各种高速缓存五花八门。它们最明显的区别体现在如下几个领域:

  • 缓存大小;
  • 行大小;
  • 组大小;
  • 写分配的使用;
  • 替换策略;
  • 通过虚拟还是物理地址来查找;
  • 如何标记行(通过虚拟地址、物理地址还是其他信息);
  • 写直通或者写回策略。

前5项影响高速缓存的性能,而且从保持高速缓存一致性的角度来看,除了一项(组大小)之外,其他的项对操作系统都没有直接影响。偶尔必须考虑一下组的大小,这将在3.3.2、4.2.2和4.2.6节中介绍。清单中的最后3项也影响性能,但是它们还影响操作系统。这几项决定了操作系统为了对其上运行的程序完全隐藏高速缓存的存在而需要显式执行的高速缓存冲洗操作的数量。

下面的几章介绍了四种不同的高速缓存组织结构,而且描述了在什么样的条件下操作系统必须明确执行冲洗操作。所研究的不同高速缓存组织结构在采用虚拟地址还是物理地址来查找和标记行方面会有些变化。在每种情况下还需要考虑写直通和写回高速缓存机制之间的差异。

相关文章
|
6月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
120 6
|
4月前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
388 78
|
6月前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
202 15
Android 系统缓存扫描与清理方法分析
|
8月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
193 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
9月前
|
消息中间件 缓存 算法
基于Netty的自研流系统缓存实现挑战: 内存碎片与OOM困境
基于Netty的自研流系统缓存实现挑战: 内存碎片与OOM困境
95 1
基于Netty的自研流系统缓存实现挑战: 内存碎片与OOM困境
|
8月前
|
缓存 应用服务中间件 nginx
[nginx]proxy_cache缓存系统
[nginx]proxy_cache缓存系统
217 4
|
8月前
|
缓存 架构师 数据库
缓存系统稳定性 - 架构师峰会演讲实录
缓存系统稳定性 - 架构师峰会演讲实录
|
8月前
|
开发框架 Unix Linux
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
114 0
|
10月前
|
缓存 监控 负载均衡
Java一分钟之-Ehcache:分布式缓存系统
【6月更文挑战第17天】**Ehcache是Java的开源缓存库,支持本地和分布式缓存,提供负载均衡、数据复制和容错能力。常见问题包括网络分区导致的数据不一致、缓存雪崩和配置不当引起的性能瓶颈。解决策略涉及选择强一致性策略、设置合理缓存过期时间和监控调整配置。使用Ehcache需添加相关依赖,并配置分布式缓存,如示例所示,通过CacheManager创建和管理缓存。实践中,持续监控和优化配置至关重要。**
246 1
|
9月前
|
消息中间件 缓存 架构师
对抗软件复杂度问题之降低代码的复杂度,如何解决
对抗软件复杂度问题之降低代码的复杂度,如何解决

热门文章

最新文章

下一篇
oss创建bucket