西安三星电子研究所研发经理何兴:新基建下的存储创新
第三想介绍一下ZNS,其实这个技术在SSD方面是一个比较新的技术,但是整体来说它并不是一个很新的技术,在HDD中已经有类似的技术。HDD有叠瓦式的,以前每个TRACK之间会有空隙,如果把空隙利用起来的话对整个密度提升有很大的帮助,所以很多HDD的公司开发了叠瓦式SSD,把中间的gap缩短,每一层叠到一起,这样的话它的存储密度会上升很多,对它来说成本会很有优势。 这样带来一个问题,叠到一起的话下面再写的时候,有可能写这个track对其他track有影响。硬件上的改动会带来软件上的更新,左边是ZNS软件的情况,为了适用这种叠瓦式的HDD,在软件的协议上跟原来相比更新了很多东西,为了专门适应叠瓦式的HDD,做了很多的改进。 现在SSD其实也是继承了这个方案,也是有类似的解决方案,就是Zoned namespace,所有数据只能顺序写下去,不能随机写。很多随机写的话比如传统SSD要做垃圾回收的时候,你需要把一个Block里面有效数据的页拷贝到另外一个新的Block里面,这样带来很多写放大的问题,要先拷、再擦。如果顺序写的话直接擦掉就可以,写放大就可以减少非常多。 另外OP也会减少,如果你使用Zoned namespace方式的话,全是顺序写的话只存一些很简单的信息就可以了。OP减少,意味着用户可用的容量增大,从成本来说对客户比较好。 这个技术其实现在NVMe有一个工作组正在讨论,也许在下一个版本,我们就能看到类似的信息。我们也希望如果有客户或者业界同仁对类似的解决方案感兴趣,可以一起讨论。 MultiTenants 最后一个我想介绍Multi Tenants的技术,为什么会有这个技术?它的背景就是现在很多企业、公司都在提业务要上云。支撑云计算的一个非常重要的技术就是虚拟化的技术。大家可以看到从左到右是发展的趋势,原来一个服务器比如说CPU、内存还有存储设备,只是给一个应用来用,比如只有一个A。后面有一些虚拟化的技术发展,我可以再提供给上层用户,提供很多虚拟化的东西,一个服务器可以给多个应用来用,安装虚拟化软件以后可以装不同的VM,上面跑不同的应用。从用户的视角来说我觉得其实这就是三个机器,其实底层硬件是完全一样的,中间只是拿虚拟化的技术做区分。后面还有很多的技术,每一个服务器或者每一个存储设备共享的用户越来越多,这是未来发展的趋势。 SSD这个东西它容量每一年基本都会翻倍,后面SSD的容量会越来越大,所以以前SSD容量比较少的时候,给一个应用用的话,不存在什么浪费的情况。后面SSD会越来越大,如果只有一个应用访问它的话,就会带来很多的问题。所以基于虚拟化还有SSD的发展趋势来看,未来这种很多用户去访问一块SSD的这种场景会越来越多。 基于虚拟化的技术可以支持更多的应用,但是其实也会带来很多问题,比如说有一些应用是写密集型的,有一些是读密集型的,在SSD内部我并不知道主机端是什么应用,只是全部处理就可以了。这样带来的问题是有一些应用跟其他应用,比如一个写密集的跟读密集的就会产生干扰,像右边的图一样,它是非常吵的邻居这样的概念。比如说我本来只是想读一个东西,读的延迟很少。因为前面另外一个住户一直写,就会把我阻塞掉,很简单的请求会过很长时间才可以返回来,这样的话我的用户体验就会非常差,这也是我们希望极力避免的东西。另外就是比如说我这个应用都是顺序写的,但是其他的应用总是在随机写,顺序写的话本来一些写放大还有垃圾回收应该非常小,但是因为另外有一个用户随机写,会造成整个系统写放大、垃圾回收的动作非常多,系统的性能就会下降非常明显。 所以多用户场景非常好,但是怎么解决每一个用户之间的互相干扰是一个非常重要的问题。 我们也是有一些解决方案,我会依次介绍。第一是IOD解决方案,这也是最新加进去的一个标准,像刚才这种有读有写的请求,但是下来以后部打乱了,比如说都是写下去,读就得在这等着,他写完以后才能读,这样延迟会非常高。IOD的技术是把SSD内部做一个物理隔离,写的请求和读的请求所用的资源都是独立的,互不干扰,整个延迟、性能都会比原来的解决方案要好。 IOD有两个比较重要的技术,第一个技术叫NVMSet,NVM Set的概念实现出来的话其实是物理的隔离,也就是说我每个Set有自己独立的CPU资源,大家互不干扰就非常好。 第二个是PLM的功能,它的意思是说,大家可以看到底下有绿的、红的,绿框就是说我在这个窗口期只去读,我肯定很快,因为没有写。但是我有一些其他的,比如说写操作、垃圾回收,把它放到这个红框里面集中进行,集中进行以后再切换到绿框,这样的话总能保证在一段时间内应用、返回会非常快,其实也就是通过时间窗的技术,把读、写进行分离,来提升它的性能。 最后我想介绍一下跟多用户相关的就是叫SR-IOV跟MPF的技术。 SR-IOV在网络方面也有类似的技术,这个技术其实非常有用,它的原理是刚才说的虚拟化场景,比如现在很多云计算的公司,他们在上层有很多虚拟机,比如说VM1一直到VM4,但是底层硬件是一样的,所以怎么能让用户觉得我在使用不同的机器,其实就是通过虚拟化的技术。 虚拟化的技术一个非常重要的软件就是虚拟化的管理的软件,这个软件很好,它可以让上层的应用觉得我只是在使用我自己专门的机器,跟其他人没有关系。但是为了达到这个效果,它有一些弊端,也就是说它虚拟化管理的这个开销也会比较大,可能原来比如我有100个资源,完全可以分给每一个用户25个,但是虚拟化管理软件要消耗一些资源,给每个分配的资源就是20个,虚拟化的开销就会比较大。业界有很多公司在做尝试,让上层虚拟化硬件可以直接访问底层的资源,像刚才100个资源也许就能做到每一个24个或者25个,把虚拟化开销减得非常少。国内有非常大的云计算公司也有类似的技术,SR-IOV就是跟类似的技术做结合,我直接跳过虚拟化管理软件那层,整体的性能都会提升很多。 我们还开发了一种MPF的技术,传统SR-IOV 里面只有一个PF,其他都是VF。它在功能上面拥有的SSD资源方面不是独立的,很多情况下它是共享的,这样会对它的性能造成一些影响,我们做了一个改进,现在不用VF,全部用PF,每一个PF都有独立的资源,比如说内存这些东西,用应用直接访问PF,比SR-IOV的性能更好。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |