《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——2.7 n路组相联高速缓存的总结

简介: 正如现在所看到的那样,从直接映射到全相联的所有高速缓存组织结构都遵循着相同的组成原则:每一种组织结构都有一种用于选择搜索行的算法,每一种组织结构都有一种替换算法,每一种组织结构都可以使用写直通或者写回策略,而主要的区别则在于每一组内行数的不同。

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

2.7 n路组相联高速缓存的总结

正如现在所看到的那样,从直接映射到全相联的所有高速缓存组织结构都遵循着相同的组成原则:每一种组织结构都有一种用于选择搜索行的算法,每一种组织结构都有一种替换算法,每一种组织结构都可以使用写直通或者写回策略,而主要的区别则在于每一组内行数的不同。在各种组成结构的一端是直接映射高速缓存,它每组只有一行。对于这种类型的高速缓存来说,以散列算法得到相同索引的所有地址必须在高速缓存中竞争一个可以保存它们的位置。直接映射高速缓存的替换策略相当简单,因为唯一的候选替换行就是散列算法索引的那一行。在各种组成结构的另一端是全相联高速缓存,它只有包括高速缓存内所有行的一个组。这种类型的高速缓存不需要散列计算,因为在每次查找操作期间都必须检查所有的行。在组比较大的高速缓存中使用LRU替换并不实用,这让随机替换成为常见的方法。

随着组的大小从单路组相联或直接映射高速缓存到全相联高速缓存逐渐增大,目标是减少多个地址散列到相同组时出现的高速缓存颠簸现象。增加组的大小可以使那些其地址产生相同索引的更多数据同时保存到高速缓存中。于是,增加组的大小有可能提高命中率和系统性能。组变大的缺点是增加了硬件成本和复杂性,因为必须并行比较被索引组内所有行的标记。实际情况是,除了最小的高速缓存之外,对所有的高速缓存来说,都要避免使用组太大的高速缓存。

相关文章
|
11月前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
112 0
|
缓存 Java 数据库连接
「Java面试」五年Java程序员去某东面试竟然在MyBatis缓存这翻车
一个5年工作经验的小伙伴,去面某东被问到MyBatis何时使用一级缓存,何时使用二级缓存?去之前还特地复习了MyBatis的相关知识,想着自己用MyBatis用得比较熟练了,竟然在这道题上翻车了。 今天,我给大家来分享一下MyBatis的缓存机制。
107 0
|
8月前
|
开发框架 Unix Linux
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
112 0
|
11月前
|
Oracle 关系型数据库 Unix
SAP系统拷贝 UNIX + Oracle
SAP系统拷贝 UNIX + Oracle
77 1
|
11月前
|
Unix Linux Shell
在Unix/Linux系统中,文件和目录的权限管理
在Unix/Linux系统中,文件和目录的权限管理
130 3
|
消息中间件 缓存 NoSQL
程序员快来学习缓存层场景实战数据收集—技术选型思路及整体方案
根据以上业务场景,项目组提炼出了6点业务需求,并针对业务需求梳理了技术选型相关思路。 1)原始数据海量:对于这一点,初步考虑使用HBase进行持久化。 2)对于埋点记录的请求响应要快:埋点记录服务会把原始埋点记录存放在一个缓存层,以此保证响应快速。关于这一点有多个缓存方案,稍后展开讨论。 3)可通过后台查询原始数据:如果直接使用HBase作为查询引擎,查询速度太慢,所以还需要使用Elasticsearch来保存查询页面上作为查询条件的字段和活动ID。
|
存储 缓存
直接映射缓存,全相联映射缓存,组相连映射与tag,index,offset的理解
直接映射缓存,全相联映射缓存,组相连映射与tag,index,offset的理解
792 0
|
缓存 安全 关系型数据库
6 PostgreSQL 连接池,本地高速缓存,异地高速缓存|学习笔记
快速学习6 PostgreSQL 连接池,本地高速缓存,异地高速缓存
6 PostgreSQL 连接池,本地高速缓存,异地高速缓存|学习笔记
|
存储 缓存 Unix
程序员必知的缓存套图
程序员必知的缓存套图
程序员必知的缓存套图
|
Unix Linux Android开发
1.4 类UNIX系统是什么鬼?
上节《UNIX和linux的区别》中讲到了 UNIX 系统的历史,UNIX 是操作系统的开山鼻祖,是操作系统的发源地,后来的 Windows 和 Linux 都参考了 UNIX。
968 0
1.4 类UNIX系统是什么鬼?

热门文章

最新文章