当前位置:主页 > 查看内容

【底层原理】存储数据包的一生(上)

发布时间:2021-06-15 00:00| 位朋友查看

简介:最近认认真真学习了一个叫《Life of a Storage Packet》讲座,借助这个讲座将整个存储的过程理解了下,不放过任何一个有疑问的点。这篇文章算是对讲座的理解和自己收获的总结,同时也为那些对存储系统不够了解又想要了解的初学者,展现一个存储数据包的生命……

最近认认真真学习了一个叫《Life of a Storage Packet》讲座,借助这个讲座将整个存储的过程理解了下,不放过任何一个有疑问的点。这篇文章算是对讲座的理解和自己收获的总结,同时也为那些对存储系统不够了解又想要了解的初学者,展现一个存储数据包的“生命”。这个演讲主要聚焦在“整体的存储”,强调存储系统中各个基本元素的关系,并且尽可能简单、清楚地用一种不同的方式可视化一些存储的概念。

先上一张大图,可以说这篇文章目的就是解释这个图:

整体视角

存储系统从整体的分层一览,包括了主机/应用,存储介质,存储网络。对于存储来说就做了一件事:Here is a bit of data. Hold onto it. Give that same bit back to me when I ask for it.

Application视角

每个系统都有会有很多应用程序运行在CPU上,对于这些Application来说,他们觉得自己有很多很多足够的可用内存。

CPU和MMU

计算机系统中有一个“内存管理单元”(MMU,Memory Management Unit)的概念,MMU负责与DRAM内存直接通信,并且获得一些可用的“页”

多租户:内存被某个进程(比如一个应用)独享,这些内存不能被其他进程重写。

地址:将CPU的物理地址翻译成独有的DRAM地址或者是很多行DRAMs,有了MMU以后,对于每个进程来说,他们就像是一个人独占了所有的内存一样。

访问内存

Application在他需要访问的时候,获取这些内存,在实际进行访问时,会发生如下事情:

1:Application会问操作系统“Hey,我需要一些可用内存”

2:操作系统向MMU说,“能给我一些可以使用内存页不?”

3:MMU把一些可用的内存页给操作系统

4:操作系统把这些可用的内存页给Application。

分配内存

在上图中,获取的那些内存,实际是可以分布在内存中的任何地方的(非连续),MMU在把这些内存给应用的时候会进行初始化操作,当然,当应用不再访问这些内存页的时候,也会MMU也会负责回收这些内存。

加速访问

如果Application对内存的访问,每次都要都要从MMU获取的话,那太慢了,因此有个经验法则是:Always put storage/memory as close to the CPU as possible

可以说在存储中,改善时间的限制是永恒不变的主题,然后访问DRAM的话,需要60-100ns的时间。我们需要更快的访问,甚至达到“0”时间访问。

缓存的魔法

于是在CPU中增加了一些缓存,当然缓存也是分级别的,对于L1缓存大概花费1ns以内,L2缓存大概花费3-6ns,没错,这使得每次访问从60-100ns提升了几十倍!

更多的空间

如果DRAM中也没有足够的空间时,这是你需要更多的持久化存储,比如说磁盘。当然直接去访问磁盘会非常的昂贵,当然这里指的是时间的花费非常昂贵。

在Jeff Dean大神的Software Engineering Advice from Building Large-Scale Distributed Systems给出了数据:L1缓存、L2缓存、主存、硬盘的访问分别是1ns、5ns、100ns、10,000,000ns级别;

举个比较形象的例子:你需要快递送个包裹,快递一个1公里(L1)、5公里(L2)外的包裹,oops,可能马云爸爸保证当日达;快递100公里(DRAM)的包裹,11点前下单,当日达,不能再快了!;快递1000万公里(Disk)的快递,啊亲,你真的需要快递吗?这可是从地球到月球(38.4万公里)十几个来回的距离啊亲。

小结

存储设备和RAM不太一样,不会和CPU直接进行“对话”,而是有一些其他的部分来帮助他们完成对话,我们在下文从存储视角进一步去讲述。


本文转载自网络,原文链接:https://mp.weixin.qq.com/s?src=11×tamp=1516237355&ver=643&signature=vy9uCN7qC-Dqq9rMIp1JYKQ56w-moEV2vybYTr3W-kdv2r9grl9QmwNWTY99Msf6c-aDCRPlg5HYPbUL9dWfzknqaVCo99r-YdSzpyal3dMR5fcEU63onFQgK4iL197
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐