首页 技术 正文
技术 2022年11月21日
0 收藏 674 点赞 3,746 浏览 858 个字

Caching(缓存)在现代的计算机系统中是一项最古老最基本的技术。它存在于计算机各种硬件和软件系统中,比如各种CPU, 存储系统(IBM ESS, EMC Symmetrix…),数据库,Web服务器,中间件等。它的一个重要的作用就是用于弥补不同速度的硬件之间的存取速度的差距,cache可以完全通过硬件实现(算法也是通过硬件实现的),也可以通过在更快硬件上通过软件控制来实现。

EMCSymmetrix之所以如此的昂贵,就是因为在这个系统中,提供了一个640G全相连的高速数据缓存(DRAM缓存),完全用硬件实现,就像一个放大版的CPU一级缓存。

Caching技术对于现代计算机系统之所以如此重要,就是在于,任何一个小的改进都会对整个计算机系统产生巨大的影响。因为cache具备一个特性,用最高的性价比可以实现我们希望得到的系统整体性能。

比如,磁盘和内存相比,磁盘具有大容量的特性,而内存具有高性能,但是对于同等容量,磁盘相比于内存来说非常廉价。这也就是我们不可能把所有磁盘都替换成内存(先不考虑永久存储的特性),即便这样我们可以获得非常高的I/O速度。那么如何解决这两者之间的不匹配?就是利用缓存技术。利用内存介质为磁盘做一层缓存。这样就可以在不多花额外费用的同时,得到速度和容量的平衡。

同样的道理存在于内存和CPU缓存之间。下图是Intel Core i7 5500系列各部件的访问速度:

访问速度

L1 Cache Hit

4 cycles

L2 Cache hit

10 cycles

L3 Cache hit, line unshared

40 cycles

L3 Cache hit, shared line in another core

65 cycles

L3 Cache hit, modified in another core

75 cycles

Remote L3 cache

100~300 cycles

Local RAM

60 ns

Remote RAM

100 ns

从这里我们可以看到缓存对于系统性能的重要性。但是我们要达到理想的性能,还必须提高缓存的命中率,这样缓存才可以最大限度的得到利用。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,360
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,853