先牢骚一下,批判一下自己先,很多时候做东东,只是听老大说这样去做,然而并没有去深究其背后的意义,很多时候解决了问题,然后并没有去深入挖掘问题发生的原因。而后面的过程,是更可贵的,往往收获也更大。
这段时间做的模块,是系统内部中间的中间存储层,是cache的角色。从分布式存储系统上来说,应该是属于,业务数据累的cache存储。
最近都争取工作在工作时间完成,然后回来总结。
好了废话多了,开始正题了。
一般的存储系统层次,按照众所周知的层次划分可以分为以下几层:
级别 存储名称 访问开销
L0 cpu --------------------------- 几个cpu周期内
L1 内存----------------------------几十个到几百个cpu周期
L2 磁盘----------------------------磁盘平均寻道时间+磁盘旋转平均时间 约是12ms,约是内存访问耗时的10万倍
L3 网络存储-----------------------看具体带宽和网络拓扑结构 + 远程机器访问开销(L0 ~L3的一种)
这里 L3 还可以细分为
L3.1 同一IDC内核心内的网络存储
L3.2 内网(跨IDC)的网络存储
L3.3 外网的网络存储
显而易见地,越上层的访问开销越低,容量也越少,越下层的开销越大,容量也越少,层与层之间的开销。
知道了上面的一些基本数据,如何规划,设计存储模型,按照啥原则涅?(傻瓜也知道把东西往上提),但现实不是这么理想的啊。
有个很好的原则叫“locality” 局部性。可以从《深入理解计算机系统》第六章找到相关的内容。
局部性有 时间局部性 和 空间局部性。这两个原则在现成的许多系统中都可见一斑。
如时间局部性,指的是一个数据被引用过,那么在一定的时间范围内,能被多次引用。memcached等n多cache都是这么整的,glibc的内存块cache啊,包括linux的inode-cache等。
又说空间局部性,指的是一个数据被引用过,那么一定相邻范围内的数据,能在未来被引用。文件预读等就是这个思想。
这两种局部性又是相辅相成的。
按照这个局部性原则,规划好数据和存储模型,让大部分的请求落在层级高的存储级别上,就是 最高的指导思想。
我又务虚了T_T
分享到:
相关推荐
这两种局部性是现代计算机设计层次化存储系统的重要原因,它们决定了数据在存储系统中的布局和数据传输的效率。 2. 层次化存储系统:文章概述了层次化存储系统的基本结构,它从上至下由寄存器、缓存、内存到外...
它基于局部性原理,即程序执行时倾向于在一段时间内重复访问同一块内存区域。理解替换策略(如LRU、LFU)和写策略(如写直达、写回)是学习Cache的关键。 3. **主存类型**:主存分为DRAM(动态随机访问存储器)和...
高速缓存的工作基于局部性原理,即程序倾向于在短时间内反复访问同一块内存区域。缓存的策略包括直接映射、全相联映射和组关联映射,每种映射方式都有其优缺点,需要根据实际情况选择。 主存储器,或称为主存,是...
在IT领域,层次存储模拟器是一种重要的工具,用于理解和研究计算机系统的存储结构。"VC动态实现 层次存储模拟器"是指使用Visual C++(VC)编程语言来动态地构建一个能够模拟多级存储体系的程序。这个项目涉及到的...
文章《对数据结构空间局部性的存储保真度的研究(III)》基于之前的两篇研究,对树数据结构在主存中的四种存储方式对树的空间局部性的影响进行了量化分析,并提出了最佳存储策略,获得了优化编译的有效结果。...
综上所述,存储系统的层次设计是为了解决速度与容量之间的矛盾,通过合理利用不同层次的存储设备,以最优的方式支持计算机系统的高效运行。Cache的设计和管理是优化存储系统性能的关键,而地址映像和地址变换则是...
其具有如此神奇作用的原因则是程序的局部性原理——包括空间的局部性和时间的局部性。 在本次提升实验之中,也遵循这样的设计原则。即“Cache-主存”这一层次对程序员来说是完全透明的,程序员直接给地址访问主存,...
Cache的目的是通过减少访问较慢主存的次数来加速数据访问,它根据局部性原理工作,即一旦数据被访问,接下来的一段时间内很可能还会再次被访问。Cache的设计包括缓存块(Line)、替换策略(如LRU、FIFO等)以及地址...
第六章层次结构存储系统主要探讨了现代计算机系统中存储器的组织和工作原理,特别是针对CPU与存储器的交互、存储器层次结构、高速缓存(Cache)和虚拟存储器等核心概念。这一章分为六个部分,分别从存储器概述、主存...
同时,存储系统的设计也需要考虑程序的局部性和存储层次结构等因素。 9. 存储系统的优化:存储系统的优化需要通过多种技术和方法来实现,如使用Cache、虚拟存储器、并行主存系统等。同时,存储系统的优化也需要考虑...
优化存储系统的关键在于提高命中率,充分利用局部性原理,确保常用信息存储在高速存储器中。 总结来说,存储系统的设计和优化是计算机系统性能的关键。通过构建层次结构,利用并行技术和虚拟存储,以及高速缓存,...
计算机系统结构中的存储系统是计算机硬件的重要组成部分,其主要任务是存储计算机运行所需的各种程序和数据。...在实际应用中,还需要考虑程序的局部性原则,优化数据分布和访问模式,以最大程度地提高存储系统的性能。
多级存储体系是现代计算机系统设计的核心概念之一,它通过不同层次的存储器来解决存储器设计中的容量、速度和价格之间的矛盾。在这一存储体系中,通常由高速缓冲存储器(Cache)、主存储器(主存)和辅助存储器(如...
- 多体并行交叉访问存储器:通过分时启动和交叉访问技术,减少冲突,提高存储带宽,但可能因为程序局部性原理而效率降低。 存储带宽(Bandwidth)是衡量存储系统性能的关键指标,表示单位时间内能访问的数据量。...
试验和研究已经表明,不同的优化因子(如数据局部性、内存带宽利用率等)对优化效率有着显著影响。通过调整这些因子,可以进一步提升GPU异构系统的性能。 综上所述,GPU异构系统通过优化存储层次和采用负载均衡策略...
该系统通过多级调度减少片外访存次数,降低对片外带宽的需求,通过软件模拟和仿真验证,表明在不同工作负载下,设计能够充分利用存储访问的行局部性和体间并行性,提高带宽使用效率。 【关键词】分片式流处理器,...
层次存储器设计的依据是程序局部性原理。 在层次存储中,靠近 CPU 的存储器中的数据一般都是其下一层存储器中数据的子集。CPU 访存时的基本原则:有近及远,首先是访问 M1 ,若在 M1 中找不到所要的数据,就要访问 ...
本章节系统地介绍了计算机存储器层次结构的基本概念和技术,包括存储技术及其趋势、局部性、存储器层次结构中的高速缓存、随机访问存储器(RAM)、非易失性存储器、连接CPU和存储器的典型总线结构、存储器读写事务等...
10. 开发空间局部性和时间局部性的策略:利用更大的缓冲块并在存储器控制逻辑中加入预处理机制,以及利用在高速缓冲存储器中保留最近使用的指令及数据,并定义缓冲存储的优先级。 操作系统概述: 1. 操作系统设计...